論理的レプリケーションは、Lakebaseデータベースと別のPostgresデータベース間で行レベルの変更をストリーミングするネイティブのPostgresレプリケーションです。 Lakebaseは外部パブリッシャーから変更を受け取るサブスクライバーとして機能することも、外部サブスクライバーに変更を送信するパブリッシャーとして機能します。
論理レプリケーションを使って既存のPostgresデータベースをLakebaseに移行したり、異なる地域のLakebaseデータベース間でレプリケートしたり、Lakebaseから外部のPostgresデータベースへ変更をストリーミングしたりできます。
概要
まずは外部のPostgresデータベースをLakebaseに複製します。 ガイドはソースの準備、Lakebaseからの購読、変更の確認などを順に説明します。 「 データをLakebaseに複製する」を参照してください。
ユースケース例
| 利用シーン | それが何をするか | ガイド |
|---|---|---|
| PostgresデータベースをLakebaseに移行する | Lakebaseは外部のPostgresパブリッシャーをサブスクライブし、そのデータをコピーしてからユーザーが切り替えるまで最新を維持します。 | Lakebaseへのデータ複製 |
| 異なるリージョンのLakebaseデータベース間で複製する | 例えば、地域横断の読み取りや災害復旧のために、別のリージョンのLakebaseデータベースを同期させておくこと。 | Lakebaseからデータを複製する |
| 外部Postgresに変更をストリーミングする | Lakebaseは外部のPostgresサブスクライバーに変更を公開します。 | Lakebaseからデータを複製する |
論理的複製の仕組み
パブリッシャーは、その変更を送信するテーブルの集合である publication を定義します。 購読者はパブリッシャーに接続するサブスクリプションを作成し、既存のデータをコピーし、挿入、更新、削除が発生するたびにそれぞれを適用します。 どのデータベースがどのデータベースに接続するかによって、ネットワークの方向が決まります:
論理的複製およびその他のデータ移動手法
論理レプリケーションはPostgresのデータベース間でデータを移動します。 代わりに、Postgresの変更をレイクハウスに移すには、Unityカタログ管理のDeltaテーブルに変更を書き込むLakebase Change Data Feedを使いましょう。 Lakebase との間でデータを移動する方法の完全な比較については、Lakebase との間でデータを移動するをご覧ください。
Limitations
- 論理レプリケーションはAWSとAzureで利用可能です。
- 論理的複製はパブリックネットワーク上で動作します。 Private Linkはどちらの方向でもサポートされていません。 加入者の接続はアカウントネットワークポリシーの許可されたインターネット宛先によって制御され、パブリッシャー接続はワークスペースのIPアクセスリストによって制御されます。
- 同じリージョン内のLakebaseデータベース間のレプリケーションはサポートされていません。 同じ地域のLakebaseデータベース間でサブスクリプションを行っても接続されません。 異なる地域のLakebaseデータベース間のレプリケーションもサポートされています。
- レプリケーションはリードレプリカではなく、プライマリコンピュートで動作します。
- 論理的レプリケーションはスキーマではなく、データをコピーします。 レプリケーションを始める前にターゲットテーブルを作成してください。 その後のスキーマ変更はレプリケートされません。
- 外部テーブルは複製されません。
次のステップ
- Lakebaseへの移行: 既存のPostgresデータベースをLakebaseに複製します。 「 データをLakebaseに複製する」を参照してください。
- 方法を比較する:Lakebaseへのデータの出入りに適切な方法を選択してください。 「Lakebase へのデータの出入り」を参照してください。