TPC-DS (2012)
Star Schema Benchmark (SSB) と同様に、TPC-DS はTPC-H に基づいていますが、反対のアプローチを取り、複雑なスノーフレークスキーマにデータを保存することにより、必要な結合の数を拡大しました (8 テーブルの代わりに 24 テーブル)。 データの分布は偏りがあり (例えば、正規分布やポアソン分布など) 、 99 のレポートおよびアドホッククエリが含まれており、無作為な置換が行われます。
参考文献
- The Making of TPC-DS (Nambiar), 2006
まず、TPC-DS リポジトリをチェックアウトし、データジェネレーターをコンパイルします:
次に、データを生成します。パラメータ -scale
はスケールファクターを指定します。
次に、クエリを生成します (同じスケールファクターを使用します):
次に、ClickHouse にテーブルを作成します。 元のテーブル定義 (tools/tpcds.sql) を使用することも、適切に定義された主キーインデックスと LowCardinality タイプのカラムタイプを持つ「調整済み」のテーブル定義を使用することもできます。
データは次のようにインポートできます:
次に、生成されたクエリを実行します。
危険
TPC-DS は相関サブクエリを多用しており、執筆時点 (2024 年 9 月) では ClickHouse でサポートされていません (issue #6697)。 その結果、上記のベンチマーククエリの多くがエラーで失敗します。