Amostra de dados: 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.”
Neste tópico:
Banco de dados e esquemas¶
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).
Entidades, relacionamentos e características do banco de dados¶
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:
Definições de consulta¶
Cada consulta TPC-H faz uma pergunta comercial e inclui a consulta correspondente para responder à pergunta. Algumas das consultas TPC-H estão incluídas nos tutoriais de início rápido do Snowflake.
Esta seção descreve uma das consultas. Mais informações sobre TPC-H e todas as consultas envolvidas podem ser encontradas no documento oficial TPC Benchmark H Standard Specification.
Q1: Pricing Summary Report Query¶
Esta consulta reporta a quantidade de negócios que foram faturados, enviados e devolvidos.
Questão comercial¶
A consulta fornece um relatório resumido de preços para todos os itens de linha enviados a partir de uma determinada data. A data está dentro de 60-120 dias da maior data de envio contida no banco de dados.
Definição da consulta funcional¶
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;