| ライセンス |
PostgreSQLと同じBSDライセンスです. |
| 主な機能 |
負荷分散 |
マルチマスタの同期レプリケーションなので,どのクラスタサーバを参照しても同じ値を得ることができます.参照系の負荷分散に適しています. |
| 更新系の負荷が高い場合,部分レプリケーション機能でDBを分散化できます. |
| 障害対応 |
クラスタサーバは3台以上設定することができます.クラスタサーバに障害が発生した場合,ロードバランサとレプリケーションサーバから障害機を切り離し,他のクラスタサーバでサービスを継続します. |
| レプリケーションサーバは複数設定することができます.レプリケーションサーバに障害が発生した場合,クラスタサーバは接続を待機系のレプリケーションサーバに自動的に切り替えます. |
| レプリケーションサーバが全て止まった場合,クラスタサーバはスタンドアロンモードで動作します.スタンドアロンモードには参照のみ許可する(read
only)モードと更新を許可する(read write)モードを選択できます. |
| ロードバランサは複数設置することができます.ただし,ロードバランサ自体の障害検知や切り替えの機能は持っていません. |
|
DBの復旧
新規追加
|
クラスタサーバにリカバリーオプションを付けて起動すると,マスタDBとデータの同期をとった後,レプリケーションシステムに復帰します.クラスタサーバが3台以上あれば,リカバリー中もサービスを停止することなくクエリーを処理することができます. |
| レプリケーション |
クエリーベース |
レプリケーションはクエリーベースで行っています. |
| COPY |
COPY (FROM)コマンドによるデータの読み込みもレプリケーションします.これによりpg_dumpでとったバックアップファイルのリストアもレプリケーションできます. |
| NOW( ) |
クエリーにNOW関数が含まれている場合,テーブルのデフォルト値を'NOW'にしている場合など,NOW関数によって現在時刻データを書き込む場合,現在時刻の値もレプリケーションします.レプリケーションされる現在時刻はレプリケーションサーバの時刻です. |
NEXTVAL( )
SETVAL( ) |
シーケンス操作関数(nextval,setval)をレプリケーションします. |
| シリアル型 |
INSERT処理の順を,各クラスタサーバで同じになるように制御していますので,シリアル型のデータも同期がとられます. |
| ストアドプロシジャ |
データ更新を伴うストアドプロシジャについてはレプリケーションします. |