SlideShare uma empresa Scribd logo
1 de 31
AWS REDSHIFT
PRIMER
...ou como um Data Warehouse pode complementar sua
estratégia de dados e trazer impacto no seu negócio
através de analytics (sem te levar à falência)
MATEUS AUBIN
Desenvolvedor desde 2008
Cloud e Big Data desde 2014
Mestrando na UNISINOS
DATA WAREHOUSE
… mas o que é isso?
APENAS MAIS UM BANCO DE DADOS
centrado na aplicação
transacional
cadastros
tempo de resposta
dados normalizados (3NF)
centrado no negócio
analítico
eventos
volume de dados
star / snowflake schema
RELACIONAL DATA WAREHOUSE
IT’S ALL ABOUT
ANALYTICS
REDSHIFT
… vamos ao que interessa
Amazon Redshift is a fast, fully managed data
warehouse that makes it simple and cost-effective to
analyze all your data using standard SQL and your
existing Business Intelligence (BI) tools. It allows you
to run complex analytic queries against petabytes of
structured data, using sophisticated query
optimization, columnar storage on high-performance
local disks, and massively parallel query execution.
Amazon Redshift is a fast, fully managed data
warehouse that makes it simple and cost-effective to
analyze all your data using standard SQL and your
existing Business Intelligence (BI) tools. It allows you
to run complex analytic queries against petabytes of
structured data, using sophisticated query
optimization, columnar storage on high-performance
local disks, and massively parallel query execution.
DIFERENTES “SABORES”
2 vCPU
15 GB
0.16 TB
$ 0.25 / h
4 vCPU
31 GB
2 TB
$ 0.85 / h
36 vCPU
244 GB
16 TB
$ 6.80 / h
32 vCPU
244 GB
2.56 TB
$ 4.80 / h
DIFERENTES “SABORES”
2 vCPU
15 GB
0.16 TB
$ 0.25 / h
4 vCPU
31 GB
2 TB
$ 0.85 / h
36 vCPU
244 GB
16 TB
$ 6.80 / h
32 vCPU
244 GB
2.56 TB
$ 4.80 / h
DIFERENTES “SABORES”
2 vCPU
15 GB
0.16 TB
$ 0.25 / h
4 vCPU
31 GB
2 TB
$ 0.85 / h
36 vCPU
244 GB
16 TB
$ 6.80 / h
32 vCPU
244 GB
2.56 TB
$ 4.80 / h
GERENCIADO
RESIZE
1. Coloca o cluster em
READ-ONLY
2. Provisiona um novo cluster
3. Redistribui os dados
4. Aponta o DNS para o novo
cluster
5. Descarta o cluster antigo
BACKUPS
• Direto para o S3
• Sem impacto de performance
• Ocorre a cada:
• 5 GB modificados
• 8 horas
• Manual
MANUTENÇÃO
• Atualizações de S.O.
• Atualizações de Aplicação
• Otimização do Stack
• Painel de Monitoramento
• Health Check
• Substituição de Nodes
CONCEITOS
… desvendando o mistério por trás da performance
CONCEITOS
COLUMNAR
STORAGE
• Reduz I/O
• Lê apenas aquilo
que precisa
• Favorece a
compressão
COMPRESSION
• Reduz I/O
• Mais eficaz por
conta da estrutura
colunar
• Reduz o espaço
ocupado
SORT KEY(S)
• Zone Maps
• Evita I/O
desnecessário
• Ordenação física
dos registros
DISTRIBUTION
KEY
• Particionamento
entre Nodes
• Três estilos
• ALL
• KEY
• EVEN
CONCEITOS
COLUMNAR
STORAGE
• Reduz I/O
• Lê apenas aquilo
que precisa
• Favorece a
compressão
CONCEITOS
COMPRESSION
• Reduz I/O
• Mais eficaz por
conta da estrutura
colunar
• Reduz o espaço
ocupado
CONCEITOS
SORT KEY(S)
• Zone Maps
• Evita I/O
desnecessário
• Ordenação física
dos registros
CONCEITOS
DISTRIBUTION
KEY
• Particionamento
entre Nodes
• Três estilos
• ALL
• KEY
• EVEN
KEY ALL EVEN
A PARTE RUIM
… porque nada é perfeito
...WE'RE NOT IN
KANSAS ANYMORE
TRANSAÇÕES
• Nada de
ISOLATION LEVELS
• Tudo é
SERIALIZABLE
• Two-phase commit
por ser um sistema
distribuído com
replicação
CONSTRAINTS
• PRIMARY KEY,
FOREIGN KEY,
UNIQUE
• Não são
“enforçadas”
• No entanto são
usadas pelo
optimizer
VACUUM
• Blocos são
imutáveis e
deletes são
lógicos
• Reorganiza os
dados na tabela
• “Devolve” o espaço
em disco
APENAS DADOS
• Lógica só na
aplicação
• Não suporta
IF, WHILE,
ou qualquer outra
estrutura de código
CONTUDO.....
(GERENCIADO)
ROI INDIRETO ATRAVÉS DE
MELHORIAS REALIZADAS
PELA AWS
performance
for commits
performance for
repeated queries
query processing (subqueries
& complex analytical queries)
resource management for
memory-intensive queries
string manipulation
STATISTICS
automatically updates table
statistics on your cluster via the
new Auto Analyze feature
VACUUM
automatically runs in the
background to reclaim the
space freed by deleted rows
CONTUDO.....
(GERENCIADO)
FLEET
TELEMETRY
On a fleet-wide basis, repetitive queries
are 17x faster, deletes are 10x faster,
single-row inserts are 3x faster, and
commits are 2x faster
CONCURRENCY
SCALING
Concurrency Scaling is a new
feature in Amazon Redshift that
adds transient capacity when
needed, to handle heavy demand
from concurrent users and queries
CONTUDO.....
(GERENCIADO)
O QUE NÃO FOI DITO
… pois rende uma talk exclusiva
O QUE NÃO FOI DITO
WORKLOAD
MANAGEMENT
• Gerenciamento de prioridades
• Filas e Classes de Serviços
• Níveis de concorrência
• Alocação de memória
• Timeouts
SPECTRUM
• Consultas direto do S3
• Integração com Data Lake
• Mescla dados do DW com
arquivos no S3
• Poder computacional proporcional
ao tamanho dos dados, não
necessariamente do cluster
REFERÊNCIAS
https://aws.amazon.com/redshift/
https://aws.amazon.com/data-warehouse/
https://www.healthcatalyst.com/database-vs-data-warehouse-a-comparative-
review/2/
https://www.slideshare.net/AmazonWebServices/aws-webcast-33652878
https://www.slideshare.net/AmazonWebServices/deep-dive-on-amazon-
redshift-72473281
https://www.slideshare.net/AmazonWebServices/amazon-redshift-deep-dive-
62439649
https://www.slideshare.net/AmazonWebServices/abd304rbest-practices-for-
data-warehousing-with-amazon-redshift-spectrum
https://docs.aws.amazon.com/redshift/latest/dg/vacuum-managing-volume-
of-unmerged-rows.html
https://docs.aws.amazon.com/redshift/latest/mgmt/rs-mgmt-cluster-version-
notes.html
https://twitter.com/Werner/status/1061056953399439360
https://www.allthingsdistributed.com/2018/11/amazon-redshift-performance-
optimization.html

Mais conteúdo relacionado

Mais procurados

Construção da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em EscalaConstrução da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em Escalarkwseijuurou
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open sourceMatheus Espanhol
 
AWS Meetup Rio - Qual banco usar e quando?
AWS Meetup Rio - Qual banco usar e quando?AWS Meetup Rio - Qual banco usar e quando?
AWS Meetup Rio - Qual banco usar e quando?Pedro Pisa
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso PráticoEiti Kimura
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosEiti Kimura
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSBancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSAmazon Web Services LATAM
 
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços Móveis
QConSP 2014 - Cassandra no Desenvolvimento  de Aplicações para  serviços MóveisQConSP 2014 - Cassandra no Desenvolvimento  de Aplicações para  serviços Móveis
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços MóveisEiti Kimura
 
SP Big Data Meetup - Conhecendo Apache Cassandra @Movile
SP Big Data Meetup - Conhecendo Apache Cassandra @MovileSP Big Data Meetup - Conhecendo Apache Cassandra @Movile
SP Big Data Meetup - Conhecendo Apache Cassandra @MovileEiti Kimura
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Advanced compression external_tables
Advanced compression external_tablesAdvanced compression external_tables
Advanced compression external_tablesRodrigo Mufalani
 
Quais são as opções de banco de dados gerenciados na AWS?
 Quais são as opções de banco de dados gerenciados na AWS? Quais são as opções de banco de dados gerenciados na AWS?
Quais são as opções de banco de dados gerenciados na AWS?Amazon Web Services LATAM
 
Exadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesExadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesLuis Marques
 
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Felipe
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkFelipe
 

Mais procurados (20)

Construção da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em EscalaConstrução da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em Escala
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open source
 
AWS Meetup Rio - Qual banco usar e quando?
AWS Meetup Rio - Qual banco usar e quando?AWS Meetup Rio - Qual banco usar e quando?
AWS Meetup Rio - Qual banco usar e quando?
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
DynamoDB - Uma Introdução
DynamoDB - Uma IntroduçãoDynamoDB - Uma Introdução
DynamoDB - Uma Introdução
 
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSBancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
 
Aws glue
Aws glueAws glue
Aws glue
 
Inovacao em-escala-final
Inovacao em-escala-finalInovacao em-escala-final
Inovacao em-escala-final
 
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços Móveis
QConSP 2014 - Cassandra no Desenvolvimento  de Aplicações para  serviços MóveisQConSP 2014 - Cassandra no Desenvolvimento  de Aplicações para  serviços Móveis
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços Móveis
 
SP Big Data Meetup - Conhecendo Apache Cassandra @Movile
SP Big Data Meetup - Conhecendo Apache Cassandra @MovileSP Big Data Meetup - Conhecendo Apache Cassandra @Movile
SP Big Data Meetup - Conhecendo Apache Cassandra @Movile
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Advanced compression external_tables
Advanced compression external_tablesAdvanced compression external_tables
Advanced compression external_tables
 
Quais são as opções de banco de dados gerenciados na AWS?
 Quais são as opções de banco de dados gerenciados na AWS? Quais são as opções de banco de dados gerenciados na AWS?
Quais são as opções de banco de dados gerenciados na AWS?
 
Exadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesExadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das Partes
 
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 

Semelhante a AWS Redshift: um guia completo sobre o Data Warehouse da AWS

AWS Redshift Primer
AWS Redshift PrimerAWS Redshift Primer
AWS Redshift PrimerMateus Aubin
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016Roberto Fonseca
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftAmazon Web Services LATAM
 
Elastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreElastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreRafael Gomes
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Cloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceCloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceSaveincloud
 
Explorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraExplorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraAmazon Web Services LATAM
 
Oracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoOracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoRodrigo Almeida
 

Semelhante a AWS Redshift: um guia completo sobre o Data Warehouse da AWS (20)

AWS Redshift Primer
AWS Redshift PrimerAWS Redshift Primer
AWS Redshift Primer
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
 
Elastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreElastic MeetUp Porto Alegre
Elastic MeetUp Porto Alegre
 
SQLSat #127
SQLSat #127SQLSat #127
SQLSat #127
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
Introducao ao Amazon Redshift
Introducao ao Amazon RedshiftIntroducao ao Amazon Redshift
Introducao ao Amazon Redshift
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
TRIO IT - Resumo
TRIO IT - ResumoTRIO IT - Resumo
TRIO IT - Resumo
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Deep dive com Amazon Aurora
Deep dive com Amazon AuroraDeep dive com Amazon Aurora
Deep dive com Amazon Aurora
 
Cloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceCloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performance
 
Explorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraExplorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon Aurora
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Introducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+gehIntroducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+geh
 
Oracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoOracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & Migração
 

AWS Redshift: um guia completo sobre o Data Warehouse da AWS