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:

    1. Build a table

      Copy the table creation statement in and execute it in Doris.

    2. Import data

      1. 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

      2. 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 using sh 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.

    3. 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/Star-Schema-Benchmark - 图6 (opens new window) directory.

    The following test report is based on Doris branch code test, for reference only. (Update time: October 25, 2021)

    1. Test results

      QueryTime(ms) (1 BE)Time(ms) (3 BE)ParallelismRuntime Filter Mode
      q1.12001408IN
      q1.290808IN
      q1.390808IN
      q2.111004008BLOOM_FILTER
      q2.29003308BLOOM_FILTER
      q2.37903208BLOOM_FILTER
      q3.1310012808BLOOM_FILTER
      q3.27002708BLOOM_FILTER
      q3.35402708BLOOM_FILTER
      q3.45602408BLOOM_FILTER
      q4.1282011508BLOOM_FILTER
      q4.214306708BLOOM_FILTER
      q4.2175010308BLOOM_FILTER