本文へスキップ

論理レプリケーションとは?

ろんりれぷりけーしょん

論理レプリケーションとは、データベースの変更をSQL操作の論理的な内容として伝達し、異なるバージョンや異なるDBMSにもデータを同期できる方式です。

論理レプリケーション(Logical Replication)とは、データベースの変更を「どの行が挿入・更新・削除されたか」という論理的な操作内容として記録・転送し、別のサーバーに適用する複製方式です。バイナリ形式で物理的なディスクブロックの差分を転送する物理レプリケーションと対比されます。

論理レプリケーションの主な特徴は次の通りです。

  • 柔軟な選択:特定のテーブルや特定の操作だけを複製対象にできる
  • バージョン間の互換性:プライマリとレプリカでDBMSのメジャーバージョンが異なっていても動作可能なケースがある
  • 異種DB間の同期:論理的な行データを変換すれば、異なるDBMS間でのデータ連携にも応用できる
  • ゼロダウンタイムのバージョンアップ:新バージョンのサーバーを論理レプリカとして稼働させ、切り替えに活用できる

PostgreSQLでは標準機能として提供されており、パブリッシャーとサブスクライバーの関係で設定します。MySQLのバイナリログベースのレプリケーションも論理レプリケーションの一形態です。

物理レプリケーションと比べて、論理レプリケーションは処理のオーバーヘッドがやや大きく、DDL(スキーマ変更)の自動複製に制限があることもあります。用途に応じて使い分けることが重要です。

使い方・例文

PostgreSQLのメジャーバージョンアップを無停止で行う際に、新バージョンのサーバーを論理レプリカとして準備し、データが追いついたタイミングでアプリケーションの接続先を切り替えるという手法が広く使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語