AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

  • 2023-08-16
    北京
  • 本文字数:1502 字

    阅读完需:约 5 分钟

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

最近,微软详细介绍了分布式PostgreSQL基准测试的结果,比较了 Azure Cosmos DB for PostgreSQL、CockroachDB 与 Yugabyte 的事务处理性能和价格。这几种数据库在实现时做了不同的权衡,测试结果显示,Azure Cosmos DB 的吞吐量更高。同时,他还着重指出了针对分布式数据库进行基准测试所面临的挑战。

 

根据GigaOm基准测试,在事务性能和价格方面,采用 Citus 分布式表的Azure Cosmos DB for PostgreSQL优于 CockroachDB Dedicated 和 Yugabyte Managed 这两种全托管分布式数据库。

 

正如InfoQ之前的报道,随着不同的供应商对 PostgreSQL 这个流行的开源关系型数据库进行扩展、重新实现或创建分叉,它正在成为云分布式数据库的新标准。这项由微软赞助的基准测试使用了HammerDB。这是一个用于对关系型数据进行基准测试的开源工具,由事务性能委员会(Transaction Performance Council,缩写为 TPC)负责管理。微软首席软件工程师Marco Slot写道:


GigaOM 使用 HammerDB TPROC-C 对 Azure Cosmos DB for PostgreSQL 和两个类似的托管服务产品(…)进行了基准测试。在最初的基准测试中,GigaOM 使用了 1000 个仓库,产生了大约 100GB 的数据。然而,CockroachDB 和 Yugabyte 的吞吐量之低令人惊讶。在不改变连接数的情况下,增加两者的仓库数量可以提升性能。

 


图片来源:https://devblogs.microsoft.com/cosmosdb/distributed-postgresql-benchmarks-using-hammerdb-by-gigaom/

 

有一个非常重要但颇有争议的点是Citus的使用。Citus 是 PostgreSQL 中一个用于分发表的开源扩展,它要求开发人员指定一个分发列,即分片键:


Citus 的核心理念一直是:分布式 PostgreSQL 是为大规模、高性能而生的,因为对于其他任何事情,PostgreSQL 都已经足够好。

 

测试的其他分布式数据库不依赖于分布式列的定义。在 Reddit 上,Slot承认了其中的区别:


性能差异似乎有点尴尬。我想特别指出的是,使用 Citus 确实需要一些额外的步骤(例如 create_distributed_table)来定义分布式列和协同定位(否则,你只能使用单个节点)。我们的经验是,如果不对相关数据做协同定位,那么传统的事务型 PostgreSQL 工作负载的性能将比单个服务器差许多。

 

YugabyteDB 开发大使 Franck Pachot 在推特上谈到了这项基准测试,他提了一个问题


这是比较 Citus(通过两阶段提交协议在 SQL 数据库上实现的分片)与 YugabyteDB 及 CockroachDB (通过全局 ACID 事务在分布式存储上实现的 SQL)吗?弹性、全局一致性、灵活性、自动划分/再平衡都不在同一个层次上。它们针对的是不同的用例。

 

该报告承认,对于不同的部署,不同的分布式数据库可能在不同的特性上胜出,包括响应时间、并发性、容错性、功能、一致性或持久性。Slot 总结道:


分布式系统,尤其是分布式数据库,涉及多个层面的权衡。CockroachDB 和 Yugabyte 做了不同的权衡,它们不需要分布式列(…)不管是扩展 Postgres(如 Citus 所做的),还是创建 Postgres 分叉(如 Yugabyte 所做的),亦或是是重新实现 Postgres(如 CockroachDB 所做的),每一种决定也都是一个权衡,都会对最终用户的体验产生重大的或好或坏的影响。

 

为了鼓励客户运行与其工作负载相匹配的基准测试,微软共享了辅助脚本,以便他们可以在 Azure Cosmos DB 上运行 HammerDB 基准测试。微软高级软件工程师Jelte Fennema展示了如何自动运行基准测试,包括集群设置和销毁。

 

按照 GigaOm 的说法,Google Spanner Postgres Interface之所以不在比较范围,是因为该服务不提供运行基准测试所需的 Postgres 兼容性级别。

 

原文链接:

https://www.infoq.com/news/2023/07/distributed-postgresql-benchmark/


相关阅读:

这将是一场灾难?37年历史的PostgreSQL数据库将进行重大架构变更

微软发布Azure Cosmos DB for PostgreSQL

2023-08-16 08:007266

评论

发布
暂无评论
发现更多内容

业财融合潮流下,构建国有企业全面预算管理体系

智达方通

业财融合 全面预算管理

软件测试/测试开发丨Postman实战练习 学习笔记

测试人

Python 软件测试 测试开发

Spring Cloud Gateway:打造可扩展的微服务网关

程序员万金游

#java #微服务 #Spring #SpringCloud

OpenHarmony社区运营报告(2023年9月)

OpenHarmony开发者

一图看懂CodeArts Governance 三大特性,带你玩转开源治理服务

华为云PaaS服务小智

云计算 软件开发 华为云

NSDT孪生编辑器助力智慧城市

3D建模设计

智慧城市 数字孪生

可完全替代FTP的文件传输工具大集合

镭速

文件传输工具 替代FTP FTP传输文件

Java基础面试题【七】线程池

派大星

Java 面试题

MySQL5.5安装教程

小齐写代码

浅析斐波那契数列在代码中的应用

emanjusaka

Java 后端

如何借助CDC快速实现实时数据传输?

RestCloud

数据同步 ETL CDC

打造次世代分析型数据库(六):如何从零实现向量化引擎

腾讯云大数据

数据库

广交会场外蹭热度 第六届广州五金交易会如期召开!

极客天地

测试过程效率的提升和演变

老张

软件测试 研发效能 质量保障

Postman 调试 WebSocket 接口完整指南

Liam

Postman websocket 接口调试 测试工具 API 测试

深度学习应用开发示例之像素分割

矩视智能

深度学习 像素分割

英特尔宣布Intel 4已大规模量产,“四年五个制程节点”计划又进一步

E科讯

沐浴阳光,贴心陪伴,全屋智能大模型应用论坛即将发布小度全屋智能新产品

新消费日报

TiDB 7.4 发版:正式兼容 MySQL 8.0

TiDB 社区干货传送门

七个 LLM 的狼人杀之夜;马斯克的星链残骸会“砸死人”?OpenAI 安全漏洞曝光丨RTE开发者日报 Vol.66

声网

如何开发区块链应用程序:分步指南

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

基于知识图谱建模、全文检索的智能知识管理库(源码)

金陵老街

java

Java和Python对比,看完这篇你就知道有什么不同了

树上有只程序猿

Python java

mac软件推荐:CAD迷你看图中文版

胖墩儿不胖y

Mac软件 cad软件 CAD看图工具

智慧公厕厂家为城市智慧化建设提供城市卫生升级的力量

光明源智慧厕所

智慧厕所 智慧公厕 厕所改造 公厕改造

企业如何选择安全又稳定的文件传输协议

镭速

大文件传输 文件传输协议

枚举探秘:Java中的神奇力量!

互联网工科生

枚举 java

分布式PostgreSQL基准测试:Azure Cosmos DB、CockroachDB和YugabyteDB_云计算_Renato Losio_InfoQ精选文章