分布式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兼容性水平。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。