Star Schema Benchmark
This document mainly introduces how to pass the preliminary performance test of the SSB process in Doris.
Please refer to the official document (opens new window) to install and deploy Doris to obtain a normal running Doris cluster ( Contain at least 1 FE, 1 BE).
The scripts involved in the following documents are all stored under in the Doris code base.
Execute the following script to download and compile the tool.
After the installation is successful, the dbgen
binary file will be generated in the ssb-dbgen/
directory.
2. Generate SSB test set
Execute the following script to generate the SSB data set:
Build a table
Copy the table creation statement in and execute it in Doris.
Import data
Import 4 dimension table data (customer, part, supplier and date)
Because the data volume of these 4 dimension tables is small, and the import is simpler, we use the following command to import the data of these 4 tables first:
sh load-dimension-data.sh
Import the fact table lineorder.
Import the lineorder table data with the following command:
sh load-fact-data.sh -c 5
means to start 5 concurrent threads to import (the default is 3). In the case of a single BE node, the import time of lineorder data generated by
sh gen-ssb-data.sh -s 100 -c 100
usingsh load-fact-data.sh -c 3
is about 10 minutes. The memory overhead is about 5-6GB. If you turn on more threads, you can speed up the import speed, but it will increase additional memory overhead.
-
The amount of data should be the same as the number of rows of generated data.
There are 4 groups of 14 SQL in the SSB test set. The query statement is in the queries/ (opens new window) directory.
The following test report is based on Doris branch code test, for reference only. (Update time: October 25, 2021)
Test results
Query Time(ms) (1 BE) Time(ms) (3 BE) Parallelism Runtime Filter Mode q1.1 200 140 8 IN q1.2 90 80 8 IN q1.3 90 80 8 IN q2.1 1100 400 8 BLOOM_FILTER q2.2 900 330 8 BLOOM_FILTER q2.3 790 320 8 BLOOM_FILTER q3.1 3100 1280 8 BLOOM_FILTER q3.2 700 270 8 BLOOM_FILTER q3.3 540 270 8 BLOOM_FILTER q3.4 560 240 8 BLOOM_FILTER q4.1 2820 1150 8 BLOOM_FILTER q4.2 1430 670 8 BLOOM_FILTER q4.2 1750 1030 8 BLOOM_FILTER