分布式PostgreSQL基准测试:Azure Cosmos DB、CockroachDB和YugabyteDB

分布式PostgreSQL基准测试结果

微软最近讨论了使用HammerDB进行的分布式PostgreSQL基准测试结果,比较了Azure Cosmos DB for PostgreSQL、CockroachDB和Yugabyte在事务处理和价格性能方面的表现。测试结果显示,Azure Cosmos DB具有更高的吞吐量,但也凸显了基准测试分布式数据库的挑战。

主要发现

根据GigaOm的基准测试报告,Azure Cosmos DB for PostgreSQL在使用Citus分布式表的情况下,在事务性能和价格性能方面优于CockroachDB Dedicated和Yugabyte Managed。这些数据库都是全托管的分布式数据库。

测试工具和方法

基准测试使用了HammerDB,这是一个由事务性能委员会(TPC)管理的开源工具,用于基准测试关系数据库。测试最初使用了1000个仓库,生成了约100GB的数据。然而,CockroachDB和Yugabyte在初始测试中表现出较低的吞吐量,通过增加仓库数量可以提高性能。

关键差异

测试中的一个关键差异在于Citus的使用,Citus是一个开源扩展,用于在PostgreSQL中分发表,并要求开发人员指定一个分发列(分片键)。而其他测试的分布式数据库则不依赖于分发列的定义。

不同数据库的权衡

微软的首席软件工程师Marco Slot指出,分布式系统,尤其是分布式数据库,都是关于各个层次的权衡。CockroachDB和Yugabyte做出了不同的权衡,并且不需要分发列。扩展Postgres、分叉Postgres或重新实现Postgres的决定也对最终用户体验有重大影响。

其他观点

YugabyteDB的开发者倡导者Franck Pachot在推特上质疑了基准测试的比较,认为Citus与YugabyteDB和CockroachDB在弹性、全球一致性和自动分割/再平衡等方面有不同的用例。

微软的鼓励

为了鼓励客户运行与其工作负载相匹配的基准测试,微软分享了在Azure Cosmos DB上运行HammerDB基准测试的辅助脚本,并展示了如何自动运行基准测试,包括集群设置和拆除。

未包含的服务

根据GigaOm的报告,Google Spanner Postgres Interface未包含在比较中,因为该服务未提供运行基准测试所需的Postgres兼容性水平。

阅读 39
0 条评论