Data warehouse na nuvem da AWS - Redshift
Daniel Bento, Arquiteto de Soluções, AWS
31 de Maio de 2016
Agenda
• Introdução
• Benefícios
• Use case
• Começando com o Redshift
• Provisionamento
• Modelagem de Dados
• Carga de Dados
• Fazendo Consultas
• Perguntas e Respostas
AnalisarArmanezar
Amazon
Glacier
Amazon S3
Amazon
DynamoDB
Amazon RDS,
Amazon Aurora
AWS big data portfolio
AWS Data Pipeline
Amazon
CloudSearch
Amazon EMR Amazon EC2
Amazon
Redshift
Amazon
Machine
Learning
Amazon
Elasticsearch
Service
AWS Database
Migration Service
Amazon
QuickSight
Amazon
Kinesis
Firehose
AWS Import/Export
AWS Direct
Connect
Coletar
Amazon Kinesis
Streams
Data warehouse relacional
Processamento paralelo massivo – MPP
Escala de petabytes
Totalmente gerenciado
Plataformas em HDD e SSD
$1,000/TB/ano; comece com $0.25/hora
Amazon
Redshift
+ rápido
+ simples
+ barato
Selected Amazon Redshift customers
Arquitetura do Amazon Redshift - MPP
Leader node
Simple SQL endpoint
Armazenamento de metadados (nome de tabelas, colunas, objetos)
Otimização do plano de execução de queries
Coordenação da execução de queries
Compute nodes
Storage local por colunas
Execução paralela/distribuída de todas as queries, carga de dados,
backups, recuperação e redimensionamento
Comece com $0.25/hora, cresça até 2 PB
DC1: SSD; escala de 160 GB até 326 TB (Dense compute)
DS2: HDD; escala de 2 TB até 2 PB (Dense storage)
Ingestion/Backup
Backup
Restore
JDBC/ODBC
10 GigE
(HPC)
Benefício #1: Amazon Redshift é rápido
Menos I/O
Armazenamento em colunas
Compressão de dados
Zone maps
Direct-attached storage
Blocos de dados grandes (1 MB)
analyze compression listing;
Table | Column | Encoding
---------+----------------+----------
listing | listid | delta
listing | sellerid | delta32k
listing | eventid | delta32k
listing | dateid | bytedict
listing | numtickets | bytedict
listing | priceperticket | delta32k
listing | totalprice | mostly32
listing | listtime | raw
10 | 13 | 14 | 26 |…
… | 100 | 245 | 324
375 | 393 | 417…
… 512 | 549 | 623
637 | 712 | 809 …
… | 834 | 921 | 959
10
324
375
623
637
959
Benefício #1: Amazon Redshift é rápido
Paralelo e distribuído
Query
Cargas
Exportação de dados
Backup
Restauração
Redimensionamento
Benefício #1: Amazon Redshift é rápido
Hardware otimizado para workloads de IO intensivo, 4 GB/seg/nó
Rede aprimorada, mais de 1 milhão de pacotes/seg/nó
Escolha do tipo de armazenamento e tamanho da instância
Melhorias com patchs automáticos
Benefício #2: Amazon Redshift é barato
Ds2 (HDD)
Pre;co por hora pelo
single node DW1.XL
Preço efetivo anual por TB
compactado
On-demand $ 0.850 $ 3,725
1 ano de reserva $ 0.500 $ 2,190
3 anos de reserva $ 0.228 $ 999
Dc1 (SSD)
Preço por hora pelo
single node DW2.L
Preço efetivo anual por TB
compactado
On-demand $ 0.250 $ 13,690
1 ano de reserva $ 0.161 $ 8,795
3 anos de reserva $ 0.100 $ 5,500
Preço é simples
Número de nós x preço/hora
Sem cobranças pelo leader
node
Sem custos iniciais
Pague sob demanda
Benefício #3: Redshift é totalmente gerenciado
Backup contínuo/incremental
Múltiplas cópias dentro do cluster
Backups contínuos e incrementais
para o Amazon S3
Backups contínuos e incrementais
entre regiões
Streaming restore
Amazon S3
Amazon S3
Region 1
Region 2
Benefício #3: Redshift é totalmente gerenciado
Amazon S3
Amazon S3
Region 1
Region 2
Tolerância a falhas
Falhas de disco
Falhas do nó
Falhas de rede
Falhas da Zona de
disponibilidade/Região
Benefício #4: Segurança está embutida
• Carga criptografada a partir do S3
• SSL para segurança de dados em trânsito
• Isolamento de redes com a Amazon VPC
• Criptografia para segurança de dados em
repouso
• Todos os blocos no disco e no S3 critografados
• Block key, cluster key, master key (AES-256)
• Suporte para HSM on-premise & AWS
CloudHSM
• Log de auditoria e integração com o AWS
CloudTrail
• SOC 1/2/3, PCI-DSS, FedRAMP, BAA
10 GigE
(HPC)
Ingestion
Backup
Restore
Customer VPC
Internal
VPC
JDBC/ODBC
Benefício #5: Inovamos rapidamente
Mais de 100 novas features desde o lançamento
Releases a cada duas semanas
Aplicação automática de patchs
Service Launch (2/14)
PDX (4/2)
Temp Credentials (4/11)
DUB (4/25)
SOC1/2/3 (5/8)
Unload Encrypted Files
NRT (6/5)
JDBC Fetch Size (6/27)
Unload logs (7/5)
SHA1 Builtin (7/15)
4 byte UTF-8 (7/18)
Sharing snapshots (7/18)
Statement Timeout (7/22)
Timezone, Epoch, Autoformat (7/25)
WLM Timeout/Wildcards (8/1)
CRC32 Builtin, CSV, Restore Progress
(8/9)
Resource Level IAM (8/9)
PCI (8/22)
UTF-8 Substitution (8/29)
JSON, Regex, Cursors (9/10)
Split_part, Audit tables (10/3)
SIN/SYD (10/8)
HSM Support (11/11)
Kinesis EMR/HDFS/SSH copy,
Distributed Tables, Audit
Logging/CloudTrail, Concurrency, Resize
Perf., Approximate Count Distinct, SNS
Alerts, Cross Region Backup (11/13)
Distributed Tables, Single Node Cursor
Support, Maximum Connections to 500
(12/13)
EIP Support for VPC Clusters (12/28)
New query monitoring system tables and
diststyle all (1/13)
Redshift on DW2 (SSD) Nodes (1/23)
Compression for COPY from SSH, Fetch
size support for single node clusters, new
system tables with commit stats,
row_number(), strotol() and query
termination (2/13)
Resize progress indicator & Cluster
Version (3/21)
Regex_Substr, COPY from JSON (3/25)
50 slots, COPY from EMR, ECDHE
ciphers (4/22)
3 new regex features, Unload to single
file, FedRAMP(5/6)
Rename Cluster (6/2)
Copy from multiple regions,
percentile_cont, percentile_disc (6/30)
Free Trial (7/1)
pg_last_unload_count (9/15)
AES-128 S3 encryption (9/29)
UTF-16 support (9/29)
Benefício #6: Redshift é poderoso
• Approximate functions
• User defined functions (python)
• Integrado com Python Standard
Library, incluindo SciPy e
NumPy
• Machine learning
• Data science
Benefício #7: Amazon Redshift possui um
abrangente ecossistema
Data integration Systems integratorsBusiness intelligence
Benefício #8: Arquitetura orientada a serviço
DynamoDB
EMR
S3
EC2/SSH
RDS/Aurora
Amazon
Redshift
Amazon Kinesis
Amazon ML
Data Pipeline
CloudSearch
Amazon
Mobile
Analytics
Use case
Analyzing Twitter Firehose
Amazon
Redshift
Starts at
$0.25/hour
EC2
Starts at
$0.02/hour
S3
$0.030/GB-Mo
Amazon Glacier
$0.010/GB-Mo
Amazon Kinesis
$0.015/shard 1MB/s in; 2MB/out
$0.028/million puts
Analyzing Twitter Firehose
500MM tweets/dia = ~ 5.800 tweets/seg
2k/tweet ~12MB/seg (~1TB/dia)
$0,015/hora por shard, $0,028/milhão de PUTS
Amazon Kinesis custa $0,765/hora
Amazon Redshift custa $0,850/hora (nó de 2TB)
S3 custa $1,28/hora (sem compressão)
Total: $2,895/hora
Data
warehouses
podem ser
baratos e
poderosos
Começando com o Redshift
Provisionamento
Entre com os detalhes do cluster
Selecione a configuração do nó
Configurações de segurança e redes
Redimensionamento em poucos cliques
Redimensionamento
• Redimensionamento com o cluster
online (somente leitura)
• Um novo cluster é provisionado em
background
• Cópia de dados ocorre em paralelo
nó a nó
• Somente é cobrado pelo cluster de
origem
Modelagem de Dados
SELECT COUNT(*) FROM LOGS WHERE DATE = ‘09-JUNE-2013’
MIN: 01-JUNE-2013
MAX: 20-JUNE-2013
MIN: 08-JUNE-2013
MAX: 30-JUNE-2013
MIN: 12-JUNE-2013
MAX: 20-JUNE-2013
MIN: 02-JUNE-2013
MAX: 25-JUNE-2013
Tabela desordenada
MIN: 01-JUNE-2013
MAX: 06-JUNE-2013
MIN: 07-JUNE-2013
MAX: 12-JUNE-2013
MIN: 13-JUNE-2013
MAX: 18-JUNE-2013
MIN: 19-JUNE-2013
MAX: 24-JUNE-2013
Ordenada pela data
Zone maps
• Single column
• Compound
• Interleaved
Single Column
• Table is sorted by 1 column
Date Region Country
2-JUN-2015 Oceania New Zealand
2-JUN-2015 Asia Singapore
2-JUN-2015 Africa Zaire
2-JUN-2015 Asia Hong Kong
3-JUN-2015 Europe Germany
3-JUN-2015 Asia Korea
[ SORTKEY ( date ) ]
• Melhor para:
• Queries que usam a primeira coluna (i.e. date) como filtro
primário
• Pode acelerar joins e group bys
• Mais rápida para o VACUUM
Compound
• Tabela é ordenada pela primeira coluna, depois pela
segunda coluna e assim por diante.
Date Region Country
2-JUN-2015 Africa Zaire
2-JUN-2015 Asia Korea
2-JUN-2015 Asia Singapore
2-JUN-2015 Europe Germany
3-JUN-2015 Asia Hong Kong
[ SORTKEY COMPOUND ( date, region, country) ]
• Melhor para:
• Queries que usam a primeira coluna como filtro primário, e depois
outras colunas
• Pode acelerar joins e group bys
• Mais lenta para o VACUUM
Interleaved
• Peso igual para cada coluna
Date Region Country
2-JUN-2015 Africa Zaire
3-JUN-2015 Asia Singapore
2-JUN-2015 Asia Korea
2-JUN-2015 Europe Germany
3-JUN-2015 Asia Hong Kong
2-JUN-2015 Asia Korea
[ SORTKEY INTERLEAVED ( date, region, country) ]
• Melhor para:
• Queries que usam diferentes colunas como filtro
• Queries ficam mais rápidas quanto mais colunas são utilizadas
como filtro
• Mais lenta para o VACUUM
• KEY
• ALL
• EVEN
ID Gender Name
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M James White
306 F Lisa Green
2
3
4
ID Gender Name
101 M John Smith
306 F Lisa Green
ID Gender Name
292 F Jane Jones
209 M James White
ID Gender Name
139 M Peter Black
164 M Brian Snail
ID Gender Name
446 M Pat Partridge
658 F Sarah Cyan
Round
Robin
DISTSTYLE EVEN
ID Gender Name
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M James White
306 F Lisa Green
Hash
Function
ID Gender Name
101 M John Smith
306 F Lisa Green
ID Gender Name
292 F Jane Jones
209 M James White
ID Gender Name
139 M Peter Black
164 M Brian Snail
ID Gender Name
446 M Pat Partridge
658 F Sarah Cyan
DISTSTYLE KEY
ID Gender Name
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M James White
306 F Lisa Green
Hash
Function
ID Gender Name
101 M John Smith
139 M Peter Black
446 M Pat Partridge
164 M Brian Snail
209 M James White
ID Gender Name
292 F Jane Jones
658 F Sarah Cyan
306 F Lisa Green
DISTSTYLE KEY
ID Gender Name
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M James White
306 F Lisa Green
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M Lisa Green
306 F James White
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M Lisa Green
306 F James White
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M Lisa Green
306 F James White
101 M John Smith
292 F Jane Jones
139 M Peter Black
446 M Pat Partridge
658 F Sarah Cyan
164 M Brian Snail
209 M Lisa Green
306 F James White
ALL
DISTSTYLE ALL
• KEY
• Tabelas fato grandes
• Tabelas dimensão grandes
• ALL
• Tabelas dimensão de tamanho médio (1K – 2M)
• EVEN
• Tabelas sem joins ou group by
• Tabelas dimensão pequenas (<1000)
Carga de dados
AWS CloudCorporate Data center
Amazon S3
Amazon
Redshift
Flat files
Carga de dados
AWS CloudCorporate Data center
ETL
Source DBs
Amazon
Redshift
Amazon
Redshift
Carga de dados
AWS Cloud
Amazon
Redshift
Amazon
Kinesis
Carga de dados
Use o comando COPY
Cada slice pode carregar um
arquivo por vez
Um único arquivo significa que
somente um slice está
carregando dados
Ao invés de 100MB/s, você
somente consegue 6.25MB/s
Use múltiplos arquivos de entrada para
maximizar o throughput
Use o comando COPY
Você precisa tantos arquivos
quanto o número de slices
Com 16 arquivos, todos os slides
estão trabalhando, assim você
maximiza o throughput
Consiga 100MB/s por nó; escale
linearmente conforme você
adiciona nós
Use múltiplos arquivos de entrada para
maximizar o throughput
Fazendo Consultas
JDBC/ODBC
Amazon Redshift
Amazon Redshift funciona com suas
ferramentas atuais de análise
ODBC/JDBC
BI Clients
Redshift
ODBC/JDBC
BI Server Redshift
Clients
Monitoramento de performance de query
performance
Visualize os planos de execução
Outros recursos
Daniel Bento | dbento@amazon.com |
Páginas de detalhes
• http://aws.amazon.com/redshift
• https://aws.amazon.com/marketplace/redshift/
Melhores Práticas
• http://docs.aws.amazon.com/redshift/latest/dg/c_loading-data-best-practices.html
• http://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html
• http://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html
AWS Summit São Paulo – 02 de Junho de 2016
• https://aws.amazon.com/pt/summits/sao-paulo/

Webinar: Data warehouse na nuvem da AWS

  • 1.
    Data warehouse nanuvem da AWS - Redshift Daniel Bento, Arquiteto de Soluções, AWS 31 de Maio de 2016
  • 2.
    Agenda • Introdução • Benefícios •Use case • Começando com o Redshift • Provisionamento • Modelagem de Dados • Carga de Dados • Fazendo Consultas • Perguntas e Respostas
  • 3.
    AnalisarArmanezar Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS, AmazonAurora AWS big data portfolio AWS Data Pipeline Amazon CloudSearch Amazon EMR Amazon EC2 Amazon Redshift Amazon Machine Learning Amazon Elasticsearch Service AWS Database Migration Service Amazon QuickSight Amazon Kinesis Firehose AWS Import/Export AWS Direct Connect Coletar Amazon Kinesis Streams
  • 4.
    Data warehouse relacional Processamentoparalelo massivo – MPP Escala de petabytes Totalmente gerenciado Plataformas em HDD e SSD $1,000/TB/ano; comece com $0.25/hora Amazon Redshift + rápido + simples + barato
  • 5.
  • 6.
    Arquitetura do AmazonRedshift - MPP Leader node Simple SQL endpoint Armazenamento de metadados (nome de tabelas, colunas, objetos) Otimização do plano de execução de queries Coordenação da execução de queries Compute nodes Storage local por colunas Execução paralela/distribuída de todas as queries, carga de dados, backups, recuperação e redimensionamento Comece com $0.25/hora, cresça até 2 PB DC1: SSD; escala de 160 GB até 326 TB (Dense compute) DS2: HDD; escala de 2 TB até 2 PB (Dense storage) Ingestion/Backup Backup Restore JDBC/ODBC 10 GigE (HPC)
  • 7.
    Benefício #1: AmazonRedshift é rápido Menos I/O Armazenamento em colunas Compressão de dados Zone maps Direct-attached storage Blocos de dados grandes (1 MB) analyze compression listing; Table | Column | Encoding ---------+----------------+---------- listing | listid | delta listing | sellerid | delta32k listing | eventid | delta32k listing | dateid | bytedict listing | numtickets | bytedict listing | priceperticket | delta32k listing | totalprice | mostly32 listing | listtime | raw 10 | 13 | 14 | 26 |… … | 100 | 245 | 324 375 | 393 | 417… … 512 | 549 | 623 637 | 712 | 809 … … | 834 | 921 | 959 10 324 375 623 637 959
  • 8.
    Benefício #1: AmazonRedshift é rápido Paralelo e distribuído Query Cargas Exportação de dados Backup Restauração Redimensionamento
  • 9.
    Benefício #1: AmazonRedshift é rápido Hardware otimizado para workloads de IO intensivo, 4 GB/seg/nó Rede aprimorada, mais de 1 milhão de pacotes/seg/nó Escolha do tipo de armazenamento e tamanho da instância Melhorias com patchs automáticos
  • 10.
    Benefício #2: AmazonRedshift é barato Ds2 (HDD) Pre;co por hora pelo single node DW1.XL Preço efetivo anual por TB compactado On-demand $ 0.850 $ 3,725 1 ano de reserva $ 0.500 $ 2,190 3 anos de reserva $ 0.228 $ 999 Dc1 (SSD) Preço por hora pelo single node DW2.L Preço efetivo anual por TB compactado On-demand $ 0.250 $ 13,690 1 ano de reserva $ 0.161 $ 8,795 3 anos de reserva $ 0.100 $ 5,500 Preço é simples Número de nós x preço/hora Sem cobranças pelo leader node Sem custos iniciais Pague sob demanda
  • 11.
    Benefício #3: Redshifté totalmente gerenciado Backup contínuo/incremental Múltiplas cópias dentro do cluster Backups contínuos e incrementais para o Amazon S3 Backups contínuos e incrementais entre regiões Streaming restore Amazon S3 Amazon S3 Region 1 Region 2
  • 12.
    Benefício #3: Redshifté totalmente gerenciado Amazon S3 Amazon S3 Region 1 Region 2 Tolerância a falhas Falhas de disco Falhas do nó Falhas de rede Falhas da Zona de disponibilidade/Região
  • 13.
    Benefício #4: Segurançaestá embutida • Carga criptografada a partir do S3 • SSL para segurança de dados em trânsito • Isolamento de redes com a Amazon VPC • Criptografia para segurança de dados em repouso • Todos os blocos no disco e no S3 critografados • Block key, cluster key, master key (AES-256) • Suporte para HSM on-premise & AWS CloudHSM • Log de auditoria e integração com o AWS CloudTrail • SOC 1/2/3, PCI-DSS, FedRAMP, BAA 10 GigE (HPC) Ingestion Backup Restore Customer VPC Internal VPC JDBC/ODBC
  • 14.
    Benefício #5: Inovamosrapidamente Mais de 100 novas features desde o lançamento Releases a cada duas semanas Aplicação automática de patchs Service Launch (2/14) PDX (4/2) Temp Credentials (4/11) DUB (4/25) SOC1/2/3 (5/8) Unload Encrypted Files NRT (6/5) JDBC Fetch Size (6/27) Unload logs (7/5) SHA1 Builtin (7/15) 4 byte UTF-8 (7/18) Sharing snapshots (7/18) Statement Timeout (7/22) Timezone, Epoch, Autoformat (7/25) WLM Timeout/Wildcards (8/1) CRC32 Builtin, CSV, Restore Progress (8/9) Resource Level IAM (8/9) PCI (8/22) UTF-8 Substitution (8/29) JSON, Regex, Cursors (9/10) Split_part, Audit tables (10/3) SIN/SYD (10/8) HSM Support (11/11) Kinesis EMR/HDFS/SSH copy, Distributed Tables, Audit Logging/CloudTrail, Concurrency, Resize Perf., Approximate Count Distinct, SNS Alerts, Cross Region Backup (11/13) Distributed Tables, Single Node Cursor Support, Maximum Connections to 500 (12/13) EIP Support for VPC Clusters (12/28) New query monitoring system tables and diststyle all (1/13) Redshift on DW2 (SSD) Nodes (1/23) Compression for COPY from SSH, Fetch size support for single node clusters, new system tables with commit stats, row_number(), strotol() and query termination (2/13) Resize progress indicator & Cluster Version (3/21) Regex_Substr, COPY from JSON (3/25) 50 slots, COPY from EMR, ECDHE ciphers (4/22) 3 new regex features, Unload to single file, FedRAMP(5/6) Rename Cluster (6/2) Copy from multiple regions, percentile_cont, percentile_disc (6/30) Free Trial (7/1) pg_last_unload_count (9/15) AES-128 S3 encryption (9/29) UTF-16 support (9/29)
  • 15.
    Benefício #6: Redshifté poderoso • Approximate functions • User defined functions (python) • Integrado com Python Standard Library, incluindo SciPy e NumPy • Machine learning • Data science
  • 16.
    Benefício #7: AmazonRedshift possui um abrangente ecossistema Data integration Systems integratorsBusiness intelligence
  • 17.
    Benefício #8: Arquiteturaorientada a serviço DynamoDB EMR S3 EC2/SSH RDS/Aurora Amazon Redshift Amazon Kinesis Amazon ML Data Pipeline CloudSearch Amazon Mobile Analytics
  • 18.
  • 19.
  • 20.
    Amazon Redshift Starts at $0.25/hour EC2 Starts at $0.02/hour S3 $0.030/GB-Mo AmazonGlacier $0.010/GB-Mo Amazon Kinesis $0.015/shard 1MB/s in; 2MB/out $0.028/million puts Analyzing Twitter Firehose
  • 21.
    500MM tweets/dia =~ 5.800 tweets/seg 2k/tweet ~12MB/seg (~1TB/dia) $0,015/hora por shard, $0,028/milhão de PUTS Amazon Kinesis custa $0,765/hora Amazon Redshift custa $0,850/hora (nó de 2TB) S3 custa $1,28/hora (sem compressão) Total: $2,895/hora Data warehouses podem ser baratos e poderosos
  • 22.
  • 23.
  • 24.
    Entre com osdetalhes do cluster
  • 25.
  • 26.
  • 27.
  • 28.
    Redimensionamento • Redimensionamento como cluster online (somente leitura) • Um novo cluster é provisionado em background • Cópia de dados ocorre em paralelo nó a nó • Somente é cobrado pelo cluster de origem
  • 29.
  • 30.
    SELECT COUNT(*) FROMLOGS WHERE DATE = ‘09-JUNE-2013’ MIN: 01-JUNE-2013 MAX: 20-JUNE-2013 MIN: 08-JUNE-2013 MAX: 30-JUNE-2013 MIN: 12-JUNE-2013 MAX: 20-JUNE-2013 MIN: 02-JUNE-2013 MAX: 25-JUNE-2013 Tabela desordenada MIN: 01-JUNE-2013 MAX: 06-JUNE-2013 MIN: 07-JUNE-2013 MAX: 12-JUNE-2013 MIN: 13-JUNE-2013 MAX: 18-JUNE-2013 MIN: 19-JUNE-2013 MAX: 24-JUNE-2013 Ordenada pela data Zone maps
  • 31.
    • Single column •Compound • Interleaved
  • 32.
    Single Column • Tableis sorted by 1 column Date Region Country 2-JUN-2015 Oceania New Zealand 2-JUN-2015 Asia Singapore 2-JUN-2015 Africa Zaire 2-JUN-2015 Asia Hong Kong 3-JUN-2015 Europe Germany 3-JUN-2015 Asia Korea [ SORTKEY ( date ) ] • Melhor para: • Queries que usam a primeira coluna (i.e. date) como filtro primário • Pode acelerar joins e group bys • Mais rápida para o VACUUM
  • 33.
    Compound • Tabela éordenada pela primeira coluna, depois pela segunda coluna e assim por diante. Date Region Country 2-JUN-2015 Africa Zaire 2-JUN-2015 Asia Korea 2-JUN-2015 Asia Singapore 2-JUN-2015 Europe Germany 3-JUN-2015 Asia Hong Kong [ SORTKEY COMPOUND ( date, region, country) ] • Melhor para: • Queries que usam a primeira coluna como filtro primário, e depois outras colunas • Pode acelerar joins e group bys • Mais lenta para o VACUUM
  • 34.
    Interleaved • Peso igualpara cada coluna Date Region Country 2-JUN-2015 Africa Zaire 3-JUN-2015 Asia Singapore 2-JUN-2015 Asia Korea 2-JUN-2015 Europe Germany 3-JUN-2015 Asia Hong Kong 2-JUN-2015 Asia Korea [ SORTKEY INTERLEAVED ( date, region, country) ] • Melhor para: • Queries que usam diferentes colunas como filtro • Queries ficam mais rápidas quanto mais colunas são utilizadas como filtro • Mais lenta para o VACUUM
  • 35.
  • 36.
    ID Gender Name 101M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M James White 306 F Lisa Green 2 3 4 ID Gender Name 101 M John Smith 306 F Lisa Green ID Gender Name 292 F Jane Jones 209 M James White ID Gender Name 139 M Peter Black 164 M Brian Snail ID Gender Name 446 M Pat Partridge 658 F Sarah Cyan Round Robin DISTSTYLE EVEN
  • 37.
    ID Gender Name 101M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M James White 306 F Lisa Green Hash Function ID Gender Name 101 M John Smith 306 F Lisa Green ID Gender Name 292 F Jane Jones 209 M James White ID Gender Name 139 M Peter Black 164 M Brian Snail ID Gender Name 446 M Pat Partridge 658 F Sarah Cyan DISTSTYLE KEY
  • 38.
    ID Gender Name 101M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M James White 306 F Lisa Green Hash Function ID Gender Name 101 M John Smith 139 M Peter Black 446 M Pat Partridge 164 M Brian Snail 209 M James White ID Gender Name 292 F Jane Jones 658 F Sarah Cyan 306 F Lisa Green DISTSTYLE KEY
  • 39.
    ID Gender Name 101M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M James White 306 F Lisa Green 101 M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M Lisa Green 306 F James White 101 M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M Lisa Green 306 F James White 101 M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M Lisa Green 306 F James White 101 M John Smith 292 F Jane Jones 139 M Peter Black 446 M Pat Partridge 658 F Sarah Cyan 164 M Brian Snail 209 M Lisa Green 306 F James White ALL DISTSTYLE ALL
  • 40.
    • KEY • Tabelasfato grandes • Tabelas dimensão grandes • ALL • Tabelas dimensão de tamanho médio (1K – 2M) • EVEN • Tabelas sem joins ou group by • Tabelas dimensão pequenas (<1000)
  • 41.
  • 42.
    AWS CloudCorporate Datacenter Amazon S3 Amazon Redshift Flat files Carga de dados
  • 43.
    AWS CloudCorporate Datacenter ETL Source DBs Amazon Redshift Amazon Redshift Carga de dados
  • 44.
  • 45.
    Use o comandoCOPY Cada slice pode carregar um arquivo por vez Um único arquivo significa que somente um slice está carregando dados Ao invés de 100MB/s, você somente consegue 6.25MB/s Use múltiplos arquivos de entrada para maximizar o throughput
  • 46.
    Use o comandoCOPY Você precisa tantos arquivos quanto o número de slices Com 16 arquivos, todos os slides estão trabalhando, assim você maximiza o throughput Consiga 100MB/s por nó; escale linearmente conforme você adiciona nós Use múltiplos arquivos de entrada para maximizar o throughput
  • 47.
  • 48.
    JDBC/ODBC Amazon Redshift Amazon Redshiftfunciona com suas ferramentas atuais de análise
  • 49.
  • 50.
  • 51.
    Monitoramento de performancede query performance
  • 52.
    Visualize os planosde execução
  • 53.
    Outros recursos Daniel Bento| dbento@amazon.com | Páginas de detalhes • http://aws.amazon.com/redshift • https://aws.amazon.com/marketplace/redshift/ Melhores Práticas • http://docs.aws.amazon.com/redshift/latest/dg/c_loading-data-best-practices.html • http://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html • http://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html AWS Summit São Paulo – 02 de Junho de 2016 • https://aws.amazon.com/pt/summits/sao-paulo/