在最新版本中,分布式 Postgres 供应商 pgEdge 加强了对大型对象的支持,增强了错误处理和自动化。
译自 Tackling the Challenges of Logical Replication in PostgreSQL,作者 Susan Hall。
分布式 Postgres 供应商 pgEdge 继续通过其最新版本(称为“星座版”)来解决 逻辑复制 的复杂性,该版本提供了增强的并行处理、大对象支持和错误处理。
pgEdge 首席执行官 Phillip Merrick 表示,更高的吞吐量、灵活性和控制使 pgEdge 成为需要 多主功能 的传统数据库工作负载的可行的开源替代方案。他在一封电子邮件中表示,如今这些工作负载通常运行在诸如 Oracle Goldengate 之类的传统平台上。
这些工作负载需要能够在分布式数据库集群中的多个节点上接收读写流量,以实现低数据延迟或非常高的可用性(四个或五个九)或两者兼而有之。他解释说,一个例子可能是跨多个区域运行的金融服务应用程序或永远不会停机的关键电子商务应用程序。
Merrick 和他的联合创始人 Denis Lussier(他们之前共同创建了 EnterpriseDB)在开源 PostgreSQL 上构建了 pgEdge,其理念是,地理分布式集群中的几个节点(每个节点处理读写)可以提供低延迟、高可用性、弹性和性能。
尽管 Postgres 中的逻辑复制 是一项强大的功能,但它也存在一些挑战,包括一致性、同步、冲突解决和开销,这些都会影响性能。
星座版的功能包括:
虽然将这些功能列为本次发布的一部分,但该公司在 4 月宣布了自动数据定义语言 (DDL) 复制和 Snowflake 序列。
DDL 用于通过 CREATE
、ALTER
和 DROP
等命令语句创建和修改 Postgres 对象。传统上,Postgres 需要通过 DDL 命令手动在每个节点上进行表定义的修改。通过这种自动化,您可以在单个节点上更新数据库模式,更改将无缝传播到集群中的其他节点。 Snowflake 序列 解决了在多主复制场景中管理序列的复杂性。在分布式多主 Postgres 系统中,序列必须在不同的区域进行更新,如果每个节点独立更新序列,就会产生无法解决的冲突。这种对 PostgreSQL 序列定义的替代方案提供了一个唯一的序列——一个时间戳、一个计数器和一个唯一的节点标识符——在一个集群中,可以在不同的区域使用,而无需编写代码或修改模式。
该公司在 1 月份宣布了其免费的云开发人员版,并在去年 10 月宣布了其使用开源扩展 pgvector 的 向量搜索功能。
pgEdge 表示,在第四季度,它将添加高性能并行复制,它称之为“行业的游戏规则改变者”。
Merrick 解释说,高性能并行复制是指在每个节点之间的网络连接上运行多个数据复制流的能力,使用每个节点上的多个 CPU 来实现更高的数据吞吐量。当前 Postgres 的复制架构只允许节点之间有一个流,这限制了复制性能的上限。
这种复制吞吐量的提升将在高流量、跨区域的事务工作负载中,使用户能够在高需求环境中管理更大规模的数据复制,同时减少延迟并确保及时同步。