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

TPC-DS (2012)

Star Schema Benchmark (SSB) と同様に、TPC-DS はTPC-H に基づいていますが、反対のアプローチを取り、複雑なスノーフレークスキーマにデータを保存することにより、必要な結合の数を拡大しました (8 テーブルの代わりに 24 テーブル)。 データの分布は偏りがあり (例えば、正規分布やポアソン分布など) 、 99 のレポートおよびアドホッククエリが含まれており、無作為な置換が行われます。

参考文献

まず、TPC-DS リポジトリをチェックアウトし、データジェネレーターをコンパイルします:

次に、データを生成します。パラメータ -scale はスケールファクターを指定します。

次に、クエリを生成します (同じスケールファクターを使用します):

次に、ClickHouse にテーブルを作成します。 元のテーブル定義 (tools/tpcds.sql) を使用することも、適切に定義された主キーインデックスと LowCardinality タイプのカラムタイプを持つ「調整済み」のテーブル定義を使用することもできます。

データは次のようにインポートできます:

次に、生成されたクエリを実行します。

危険

TPC-DS は相関サブクエリを多用しており、執筆時点 (2024 年 9 月) では ClickHouse でサポートされていません (issue #6697)。 その結果、上記のベンチマーククエリの多くがエラーで失敗します。