メインコンテンツまでスキップ

TPC-DS Benchmark

TPC-DS (Transaction Processing Performance Council Decision Support Benchmark) は、意思決定支援に焦点を当てたベンチマークテストで、データウェアハウスおよび分析システムの性能を評価することを目的としています。これは、異なるシステムの複雑なクエリと大規模データ分析の処理能力を比較するために、Transaction Processing Performance Council (TPC) 組織によって開発されました。

TPC-DSの設計目標は、実世界の複雑な意思決定支援ワークロードをシミュレートすることです。結合、集約、ソート、フィルタリング、サブクエリなどを含む一連の複雑なクエリとデータ操作を通じて、システムの性能をテストします。これらのクエリパターンは、レポート生成、データマイニング、OLAP (Online Analytical Processing) などの単純なものから複雑なものまで、様々なシナリオをカバーしています。

このドキュメントでは主に、TPC-DS 1000Gテストセットでの Doris の性能を紹介します。

TPC-DS標準テストデータセットの99クエリについて、Apache Doris 2.1.7-rc03 と Apache Doris 2.0.15.1 バージョンに基づいて比較テストを実施しました。

Doris on TPC-DS 1000G test set

1. ハードウェア環境

ハードウェア設定説明
マシン数4 Aliyun Virtual Machine (1FE,3BEs)
CPUIntel Xeon (Ice Lake) Platinum 8369B 32C
メモリ128G
ディスクEnterprise SSD (PL0)

2. ソフトウェア環境

  • Doris デプロイ構成:3BEs と 1FE
  • カーネルバージョン:Linux version 5.15.0-101-generic
  • OSバージョン:Ubuntu 20.04 LTS (Focal Fossa)
  • Doris ソフトウェアバージョン:Apache Doris 2.1.7-rc03, Apache Doris 2.0.15.1
  • JDK:openjdk version "1.8.0_352-352"

3. テストデータ量

テスト全体のシミュレーションによって生成された TPC-DS 1000G データを、それぞれ Apache Doris 2.1.7-rc03 と Apache Doris 2.0.15.1 にインポートしてテストを行いました。以下は、テーブルの関連説明とデータ量です。

TPC-DS テーブル名行数
customer_demographics1,920,800
reason65
warehouse20
date_dim73,049
catalog_sales1,439,980,416
call_center42
inventory783,000,000
catalog_returns143,996,756
household_demographics7,200
customer_address6,000,000
income_band20
catalog_page30,000
item300,000
web_returns71,997,522
web_site54
promotion1,500
web_sales720,000,376
store1,002
web_page3,000
time_dim86,400
store_returns287,999,764
store_sales2,879,987,999
ship_mode20
customer12,000,000

4. テスト SQL

TPC-DS 99 テストクエリステートメント : TPC-DS-Query-SQL

5. テスト結果

ここでは Apache Doris 2.1.7-rc03 と Apache Doris 2.0.15.1 を使用して比較テストを行いました。テストでは、Query Time(ms) を主要な性能指標として使用しています。 テスト結果は以下の通りです:(Apache Doris 2.0.15.1 の q78 q79 は最新のメモリ最適化の不足により実行に失敗したため、合計値の計算時に除外されました)

QueryApache Doris 2.1.7-rc03 (ms)Apache Doris 2.0.15.1 (ms)
query01630890
query0249306930
query03360460
query041107042320
query0562015360
query062201020
query07550750
query08330670
query0968307550
query103702900
query11696027380
query1210080
query137902860
query141347042340
query15510940
query16520550
query1713102650
query18560820
query19200400
query20100190
query218080
query2223003070
query233824075260
query24834026580
query257801190
query26200220
query27530750
query2859407400
query299401250
query30270490
query3118902530
query326070
query33350450
query347501380
query3513708970
query36530570
query376060
query3875208710
query395601010
query40150180
query415040
query42100140
query4311501960
query4420203220
query45430960
query4612502760
query4726605790
query486302570
query49730800
query5016402200
query5164306270
query52110160
query53250490
query5412807790
query55110160
query56290410
query5714803510
query58240550
query59776011870
query60380490
query61540670
query627401560
query63210460
query6457906840
query6549007960
query66480810
query672732046110
query6816002380
query69380800
query7034805330
query71460790
query7231605390
query736601250
query74599016450
query7546108410
query7615902950
query77300480
query7817970-
query793040-
query80570910
query81460760
query82270330
query83220290
query84130110
query85520470
query867601220
query878008760
query8855609690
query89430750
query90150400
query91150120
query924040
query9324402670
query94340310
query953501810
query966601680
query97502014990
query98190330
query9915603230
合計261320507380

6. 環境準備

公式ドキュメント を参照して Doris をインストールおよびデプロイし、正常に動作する Doris クラスター(最低 1 FE 1 BE、推奨は 1 FE 3 BE)を取得してください。

7. データ準備

7.1 TPC-DS データ生成ツールのダウンロードとインストール

以下のスクリプトを実行して、tpcds-tools ツールをダウンロードしてコンパイルします。

sh bin/build-tpcds-dbgen.sh

7.2 TPC-DSテストセットの生成

以下のスクリプトを実行してTPC-Hデータセットを生成します:

sh bin/gen-tpcds-data.sh -s 1000

注意1: sh gen-tpcds-data.sh -hでスクリプトヘルプを確認してください。

注意2: データはtpcds-data/ディレクトリ配下に.dat拡張子で生成されます。総ファイルサイズは約1000GBで、生成に数分から1時間程度かかる場合があります。

注意3: デフォルトでは100Gの標準テストデータセットが生成されます。

7.3 テーブル作成

7.3.1 doris-cluster.confファイルの準備

スクリプトをインポートする前に、doris-cluster.confファイルにFEのipポートやその他の情報を記述する必要があります。

このファイルは${DORIS_HOME}/tools/tpcds-tools/conf/配下にあります。

ファイルの内容には、FEのip、HTTPポート、ユーザー名、パスワード、およびインポートするデータのDB名が含まれます:

# Any of FE host
export FE_HOST='127.0.0.1'
# http_port in fe.conf
export FE_HTTP_PORT=8030
# query_port in fe.conf
export FE_QUERY_PORT=9030
# Doris username
export USER='root'
# Doris password
export PASSWORD=''
# The database where TPC-H tables located
export DB='tpcds'

TPC-Hテーブルを生成・作成するために以下のスクリプトを実行する

sh bin/create-tpcds-tables.sh -s 1000

または、create-tpcds-tablesのテーブル作成文をコピーして、Dorisで実行してください。

7.4 データのインポート

以下のコマンドでデータインポートを実行してください:

sh bin/load-tpcds-data.sh

7.5 クエリテスト

7.5.1 クエリスクリプトの実行

上記のテストSQLを実行するか、以下のコマンドを実行してください

sh bin/run-tpcds-queries.sh -s 1000

7.5.2 単一SQL実行

コードリポジトリから最新のSQLを取得することも可能です。TPC-DSの最新テストクエリステートメントのアドレス。