サーバモード限定。非常に簡素だがクラスタリングをサポートしている。組込みモードは対象外。
- サーバは2台固定。
- 参照系クエリは1番目ノードに、それ以外のクエリは両方のノードに対して実行される。結果が不定なランダム関数はノード毎に違う値が発生するので注意が必要。
ノード1が停止してもノード2が生きていれば使い続けられるが、その後ノード1が復活したとしてもノード2へ向いた接続はそのままなので、次にノード2が停止すると接続が切れてしまう。
正→副への切り替えは自動で行われるが、副→正への切り替えは出来ない。再接続しなくてはならない。
乱数のようなサーバによって結果が変わるような関数は、INSERTやUPDATEに使用するとデータに差が生じてしまう。シーケンス値のオートインクリメントやID列も同様の理由で使用してはいけない。手動でシーケンス値を要求して、その値を持って更新を行う必要がある。
正直、制約が多くて不便。微妙な感じです。
Clustering / High Availability
http://h2database.com/html/advanced.html#clustering
This database supports a simple clustering / high availability mechanism.
クラスタの検出SQL
SELECT VALUE FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME='CLUSTER'