MatrixOne 0.2.0 性能测试报告
一、测试结果
最新发布的MatrixOne 0.2.0版本新增了Benchmarks章节,针对常规测试程序SSB与纽约出租车数据测试,在支持分布式强一致性前提下,基于向量化执行引擎和因子化加速的技术加持,MatrixOne计算引擎在查询速度方面表现突出,可以承载TB级别数据的快速查询,与同类数据库产品相比有较明显的优势。
-
单机单表的SSB测试:MatrixOne比Clickhouse快50%以上
-
单机多表的SSB测试:MatrixOne比Clickhouse快100%以上
-
集群多表的SSB测试:大幅快于Clickhouse。由于Clickhouse集群多表的能力有限,多表测试不详细展开对比。
MatrixOne项目作为一款从零开始自主打造的超融合数据库项目,经过8个月左右的开发,在分布式强一致的能力融合后,计算查询性能依然达到了可以与世界顶尖OLAP数据库性能媲美水平。
未来MatrixOne还将在融合更多引擎能力的同时坚持对极致性能的持续追求,为用户创造极简、快速的数据库产品体验。
二、测试内容
-
单机与集群上SSB测试单表、多表查询
-
单机服务器上纽约出租车数据的单表查询
-
测试硬件配置:本次所有测试所使用的服务器配置均为「AMD EPYC™ Rome CPU 2.6GHz/3.3GHz, 16核, 32 GiB 内存」
-
更加详细的测试信息可参见 「MatrixOne官方文档网站」
三、SSB测试
SSB测试基于TPC定义的TCP-H规范,是一套用于测试数据库产品在星型模式下性能表现的基准测试规范,目前在学术界和工业界都得到了广泛的使用。它将TPC-H的雪花模式简化为了星型模式,将基准查询由TPC-H的复杂Ad-Hoc查询改为了结构更固定的OLAP查询。
1. 测试概况
为体现MatrixOne的单表查询能力,特将SSB测试中所含有的五张数据表:lineorder, part, supplier, customer, dates合成为一张宽表:lineorder_flat。然后利用单机服务器进行单表查询(宽表共包含6亿行数据,总共约220GB空间)。此外,按照SSB既定的部分查询语句,利用单机与集群分别进行多表查询(共包含6亿行数据,主表占据约67GB空间)。同时由于MatrixOne对过滤的支持不完善,因此在标准SSB测试SQL中去除了需要带过滤的SQL语句。
2. 测试流程
SSB测试数据由dbgen命令产生,对数据预处理后使用load data infile命令将数据导入已建好的MatrixOne数据表中,最后进行相关查询操作。具体测试流程请参见已发布的「SSB Test with MatrixOne」文档。
3. 测试结果
>>>单机单表测试<<<
在单机单表测试中,针对给定的版本,MatrixOne在每个查询上的运行速度均快于Clickhouse,总查询时间仅为Clickhouse的65%,结果如下:
单机单表测试 | Q2 | Q3.1 | Q3.2 | Q4.1 | Q4.2 | Q4.3 | SUM |
---|---|---|---|---|---|---|---|
MO 0.2.0 | 2.71 | 4.23 | 11.05 | 2.94 | 4.27 | 16.91 | 42.11 |
ClickHouse v21.11.4.14 |
3.82 | 5.01 | 21.34 | 3.1 | 5.32 | 26.32 | 64.91 |
>>>单机多表测试<<<
在单机多表测试中,针对给定的版本,MatrixOne在每个查询上的运行速度均快于Clickhouse,在总查询时间上表现优异,为Clickhouse的50%,结果如下:
单机多表测试 | Q2 | Q3.1 | Q3.2 | Q4.1 | Q4.2 | Q4.3 | SUM |
---|---|---|---|---|---|---|---|
MO 0.2.0 | 13.6 | 12.94 | 23.56 | 13.96 | 19.72 | 46.07 | 129.85 |
ClickHouse v21.11.4.14 |
28.05 | 27.81 | 54.84 | 27.2 | 41.82 | 85.99 | 265.71 |
四、纽约出租车(NYC)数据测试
纽约市出租车数据集收集了纽约市数十亿次出租车出行的详细信息,包括接送日期、时间、接送地点、行程距离、详细票价、费率、支付类型、以及乘客数量(大部分原始数据来自NYC Taxi & Limousine Commission)。
1. 测试概况
使用单机服务器对NYC数据进行单表查询(宽表共包含17亿行数据,总共约450GB空间)。由于目前MatrixOne对数据表分区的支持还不完善,因此去掉了Clickhouse中对Partition命令的使用。
2. 测试流程
NYC测试数据目前需要通过PostgreSQL进行下载,并导入MatrixOne的数据表,整个数据下载及导入的流程可参考「GitHub」以及官方文档「NYC Test with MatrixOne」。
3. 测试结果
>>>单机单表测试<<<
在NYC数据的单机单表测试中,针对给定的版本,除Q1之外,MatrixOne的运行速度均快于Clickhouse,总查询时间略少于Clickhouse。具体结果如下:
单机单表测试 | Q1 | Q2 | Q3 | Q4 | SUM |
---|---|---|---|---|---|
MO | 8.37 | 2.67 | 3.48 | 5.34 | 19.86 |
ClickHouse | 5.99 | 4.13 | 4.56 | 7.09 | 21.77 |
五、欢迎加入MatrixOne社区

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
MatrixOne 0.2.0 发布 !最快的 SQL 计算引擎来了!
在数月的打磨和努力开发之下, MatrixOne 0.2版本正式发布啦! 项目文档网站 Home - MatrixOne Docs 重点关注,相比于0.1版本,0.2版本在以下几方面有着明显改进: 1. 性能大幅提升 0.2版本在原有AOE(Analytical Optimized Engine)引擎的基础上,通过因子化的方式实现了大幅度加速,性能得到10倍以上的提升,相比同等配置的Clickhouse也有50-100%的提升。详细性能报告,请点击“MatrixOne 0.2.0性能测试报告”查看。 2. 完整的分布式能力 0.2版本完整实现了独特的分布式&强一致框架——MatrixCube,现可以使用MatrixOne构建一个小型集群(MatrixCube详细介绍请参见官方文档)。MatrixCube框架帮助MatrixOne数据库内核获得了分布式部署的能力,同时针对我们的AOE引擎实现了三种负载均衡机制: 实现各节点存储空间的均衡,以高效利用各节点存储资源; 各节点的Raft-Group Leader的均衡,从而达到读写请求的负载均衡; 各节点Table数据分布的均衡,...
-
下一篇
百度可观测系列 | 采集亿级别指标,Prometheus 集群方案这样设计
【百度云原生导读】在前一篇《基于 Prometheus 的大规模线上业务监控实践》中,我们为大家介绍了针对大规模业务监控场景,百度云原生团队基于 Prometheus 技术方案的一些探索,包括基于 Prometheus 进行指标降维、Prometheus 的自动分片采集、以及基于 Flink 流式计算构建的预计算。 本文将深入采集专题,为大家介绍如何构建采集亿级别指标的高可靠Prometheus 集群。 采集亿级别指标,通常会面临三大类问题:一是网络带宽打满、Prometheus大内存、Prometheus计算 CPU 利用率高等一系列资源类问题;二是如何构建高可用、高可靠的集群,如何确保监控数据的不丢不重等高可用类问题;三是集群的自动弹性扩缩,如何进一步降低运维成本等运维类问题。只有解决好这三类核心问题才能构建出一套理想的 Prometheus 采集集群。 为此,百度云原生团队针对 Prometheus 提出了“流计算加速”、“高可用HA”、“感知采集压力的自动分片管理”等多项“外科手术式打击”般的精准解决方案,最终实现了亿级别指标的采集。 下文将从“资源、高可用、运维”三个方...
相关文章
文章评论
共有0条评论来说两句吧...