Skip to content

mo_tpch_open 工具指南

mo_tpch_open 是一款针对 MatrixOne 实现 TPCH 测试的工具。

Note

mo_tpch_open 工具目前只支持在 Linux 系统 x86 架构部署。

前置依赖

安装 mo_tpch_open

wget https://github.com/matrixorigin/mo_tpch_open/archive/refs/tags/v1.0.1.zip
unzip v1.0.1.zip

生成数据集

使用以下命令生成数据集:

cd mo_tpch_open-1.0.1
./bin/gen-tpch-data.sh -s 1 -c 5

参数释义

-s:表示产生大约 1GB 的数据集,不指定参数,默认生成 100G 数据,

-c:表示生成表数据的线程数,默认为 10 线程。

生成完整数据集可能需要一段时间。完成后,您可以在 mo_tpch_open-1.0.1/bin/tpch-data 目录下看到结果文件。

root@host-10-222-4-8:~/soft/tpch/tpch-tools/bin/tpch-data# ls -l
root@host-10-222-4-8:~/soft/tpch/mo_tpch_open-1.0.1/bin/tpch-data# ls -l
total 1074936
-rw-r--r-- 1 root root  24346144 Jun  7 03:16 customer.tbl
-rw-r--r-- 1 root root 151051198 Jun  7 03:16 lineitem.tbl.1
-rw-r--r-- 1 root root 152129724 Jun  7 03:16 lineitem.tbl.2
-rw-r--r-- 1 root root 152344710 Jun  7 03:16 lineitem.tbl.3
-rw-r--r-- 1 root root 152123661 Jun  7 03:16 lineitem.tbl.4
-rw-r--r-- 1 root root 152213994 Jun  7 03:16 lineitem.tbl.5
-rw-r--r-- 1 root root      2224 Jun  7 03:16 nation.tbl
-rw-r--r-- 1 root root  34175478 Jun  7 03:16 orders.tbl.1
-rw-r--r-- 1 root root  34463858 Jun  7 03:16 orders.tbl.2
-rw-r--r-- 1 root root  34437453 Jun  7 03:16 orders.tbl.3
-rw-r--r-- 1 root root  34445732 Jun  7 03:16 orders.tbl.4
-rw-r--r-- 1 root root  34429640 Jun  7 03:16 orders.tbl.5
-rw-r--r-- 1 root root  24135125 Jun  7 03:16 part.tbl
-rw-r--r-- 1 root root  23677134 Jun  7 03:16 partsupp.tbl.1
-rw-r--r-- 1 root root  23721079 Jun  7 03:16 partsupp.tbl.2
-rw-r--r-- 1 root root  23808550 Jun  7 03:16 partsupp.tbl.3
-rw-r--r-- 1 root root  23894802 Jun  7 03:16 partsupp.tbl.4
-rw-r--r-- 1 root root  23883051 Jun  7 03:16 partsupp.tbl.5
-rw-r--r-- 1 root root       389 Jun  7 03:16 region.tbl
-rw-r--r-- 1 root root   1409184 Jun  7 03:16 supplier.tbl

在 MatrixOne 中建表

修改配置文件 conf/matrxione.conf,指定 MatrixOne 的地址、用户名、密码,配置文件示例如下

# MatrixOne host
export HOST='127.0.0.1'
# MatrixOne port
export PORT=6001
# MatrixOne username
export USER='root'
# MatrixOne password
export PASSWORD='111'
# The database where TPC-H tables located
export DB='tpch'

然后执行以下脚本进行建表操作。

./bin/create-tpch-tables.sh

连接 MatrixOne 查看,建表成功。

mysql> show tables;
+----------------+
| Tables_in_tpch |
+----------------+
| customer       |
| lineitem       |
| nation         |
| orders         |
| part           |
| partsupp       |
| region         |
| revenue0       |
| supplier       |
+----------------+
9 rows in set (0.00 sec)

导入数据

执行以下脚本导入 TPC-H 测试所需数据:

./bin/load-tpch-data.sh -c 10

参数释义

-c: 可以指定执行导入的线程数,默认为 5 个线程。

加载完成后,可以使用创建的表查询 MatrixOne 中的数据。

运行查询命令

执行以下命令进行查询:

root@host-10-222-4-8:~/soft/tpch/mo_tpch_open-1.0.1# ./bin/run-tpch-queries.sh
mysql  Ver 8.0.37 for Linux on x86_64 (MySQL Community Server - GPL)
HOST: 127.0.0.1
PORT: 6001
USER: root
DB: tpch
Time Unit: ms
q1  836 715 691 691
q2  111 80  88  80
q3  325 235 212 212
q4  221 181 177 177
q5  240 236 295 236
q6  215 292 350 292
q7  373 327 299 299
q8  236 238 243 238
q9  443 406 413 406
q10 375 390 422 390
q11 201 237 231 231
q12 461 460 400 400
q13 321 294 301 294
q14 289 261 282 261
q15 391 285 294 285
q16 222 288 255 255
q17 333 247 243 243
q18 275 262 317 262
q19 513 479 511 479
q20 240 244 198 198
q21 1503    1746    1786    1746
q22 138 122 126 122
Total cold run time: 8262 ms
Total hot run time: 7797 ms
Finish tpch queries.

查询结果分别对应:查询语句、第一次查询结果、第二次查询结果、第三次查询结果和最快结果,单位为 ms。

Note

您可以在 mo_tpch_open-1.0.1/queries 目录下查看具体的查询语句。