webinar: data warehouse na nuvem da aws

53
Data warehouse na nuvem da AWS - Redshift Daniel Bento, Arquiteto de Soluções, AWS 31 de Maio de 2016

Upload: amazon-web-services-latam

Post on 07-Jan-2017

504 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Webinar: Data warehouse na nuvem da AWS

Data warehouse na nuvem da AWS - Redshift

Daniel Bento, Arquiteto de Soluções, AWS

31 de Maio de 2016

Page 2: Webinar: Data warehouse na nuvem da AWS

Agenda

• Introdução

• Benefícios

• Use case

• Começando com o Redshift

• Provisionamento

• Modelagem de Dados

• Carga de Dados

• Fazendo Consultas

• Perguntas e Respostas

Page 3: Webinar: Data warehouse na nuvem da AWS

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

Page 4: Webinar: Data warehouse na nuvem da AWS

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

Page 5: Webinar: Data warehouse na nuvem da AWS

Selected Amazon Redshift customers

Page 6: Webinar: Data warehouse na nuvem da AWS

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)

Page 7: Webinar: Data warehouse na nuvem da AWS

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

Page 8: Webinar: Data warehouse na nuvem da AWS

Benefício #1: Amazon Redshift é rápido

Paralelo e distribuído

Query

Cargas

Exportação de dados

Backup

Restauração

Redimensionamento

Page 9: Webinar: Data warehouse na nuvem da AWS

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

Page 10: Webinar: Data warehouse na nuvem da AWS

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

Page 11: Webinar: Data warehouse na nuvem da AWS

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

Page 12: Webinar: Data warehouse na nuvem da AWS

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

Page 13: Webinar: Data warehouse na nuvem da AWS

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

Page 14: Webinar: Data warehouse na nuvem da AWS

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)

Page 15: Webinar: Data warehouse na nuvem da AWS

Benefício #6: Redshift é poderoso

• Approximate functions

• User defined functions (python)

• Integrado com Python Standard

Library, incluindo SciPy e

NumPy

• Machine learning

• Data science

Page 16: Webinar: Data warehouse na nuvem da AWS

Benefício #7: Amazon Redshift possui um

abrangente ecossistema

Data integration Systems integratorsBusiness intelligence

Page 17: Webinar: Data warehouse na nuvem da AWS

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

Page 18: Webinar: Data warehouse na nuvem da AWS

Use case

Page 19: Webinar: Data warehouse na nuvem da AWS

Analyzing Twitter Firehose

Page 20: Webinar: Data warehouse na nuvem da AWS

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

Page 21: Webinar: Data warehouse na nuvem da AWS

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

Page 22: Webinar: Data warehouse na nuvem da AWS

Começando com o Redshift

Page 23: Webinar: Data warehouse na nuvem da AWS

Provisionamento

Page 24: Webinar: Data warehouse na nuvem da AWS

Entre com os detalhes do cluster

Page 25: Webinar: Data warehouse na nuvem da AWS

Selecione a configuração do nó

Page 26: Webinar: Data warehouse na nuvem da AWS

Configurações de segurança e redes

Page 27: Webinar: Data warehouse na nuvem da AWS

Redimensionamento em poucos cliques

Page 28: Webinar: Data warehouse na nuvem da AWS

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

Page 29: Webinar: Data warehouse na nuvem da AWS

Modelagem de Dados

Page 30: Webinar: Data warehouse na nuvem da AWS

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

Page 31: Webinar: Data warehouse na nuvem da AWS

• Single column

• Compound

• Interleaved

Page 32: Webinar: Data warehouse na nuvem da AWS

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

Page 33: Webinar: Data warehouse na nuvem da AWS

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

Page 34: Webinar: Data warehouse na nuvem da AWS

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

Page 35: Webinar: Data warehouse na nuvem da AWS

• KEY

• ALL

• EVEN

Page 36: Webinar: Data warehouse na nuvem da AWS

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

Page 37: Webinar: Data warehouse na nuvem da AWS

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

Page 38: Webinar: Data warehouse na nuvem da AWS

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

Page 39: Webinar: Data warehouse na nuvem da AWS

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

Page 40: Webinar: Data warehouse na nuvem da AWS

• 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)

Page 41: Webinar: Data warehouse na nuvem da AWS

Carga de dados

Page 42: Webinar: Data warehouse na nuvem da AWS

AWS CloudCorporate Data center

Amazon S3Amazon

Redshift

Flat files

Carga de dados

Page 43: Webinar: Data warehouse na nuvem da AWS

AWS CloudCorporate Data center

ETL

Source DBs

Amazon

Redshift

Amazon

Redshift

Carga de dados

Page 44: Webinar: Data warehouse na nuvem da AWS

AWS Cloud

Amazon

RedshiftAmazon

Kinesis

Carga de dados

Page 45: Webinar: Data warehouse na nuvem da AWS

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

Page 46: Webinar: Data warehouse na nuvem da AWS

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

Page 47: Webinar: Data warehouse na nuvem da AWS

Fazendo Consultas

Page 48: Webinar: Data warehouse na nuvem da AWS

JDBC/ODBC

Amazon Redshift

Amazon Redshift funciona com suas

ferramentas atuais de análise

Page 49: Webinar: Data warehouse na nuvem da AWS

ODBC/JDBC

BI ClientsRedshift

Page 50: Webinar: Data warehouse na nuvem da AWS

ODBC/JDBC

BI Server Redshift

Clients

Page 51: Webinar: Data warehouse na nuvem da AWS

Monitoramento de performance de query

performance

Page 52: Webinar: Data warehouse na nuvem da AWS

Visualize os planos de execução

Page 53: Webinar: Data warehouse na nuvem da AWS

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/