写点什么

分布式 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:007352

评论

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

《计算机组成及汇编语言原理》阅读笔记:p128-p132

codists

计算机组成及汇编语言原理

AIP智能体平台:推动多智能体系统创新与效率提升

大东(AIP内容运营专员)

人工智能

自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

使用Memtester 对华为云 X 实例进行内存性能测试

轶天下事

面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”

程序员高级码农

Java 编程 程序员 java面试 Java面试题

使用Flexus X实例集成ES搜索引擎

轶天下事

Python 函数使用指南:定义、参数设置与变量作用域详解

敲代码不忘补水

Python 变量 函数 科技 计算机科学与技术

阿里P8面试官不小心泄露了25年春招进大厂必备的Java面试场景题!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

自学记录鸿蒙API 13:实现多目标识别Object Detection

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

部署开源ChatGPT/LLMs聊天应用LobeChat

轶天下事

云端安全守护者,华为云Flexusx上的AWVS容器化部署与安全扫描实践

轶天下事

从0到100:基于Java的大学选修课选课小程序开发笔记(上)

CC同学

AIP智能体平台:助力软件行业数字化转型与智能升级

大东(AIP内容运营专员)

人工智能

INFINI Console 指标采集优化

极限实验室

console metrics

AIP智能体平台:引领教育培训的新时代

大东(AIP内容运营专员)

人工智能

NetBackup Virtual Appliance 5 - 领先的企业备份和恢复解决方案

sysin

NetBackup

部署个人云社交媒体聊天服务VoceChat

轶天下事

华为云Flexus云服务器X实例之openEuler系统下玩转iSulad容器技术

轶天下事

华为云X实例CPU性能测试详解与优化策略

轶天下事

这份神仙版的SpringBoot学习文档,简直把所有操作都给写出来了

Geek_Yin

Java 程序员 spring-boot java 技术提升

优化企业运营流程,华为云Flexusx实例下Odoo ERP系统的完整解决方案

轶天下事

华为云Flexus云服务器X实例的网络性能测试

轶天下事

华为云Flexus云服务器X实例下的微微CMS安装

轶天下事

HarmonyOS 5.0 Next实战应用开发—‘我的家乡’【HarmonyOS Next华为公司完全自研的操作系统】

申公豹

HarmonyOS

华为云Flexus云服务器X实例搭建部署H5美妆护肤分销商城、前端uniapp

轶天下事

AIP智能体平台:开启智能自动化新时代

大东(AIP内容运营专员)

人工智能

Python Class 类详解:定义、继承与特殊方法的使用

敲代码不忘补水

Python 继承 科技 计算机科学与技术

ByConity ELT测试——体验BSP模式带来的高效数据处理

颜颜yan_

OOM ByConity bsp模式 ByConity ELT

进大厂必备的Java八股文大全(最强精简易懂版,八股文中的八股文)

Geek_Yin

Java Java面试八股文

基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】

申公豹

HarmonyOS

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