web-dev-qa-db-ja.com

ホットスタンバイとウォームスタンバイの違い

Postgresのwikiページで言及されているデータベース複製方法の違いについて混乱しています。これは通常の状況に最適です。

  1. ウォームスタンバイ/継続的なアーカイブ/ログ配布

    高可用性を提供

    http://www.postgresql.org/docs/current/static/warm-standby.html

  2. ホットスタンバイ/バイナリレプリケーション/ストリーミングレプリケーション

    読み取り専用クエリに使用

    https://wiki.postgresql.org/wiki/Hot_Standby

    https://wiki.postgresql.org/wiki/Binary_Replication_Tutorial

  3. PITR

3
dorbodwolf

それらの単語はしばしば誤解され、同じバージョンのPostgreSQLに到着したため、概念が混同されることがよくあります。

  • ウォームスタンバイは、読み取り専用のSQLステートメントに対して開かれていない単なるレプリカです。
  • 反対に、ホットスタンバイは読み取り専用のSQLステートメントに対して開かれているレプリカです。
  • その前は、「コールドスタンバイ」がありました。これは単に復元されたバックアップであり、プライマリノードがダウンした場合に開始する準備ができていました。
  • ログ配布は、WAL(ログの書き込み)をレプリカに送信して、プライマリノードで発生したトランザクションを再生できるようにするために使用される古い技術です。プライマリノードが書き込みを行わなくなったときにファイルが送信されるため、プライマリとセカンダリのラグは、プライマリが別のファイルを必要とする速度に依存します(ただし、x分後に新しいファイルが必要であることを指定できます)。
  • ストリーミングレプリケーションは、WALファイルがプライマリによって閉じられるのを待たずに、変更されたデータブロックを送信できるようにするアップグレードされた技術です。そのブロックがWALファイルに書き込まれるとすぐに送信されます。したがって、プライマリノードとセカンダリノードの間のラグを減らすことができます。
  • 継続的アーカイブは、Postgresが不要になったWALファイルをアーカイブできるようにするものです。
  • バイナリレプリケーションは、物理レプリケーション(ウォームスタンバイとホットスタンバイ)の同義語です。単に、両方のノードがバイナリ同一であることを意味します。

これが役に立てば幸いです!

5
Arkhena

私の環境で継続的なアーカイブを使用してストリーミングレプリケーションを構成しました。

  1. ストリーミングレプリケーションは、より最新のスタンバイ/レプリカを提供します。本番システムがクラッシュした場合、本番システムからDR viにデータをストリーミングするために失われるデータが非常に少なくなりますTCPプロトコル。

  2. 継続的なアーカイブは、ポイントインタイムのリカバリを提供します。また、ネットワーク障害によるアーカイブの遅延が発生した場合に、スタンバイデータベースをリカバリするのに役立ちます。

詳細については、リンクを参照してください。

https://www.percona.com/blog/2018/09/07/setting-up-streaming-replication-postgresql/

1
Adam Mulla