逻辑复制

逻辑复制是 Postgres 原生复制,可在 Lakebase 数据库与另一个 Postgres 数据库之间流式传输行级变更。 Lakebase 可以作为订阅者接收外部发布者的变更,也可以作为发布者向外部订阅者发送变更。

使用逻辑复制将现有的 Postgres 数据库迁移到 Lakebase,在不同区域的 Lakebase 数据库之间复制,或将变更从 Lakebase 流式传输到外部 Postgres 数据库。

开始

开始时,将外部的 Postgres 数据库复制同步到 Lakebase。 指南会一步步介绍如何准备源、从Lakebase订阅,以及验证变更是否及时到来。 参见“将数据复制到 Lakebase”。

用例

用例 它的作用是什么 Guide
将 Postgres 数据库迁移到 Lakebase Lakebase 订阅外部 Postgres 发布端,复制其数据,然后保持同步,直到你完成切换。 将数据复制到 Lakebase
在不同区域的Lakebase数据库之间复制 使另一区域中的 Lakebase 数据库保持同步,例如用于跨区域读取。 从Lakebase复制数据
将更改流式传输到外部 Postgres Lakebase 会向外部 Postgres 订阅者发布更改。 从Lakebase复制数据

逻辑复制的工作原理

发布端定义发布,即其发送变更所涉及的一组表。 订阅端创建连接到发布端的订阅,复制现有数据,然后在每次发生插入、更新和删除时应用这些变更。 连接到哪个数据库决定了网络方向:

两个逻辑复制方向。Lakebase作为订阅者:外部Postgres发布者向Lakebase发送变更,Lakebase再拨号给发布者。Lakebase作为发布者:Lakebase发布变更,外部Postgres订阅者拨入接收变更。

逻辑复制及其他数据移动方法

逻辑复制在 Postgres 数据库之间传输数据。 要将 Postgres 的更改迁移到 lakehouse,可以使用 Lakebase Change Data Feed,它会将更改写入 Unity Catalog 管理的 Delta 表。 有关数据进出 Lakebase 的完整比较,请参见 将数据移入和移出 Lakebase。

Limitations

  • 逻辑复制支持AWS和Azure。
  • 逻辑复制运行在公共网络上。 专用链接 在任一方向都不支持。 订阅者连接受账户网络策略允许的互联网目的地约束,发布者连接受工作空间 IP 访问列表约束。
  • 不支持同一区域内的Lakebase数据库间复制。 同一区域内,从一个 Lakebase 数据库到另一个 Lakebase 数据库的订阅无法连接。 支持不同区域的 Lakebase 数据库间的复制。
  • 复制是在主计算上运行,而不是在只读副本上。
  • 逻辑复制复制的是数据,而不是模式。 在开始复制之前先创建目标表。 后续的架构变更不会被复制。
  • 外部表不会被复制。

后续步骤