Sample data: TPC-H¶
Como descrito na especificação TPC Benchmark™ H (TPC-H):
“O TPC-H é um benchmark de suporte à decisão. Consiste em um conjunto de consultas ad hoc orientadas aos negócios e modificações de dados simultâneas. As consultas e os dados que povoam o banco de dados foram escolhidos para ter ampla relevância em toda a indústria. Este benchmark ilustra sistemas de suporte à decisão que examinam grandes volumes de dados, executam consultas com um alto grau de complexidade e dão respostas a questões críticas de negócios.”
Database and schemas¶
O TPC-H vem com vários tamanhos de conjuntos de dados para testar diferentes fatores de escalonamento. Para fins de demonstração, compartilhamos quatro versões dos dados TPC-H. Os dados são fornecidos nos seguintes esquemas no banco de dados compartilhado SNOWFLAKE_SAMPLE_DATA:
TPCH_SF1: Consiste no tamanho da linha de base (vários milhões de elementos).
TPCH_SF10: Consiste no tamanho da linha de base x 10.
TPCH_SF100: Consiste no tamanho da linha de base x 100 (várias centenas de milhões de elementos).
TPCH_SF1000: Consiste no tamanho da linha de base x 1000 (vários bilhões de elementos).
Database entities, relationships, and characteristics¶
Os componentes do TPC-H consistem em oito tabelas separadas e individuais (as tabelas base). As relações entre as colunas nestas tabelas estão ilustradas no diagrama ER a seguir:
Query definitions¶
Each TPC-H query asks a business question and includes the corresponding query to answer the question. Some of the TPC-H queries are included in Snowflake’s Get Started tutorials.
This section describes one of the queries. For more information about TPC-H and all the queries that are involved, see the official TPC Benchmark H Standard Specification.
Q1: Pricing summary report query¶
Esta consulta reporta a quantidade de negócios que foram faturados, enviados e devolvidos.
Business question¶
The Pricing Summary Report Query provides a summary pricing report for all line items that were shipped as of a given date. The date is within 60-120 days of the greatest ship date contained in the database.
Functional query definition¶
A consulta lista os totais de preço estendido, preço estendido com desconto, preço estendido com desconto mais imposto, quantidade média, preço estendido médio e desconto médio. Estes agregados são agrupados por RETURNFLAG e LINESTATUS e listados em ordem crescente de RETURNFLAG e LINESTATUS. Está incluída uma contagem do número de itens de linha em cada grupo:
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;