
点击蓝字关注我们
EDB 提供的工具 EDB Replication Server (xDB/EPRS) 7是一个基于触发器或物理复制的系统,带有一个用于数据分发的托管进程。它可以执行多主复制,但仅限于 Postgres,而且一切都要通过中央分发节点。
PGD v5可以在没有任何外部进程的情况下处理多主复制。这是EDB对Postgres的一个扩展,它创建了一个网状网络,每个节点都可以与其他节点通信。这使得该产品有别于像EDB Replication Server这样的单一分发进程。
今天,我们将重点关注性能方面。看看它们将数据从一个数据库节点复制到另一个数据库节点的速度有多快?我们将研究采用PGD 5比EPRS 7在性能方面有哪些优势。
一、 EDB Postgres 复制服务器 (EPRS)
EDB Postgres 复制服务器 (EPRS) 以单主或多主模式在 Postgres 数据库之间复制数据。它还可以在单主模式下从非 Postgres 数据库(例如 Oracle 和 SQL Server)复制到 Postgres。
这种数据复制允许用户使用真实数据,从而产生在多种设置中可靠的真实结果。对单主复制和多主复制的支持为 Replication Server 提供了广泛的支持用例,包括:
用于双向和单向复制的 Java 复制技术;
双向:Postgres 到 Postgres;
单向:从Postgres/其他DBMS 复制到目标 Postgres,反之亦然;
使用 WAL 解码或基于触发器的方法进行复制;
有关EDB Postgres复制服务器的更多详细信息,请访问以下链接。
https://www.enterprisedb.com/docs/eprs/latest/01_introduction/

二、 EDB Postgres Distributed (PGD)
PGD提供多主复制和数据分发,具有高级冲突管理、数据丢失保护以及比本机逻辑复制快 5 倍的吞吐量。
PGD使用mesh拓扑提供松散耦合的多主机逻辑复制。这意味着随时可以写入任何服务器,并且更改将直接逐行发送到属于同一PGD组的所有其他服务器。包括:
数据、schema、DDL、序列等的逻辑复制;
用于管理冲突、监控性能和验证一致性的增强工具;
地理围栏(Geo-fencing),允许选择性复制数据以实现安全合规性和管辖权控制;


三、 EPRS与PGD的性能比较
我们已经了解了每种软件产品的工作原理,接下来我们使用TPROC-C (HammerDB) 实际比较两者在特定系统工作负载下的性能。
目标:多主复制 (MMR) 模式下的 EPRS与PGD的性能比较。
测试基准:
目标架构:2 个数据库节点
数据复制:WAL 记录
使用的工作负载:带有 ~200GB 数据库的 TPROC-C (HammerDB)
数据库服务器:EPAS 14
测试时长:6 分钟 * 14
评估数据复制性能依赖于测量复制追赶时间。复制追赶时间以秒为单位,借助 OLTP 工作负载执行结束后立即执行的数据库函数来测量。该函数获取主节点当前的LSN位置,然后计算在数据复制过程中备用节点追上该初始LSN位置所需的时间间隔。
系统配置:

评估和结果:
EDB Replication Server(EPRS 7.4):

EDB Postgres Distributed (PGD 5):

EDB Replication Server (EPRS 7.4):

EDB Postgres Distributed (PGD 5):

在上面两张图中,对于不同数量的 HammerDB 虚拟用户(从 1 到 14 个)执行 OLTP 工作负载 6 分钟(1 分钟加速,5 分钟稳定),收集了以下指标:
NOPM(每分钟执行的新订单交易New-Order Transactions Per Minute)率,由 HammerDB 返回;
复制追赶时间,以秒为单位;
这里的断点代表两个系统(EPRS 7.4 和 PGD 5)中的复制延迟起点。
可持续 TPM:
Sustainable NOPM = (TC * TR) (TR + CT)
其中:
TC:NOPM 总计
TR:总运行时间
CT:赶上时间
可持续吞吐量:任何系统可以无限期维持且没有任何延迟的吞吐量。
上述衡量可持续 TPM(每分钟事务数)的计算见下面链接中的更多解释。
https://www.2ndquadrant.com/en/blog/on-pglogical-performance/

四、 结论
该基准指标测试意味着 EDB Postgres Distributed 5的可持续NOPM速率为126K,比 EDB Postgres Replication Server 7.4 的NOPM速率8000 NOPM高15.75 倍,使得EDB Postgres Distributed成为更适合 Postgres 多主复制的高可用性产品。
造成这种性能的关键因素是:
对于多主复制模式(MMR),EDB Postgres Distributed使用16个写入器,而EDB Postgres Replication Server只能使用一个数据库连接/工作器来负责应用更改。
EDB Postgres Replication Server 使用 SQL 语句(例如 INSERT、UPDATE 和 DELETE)来应用更改,而 EDB Postgres Distributed 使用二进制协议。这会提高性能,因为 Postgres 在写入更改之前不必解析任何 SQL 语句。
-----------------------------------------------------------------
<引用> -- Replication Server 7 vs Postgres Distributed 5.0: Which Offers Better Performance and Scalability?
https://www.enterprisedb.com/blog/replication-server7-vs-postgres-distributed5

发现“分享”和“赞”了吗,戳我看看吧




