私の会社の Web サイトでは PostgreSQL データベースを使用しています。私たちのデータセンターには、マスター DB といくつかの読み取り専用スレーブ DB があり、それらの間の継続的なレプリケーションに Londiste を使用しています。
レポート用に別の読み取り専用スレーブ DB をセットアップしたいと考えており、このスレーブをリモート ロケーション (データ センターの外) に置きたいと考えています。このスレーブは 100% 最新である必要はありません。24時間以内であれば問題ありません。また、マスター DB にかかる負荷を最小限に抑えたいと考えています。私たちのマスター DB は日中はビジーで、夜はアイドル状態であるため、(可能であれば) レポート スレーブを毎晩 1 回キャッチアップすることをお勧めします。
http://www.postgresql.org/docs/8.4/static/continuous-archiving.htmlで説明されているように、これにログ配布を使用することを考えてい ます
私の計画は次のとおりです。
- マスター DB に WAL アーカイブをセットアップする
- 完全な DB スナップショットを作成し、リモートの場所にコピーします
- DBを復元して追いつく
- 次の場合に定常状態に入ります。
- DAYTIME -- DB は遅れていますが、人々はクエリを実行できます
- 夜 -- 1 日分の WAL ファイルをコピーして、DB を追い上げます
注: ここで重要なのは、完全な DB スナップショットを 1 回だけコピーする必要があるということです。その後、リモート スレーブを再び追いつくために、1 日分の WAL ファイルをコピーするだけで済みます。
ログ配布を行ったことがないので、フィードバックやアドバイスをお願いします。
これは機能しますか?PostgreSQL はこの種の繰り返し復旧をサポートしていますか?
リモートのセミフレッシュ読み取り専用スレーブをセットアップする方法について、他に提案はありますか?
ありがとう!
--S