webinar: data warehouse na nuvem da aws
TRANSCRIPT
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
RoundRobin
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
HashFunction
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
HashFunction
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 S3Amazon
Redshift
Flat files
Carga de dados
AWS CloudCorporate Data center
ETL
Source DBs
Amazon
Redshift
Amazon
Redshift
Carga de dados
AWS Cloud
Amazon
RedshiftAmazon
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ó; escalelinearmente 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 ClientsRedshift
ODBC/JDBC
BI Server Redshift
Clients
Monitoramento de performance de query
performance
Visualize os planos de execução
Outros recursos
Daniel Bento | [email protected] |
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/