YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
YMatrix 与 ClickHouse SSB 基准对比测试报告
测试概况
本次测试对比了 YMatrix 和 ClickHouse (简称 CK) 在单表查询分析场景的 SSB(Star Schema Benchmark)性能表现。结果显示,YMatrix 在两种测试数据规模下,分别比 CK 提升了 24% 及 37%。
SSB 是目前业界普遍采用的一个星型测试集,它是从 TPC-H 演化出来的一种针对分析场景的“性价比”评价标准。在 SSB 基准测试中定义了 13 个查询场景,从不同角度和维度,考察了一个分析型数据库的综合性能。
随着社区发展,SSB 最初的设计并不完全适用于今天大部分数仓的使用模式。Apache Druid 在最近的一次基准测试中,基于原始版本提出了一种 SSB 变体,即:将多张原始表数据先做一次聚合转化为一张宽表,然后基于这张宽表来执行 SSB 基准测试中的各测试项。在 ClickHouse 发布的最新 SSB 基准测试结果中,同样采用了这种方案。
测试环境
硬件环境
机器 | vCPU | RAM | 带宽 | EBS |
---|---|---|---|---|
AWS EC2,m5.8xlarge | 64 | 128GB | 10Gbps | gp3,iops = 3000,thoughtput = 125MB/s |
软件环境
为了最大程度上还原 ClickHouse 最新的测试结果,YMatrix 的 SSB 基准测试采用和 ClickHouse 同等的测试环境和场景,即单机部署,并采用目前 YMatrix 产品自动选择的默认部署方式,在前文介绍的硬件环境下是 6 个 Segment 节点。
-
操作系统内核:3.10.0-1127.19.1.el7.x86_64
-
操作系统版本:CentOS Linux release 7.8.2003
-
YMatrix:企业版 matrixdb-5.0.0.beta.2+enterprise-1,其中 YMatrix 集群部署参见见 YMatrix 官网文档和 YMatrix 的 SSB 基准测试工具。
-
ClickHouse:22.7.2.15
测试方案
此次 YMatrix 采用了与 ClickHouse 一致的 SSB 基准测试模型,分别测试了 100 倍和 1000 倍数据规模(SSB的数据规模来源于 TPC-H 的 scale factor)。
其中 100 倍数据的宽表数据量约为 6 亿条数据,1000 倍数据的宽表数据量约为 60 亿。
测试结果中,100 倍数据规模下 ClickHouse 的测试结果引用了 ClickHouse 官方数据,而官方并未公开 1000 倍数据规模下的结果,因此 1000 倍的结果由 YMatrix 工程师采用同等机器配置实测得到。
测试步骤
-
准备测试环境
如上文“硬件环境”一节,初始化 AWS 上的虚拟机环境。并按照 YMatrix 官网文档安装测试集群。 -
下载 SSB 基准测试工具
git clone https://github.com/ymatrix-data/ssb.git
注意!
YMatrix 的 SSB 工具已开源,简单易用,欢迎你的试用。 -
环境检查
./validate_environment.sh
-
生成测试数据 通过 -s 100,来生成 100 倍规模的数据。
./generate_data.sh -s 100
-
导入测试数据
工具支持测试多种数据规模的数据集,通过 -s 100 选择将生成好的 100 倍数据集导入 YMatrix,默认的导入方式为 MatrixGate,具有高并发、分布式、流式、批量写入数据等特性。目前支持 MatrixGate 和 COPY 两种模式,如果需要调整导入方式可以通过 -t 来指定。./import_data.sh -s 100
-
生成宽表数据
YMatrix 对 SSB 基准中的表结构和查询做出了一些必要调整,然后执行:./generate_flat_table.sh -s 100
-
执行 SSB 基准测试
./ssb.sh -s 100
测试结论
最终完整的测试结果如下:
数据规模 | ClickHouse(ms) | YMatrix(ms) | 提升比例 |
---|---|---|---|
100 倍数据 | 1112 | 840 | 24% |
1000 倍数据 | 5794 | 3670 | 37% |