サンプルデータ:TPC-H

TPC Benchmark™H(TPC-H) 仕様で説明されているように、

「TPC-Hは意思決定支援ベンチマークです。これは、一連のビジネス指向のアドホッククエリと同時データ変更で構成されています。データベースに入力するクエリとデータは、業界全体に広く関連するように選択されています。このベンチマークは、大量データを調査し、高度な複雑さでクエリを実行し、重要なビジネス上の質問に答える意思決定支援システムを示しています。」

このトピックの内容:

データベースとスキーマ

TPC-Hには、異なるスケーリング係数をテストするためのさまざまなデータセットサイズが付属しています。デモ目的のために、TPC-Hデータの4つのバージョンを共有しました。データは、SNOWFLAKE_SAMPLE_DATA 共有データベースの次のスキーマで提供されます。

  • TPCH_SF1:基本行サイズで構成されます(数百万の要素)。

  • TPCH_SF10:基本行サイズx 10で構成されます。

  • TPCH_SF100:基本行サイズx 100(数億の要素)で構成されます。

  • TPCH_SF1000:基本行サイズx 1000(数十億の要素)で構成されます。

データベースエンティティ、関係、および特性

TPC-Hのコンポーネントは、8つの個別のテーブル(ベーステーブル)で構成されています。これらのテーブルの列間の関係を次の ER 図に示します。

Schema for TPC-H benchmark data

(ソース: TPC ベンチマークH標準仕様

クエリ定義

各 TPC-Hクエリはビジネスの質問を行い、質問に回答するための対応クエリを含みます。TPC-Hクエリの一部は、Snowflakeの入門チュートリアルに含まれています。

このセクションでは、クエリの1つについて説明します。TPC-Hおよび関連するすべてのクエリの詳細については、公式の TPCベンチマークH標準仕様 をご覧ください。

Q1:価格概要レポートのクエリ

このクエリは、請求、発送、返品されたビジネスの量を報告します。

ビジネスの質問

価格概要レポートクエリは、特定の日付に出荷されたすべての品目の価格概要レポートを提供します。日付は、データベースに含まれる最大出荷日から60-120日以内です。

機能クエリ定義

クエリは、合計価格、割引合計価格、割引合計価格と税金、平均数量、平均合計価格、および平均割引の合計をリストします。これらの集計は、RETURNFLAG と LINESTATUS でグループ化され、RETURNFLAG と LINESTATUS の昇順でリストされます。各グループのラインアイテム数の件数が含まれます。

use schema snowflake_sample_data.tpch_sf1;   -- or snowflake_sample_data.{tpch_sf10 | tpch_sf100 | tpch_sf1000}

select
       l_returnflag,
       l_linestatus,
       sum(l_quantity) as sum_qty,
       sum(l_extendedprice) as sum_base_price,
       sum(l_extendedprice * (1-l_discount)) as sum_disc_price,
       sum(l_extendedprice * (1-l_discount) * (1+l_tax)) as sum_charge,
       avg(l_quantity) as avg_qty,
       avg(l_extendedprice) as avg_price,
       avg(l_discount) as avg_disc,
       count(*) as count_order
 from
       lineitem
 where
       l_shipdate <= dateadd(day, -90, to_date('1998-12-01'))
 group by
       l_returnflag,
       l_linestatus
 order by
       l_returnflag,
       l_linestatus;