スタースキーマベンチマーク(SSB、2009)
スタースキーマベンチマークは、基本的に TPC-H のテーブルとクエリを基にしていますが、TPC-Hとは異なり、スタースキーマレイアウトを使用しています。データの大部分は、巨大なファクトテーブルに保存されており、その周りに複数の小さなディメンジョンテーブルがあります。クエリは、ファクトテーブルを1つ以上のディメンジョンテーブルと結合し、フィルター条件を適用します。例えば、MONTH = 'JANUARY'
のように。
参考文献:
- スタースキーマベンチマーク (O'Neil et. al), 2009
- データスキューがクエリパフォーマンスに及ぼす影響をテストするスタースキーマベンチマークのバリエーション (Rabl. et. al.), 2013
まず、スタースキーマベンチマークリポジトリをチェックアウトし、データジェネレータをコンパイルします:
次に、データを生成します。パラメータ -s
はスケールファクタを指定します。例えば、 -s 100
の場合、6億行が生成されます。
次に、ClickHouseでテーブルを作成します:
データは次のようにインポートできます:
ClickHouseの多くの使用例では、複数のテーブルが単一の非正規フラットテーブルに変換されます。このステップはオプショナルです。以下のクエリは、もともとの形式と非正規テーブル用に書き換えた形式が示されています。
クエリは ./qgen -s <scaling_factor>
によって生成されます。例として、s = 100
の場合のクエリ:
Q1.1
非正規テーブル:
Q1.2
非正規テーブル:
Q1.3
非正規テーブル:
Q2.1
非正規テーブル:
Q2.2
非正規テーブル:
Q2.3
非正規テーブル:
Q3.1
非正規テーブル:
Q3.2
非正規テーブル:
Q3.3
非正規テーブル:
Q3.4
非正規テーブル:
Q4.1
非正規テーブル:
Q4.2
非正規テーブル:
Q4.3
非正規テーブル: