PostgreSQL の継続的アーカイブとポイント イン タイム リカバリは、バックアップと復元がはるかに複雑なようです。SQL ダンプ方式を使用するよりも、どのような利点がありますか? 私の環境は Windows Server 2008 です。
3 に答える
大規模なデータベース(数百GBまたは数TB)の場合、ダンプにはかなりの時間がかかる可能性があります。また、バックアップの作成中にサーバーの速度が低下するため、アプリケーションのパフォーマンスに影響します。
たとえば停電が発生した場合に失われる可能性のあるデータ量は、ダンプよりもPITRバックアップの方がはるかに少なくなります(実際のデータベースでは絶対に不可能な、約1分ごとにダンプを取得する場合を除く)。
毎週または 2 週間ごとに取得するデータベースのスナップショットに問題がなく、サーバーが停止した場合に最後の pg_dump 以降のアクティビティが失われることを気にしない場合は、pg_dump が妥当なソリューションです。クラッシュで失われる最大のデータが数分または数秒の情報に到達したい場合は、PITR ログ配布のようなリアルタイムのものを使用する必要があります。これにより、バックアップが最新の状態に保たれるだけでなく、そのバックアップ サーバーが失敗した場合にマスターを置き換えるために、はるかに迅速にバックアップ サーバーを立ち上げることができます。データベースが大きい場合、pg_dump ファイルからデータベースをリロードするのに数日かかる場合がありますが、ウォーム スタンバイを使用して PostgreSQL を構成し、バックアップへの切り替えをほぼ瞬時に行うことができます。
私には2つの主な利点があります。
- 継続的なアーカイブでは、DBの復元は、通常のダンプの場合ほど長くはありません。大きなデータベース(たとえば、50GB)を使用すると、復元に数時間かかることが予想されます。
- 何かのために必要な場合(つまり、読み取り専用クエリ)に備えて、データベースのUPDATED-AT-ALL-TIMESインスタンスを作成できます。