Symfoware Serverの順序保証指定の機能について

CREATE SEQUENCE文で指定する「順序保障指定」(ORDER)にはどのような意味がありますか?
ロードシェア運用の場合、各ノードでそれぞれ順序を採番すると、他ノードでキャッシュされた順序番号の分だけ順序が飛ぶことがあります。これを防ぐために、ORDERを指定します。ORDERの指定は、ロードシェア運用の場合に意味を持ちます。

順序を使用する際、あらかじめ一定量の順序が採番され、キャッシュされます。アプリケーションが順序を使用すると、キャッシュされていた値が使用されます。
ロードシェア運用ではノードが複数あり、それぞれのノードで順序がキャッシュされます。例えば、ノードAが1から10までの順序をキャッシュし、ノードBが11から20までの順序をキャッシュする、という具合です。
この状態でノードAが順序を取り出すと最初に1という順序番号が得られます。次にノードBで順序を取り出すと、得られる順序番号は2ではなく11です。さらにその後にノードAが順序を取り出すと、2という順序番号が得られます。
このように、ロードシェア運用では、ノードごとにキャッシュされた順序がそれぞれのノードで使用されるため、全体で見ると順序番号が飛んでいることになります。
この現象を防ぐには、CREATE SEQUENCE文で「順序保障指定」(ORDER)を指定します。ORDERを指定することで、各ノードで順序を採番しても、システム全体で採番した順番で順序番号が得られます。
前述の例では、ノードAで順序を取り出すと1という値が得られ、次にノードBで順序を取り出すと2という値が得られます。その後にノードAで順序を取り出すと3という値が得られます。

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ