mo_tpch_open Tool Guide

mo_tpch_open is a tool that implements TPCH testing for MatrixOne.

Note

The mo_tpch_open tool is currently only supported for deployment on Linux system x86 architectures.

Pre-dependency

  • Finished installing and starting MatrixOne

  • Set environment encoding to UTF-8

  • Installed wget

  • The bc command is installed

Install mo_tpch_open

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

Generate Data Set

Generate the dataset using the following command:

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

Parameter interpretation

-s: means generating a dataset of about 1GB, no parameters specified, 100G data generated by default,

-c: Indicates the number of threads generating table data. Default is 10 threads.

Generating a complete data set may take some time. When you are done, you can see the result file in the mo_tpch_open-1.0.1/bin/tpch-data directory.

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

Building tables in MatrixOne

Modify the configuration file conf/matrxione.conf to specify the address, username, password for MatrixOne. An example configuration file is shown below

# 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' 

Then execute the following script to build the table.

./bin/create-tpch-tables.sh 

Connect to MatrixOne to view and build table successfully.

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

Import Data

Execute the following script to import the data required for the TPC-H test:

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

Parameter interpretation

-c: You can specify the number of threads to perform the import, which defaults to 5.

Once loaded, you can query the data in MatrixOne using the created table.

Run the query command

Execute the following command to query:

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.

The query results correspond to: query statement, first query result, second query result, third query result, and fastest result in ms.

Note

You can view specific query statements in the mo_tpch_open-1.0.1/queries directory.