샘플 데이터: TPC-H¶
TPC Benchmark™ H (TPC-H) 사양에서의 설명에 따르면:
“TPC-H는 결정 지원 벤치마크로, 비즈니스 지향 애드혹 쿼리 및 동시 데이터 수정 모음으로 구성됩니다. 데이터베이스를 채우는 쿼리와 데이터는 광범위한 업계 전반에서 연관성을 갖도록 선택되었습니다. 이 벤치마크는 대규모 데이터를 검사하고 매우 복잡한 쿼리를 실행하며 중요한 비즈니스 질문에 대한 답변을 제공하는 의사결정 지원 시스템을 보여줍니다.”
이 항목의 내용:
데이터베이스 및 스키마¶
TPC-H는 다양한 배율 인수를 테스트하기 위해 다양한 크기의 데이터 세트와 함께 제공됩니다. 설명을 위해 Snowflake는 4가지 버전의 TPC-H 데이터를 제공합니다. 데이터는 SNOWFLAKE_SAMPLE_DATA 공유 데이터베이스의 다음 스키마에서 제공됩니다.
TPCH_SF1: 기본 행 크기로 구성됩니다(수백만 개의 요소).
TPCH_SF10: 기본 행 크기 x 10으로 구성됩니다.
TPCH_SF100: 기본 행 크기 x 100으로 구성됩니다(수억 개의 요소).
TPCH_SF1000: 기본 행 크기 x 1000으로 구성됩니다(수십억 개의 요소).
데이터베이스 항목, 관계 및 특성¶
TPC-H의 구성 요소는 별도의 개별 테이블 8개(기본 테이블)로 구성됩니다. 이러한 테이블에서 열 사이의 관계에 대한 설명은 다음 ER 다이어그램에서 제공됩니다.
(출처: TPC 벤치마크 H 표준 사양)
쿼리 정의¶
각 TPC-H 쿼리는 비즈니스 관련 질문을 하며 질문에 답하기 위한 해당 쿼리가 포함됩니다. 일부 TPC-H 쿼리는 Snowflake의 시작하기 자습서에 포함되어 있습니다.
이 섹션에서는 해당 쿼리 중 1개를 설명합니다. TPC-H 및 모든 관련 쿼리에 대한 자세한 내용은 공식 TPC 벤치마크 H 표준 사양 에서 확인할 수 있습니다.
Q1: 가격 요약 보고서 쿼리¶
이 쿼리는 청구, 배송 및 반품된 비즈니스 금액을 보고합니다.
비즈니스 질문¶
Pricing Summary Report Query는 지정된 날짜에 배송된 모든 품목에 대한 요약 가격 보고서를 제공합니다. 날짜는 데이터베이스에 포함된 가장 늦은 배송 날짜로부터 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;