SlideShare uma empresa Scribd logo
1 de 42
Trilha Big Data:
A jornada para construir um
Data Lake na nuvem
Matheus Espanhol
O que vem por aí...
Google Cloud Storage
Google BigQuery
SPECTRUM
Se você pensar em um Data Mart como uma garrafa de água:
limpa, embalada e estruturada para fácil consumo. O Data Lake é
onde a água se encontra em seu estado mais natural. Essa água
veio de diversas fontes e várias pessoas podem vir a examinar,
mergulhar ou colher amostras da água do lago.
James Dixon - Pentaho CTO
DATA LAKE
DATA LAKE
Armazena dados em formato natural
DATA LAKE
Todos os dados da organização em um só lugar
Armazena dados em formato natural
DATA LAKE
Insights rápidos
Todos os dados da organização em um só lugar
Armazena dados em formato natural
DATA LAKE
Fácil adaptação
a mudanças
Insights rápidos
Todos os dados da organização em um só lugar
Armazena dados em formato natural
DATA LAKE
Suporta todos os
tipos de dados
Fácil adaptação
a mudanças
Insights rápidos
Todos os dados da organização em um só lugar
Armazena dados em formato natural
DATA LAKE
Suporta todos os
tipos de dados
Fácil adaptação
a mudanças
Acessível para
diferentes perfis de
usuários
Insights rápidos
Todos os dados da organização em um só lugar
Armazena dados em formato natural
Amazon S3
Durabilidade de 99.999999999%
Disponibilidade de 99.99%
$0.023/GB
$0.0125/GB
$0.004/GB
Google Cloud Storage (GCS)
Durabilidade de 99.999999999%
Disponibilidade de 99.95%
Acesso instantâneo a todas classes de storage
$0.026/GB $0.023/GB $0.016/GB $0.010/GB
A Movile
Líder em marketplaces móveis
100 milhões de pessoas utilizam os serviços da Movile todo mês
Estamos conectados a mais de 70 operadoras em toda América
Comparativo entre cloud storages
Tabela: event_YYYYMM - 380 GB/mês
9 meses
2017
5 anos (event_201201 - event_201612)
3 meses
2017
Coldline Nearline Regional
18.2 TB 3.4 TB 1.1 TBGCS: $ 184,68 / mês
9 meses
2017
5 anos (event_201201 - event_201612)
IA Standard
18.2 TB 3.4 TB 1.1 TB
Glacier
12 meses
2017
5 anos (event_201201 - event_201612)
Standard
18.2 TB 4.5 TB
IA
S3: $ 141,81 / mês
S3: $ 296,97 / mês
Presto
Presto - Monitoramento
Presto - Airpal
Amazon Elastic Map Reduce (EMR)
Facilita a configuração e gerenciamento de clusters Hadoop
EMR File System (EMRFS) para compatibilidade entre S3 e HDFS
Possibilidade de alocar instâncias Spot
Substituição automática de nós do cluster
Monitoramento com CloudWatch
Presto no EMR
Consultar diretamente os dados no S3
Dados mais utilizados no HDFS
Scale-up e Scale-down online
Excelente suporte SQL
Presto no EMR
Consultar diretamente os dados no S3
Dados mais utilizados no HDFS
Scale-up e Scale-down online
Excelente suporte SQL
Vamos substituir o Redshift?
Gargalo
Download do arquivo CSV do S3
Solução
Mudar formato de arquivo (Parquet, ORC)
Mudar compactação (Gzip, Snappy, LZ)
Aumentar número de worker nodes
Presto - Spark - Hive - EMR
Text Gzip Parquet Snappy Parquet Gzip ORC
Tempo de conversão do arquivo 93 min 37 min 78 min
Tamanho do arquivo no S3 61.4 GB +197.1 GB +45.1 GB +42.3 GB
Tempo de count 3:35 min 1:01 min 11 sec 16 sec
Tempo de query com agregação 3:40 min 47 sec 2:19 min 22 sec
Linhas transferidas por segundo 1.72M rows/s 6.12M rows/s 34.7M rows/s 19.7M rows/s
Taxa de transferência 292MB/s 1.85GB/s 2.93GB/s 14.6MB/s
Tamanho dos dados varridos 61.4 GB 112 GB 31.3 GB 274 MB
Presto - Estimativa de custo mensal
Serviço AWS $/hora Horas/mês Custo/mês
1 EMR EC2 m4.xlarge full time (MASTER) $0,30 720 $218,87
15 EMR EC2 m4.xlarge full time (CORE + TASK) $0,30 10800 $3.283,05
Extra S3 Storage (ORC) $230,52
1 RDS PostgreSQL db.t2.micro para os metadados $0,019 720 $14,33
Retorno de dados S3/IA $262,15
$4.008,92
Serviço AWS $/hora Horas/mês Custo/mês
1 EMR EC2 m4.xlarge full time (MASTER) $0,30 720 $218,87
5 EMR EC2 m4.xlarge full time (CORE + TASK) $0,30 3600 $1.094,35
10 EMR EC2 m3.xlarge SPOT (TASK) $0,06 7200 $467,32
Extra S3 Storage (ORC) $230,52
1 RDS PostgreSQL db.t2.micro para os metadados $0,019 720 $14,33
Retorno de dados S3/IA $262,15
$296,97 + $2.287,54
-$1.721,38
Storage
Bigquery
SQL as a Service
Suporte a operações batch ou stream
Suporte ANSI SQL
Permite o mapeamento de arquivos no GCS
Bigquery
BigQuery - Estimativa de custo mensal
Storage BQ Processamento
$243,49
$674,06
Período / GCS
CSV Gzip
(TB) Usuários
Consultas
por mês
TBs
processados
Custo
Bigquery
3 meses (Regional) 1.1 10 150 7.10 $35,50
9 meses (Nearline) 3.4 3 2 17.8 $50,60
5 anos (Coldline) 18.2 3 0,2 8.11 $47,50
$133,60$296,97
Storage S3
Amazon Athena
Serviço de SQL sobre dados armazenados S3
“Presto as a Service”
Sistema de cobrança semelhante ao Google Bigquery
Uso de expressões regulares para parser de logs
Amazon Athena
CREATE EXTERNAL TABLE server_logs.transaction_log (
`log_type` string,
`log_date` timestamp,
`java_class` string,
...)
PARTITIONED BY (year int, month int, day int, server string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = '1',
'serialization.null.format' = 'null',
'input.regex' = '^x1b[39m[([^ ]*)]x1b[0;39ms+x1b[35m[([^,]*),([^
]*)]x1b[0;39ms+x1b[33m[([^ ]*)]x1b[0;39ms+x1b[35m[([^
]*)]x1b[0;39ms+|s+TransactionLogs+[s+id=([^ ]*);.*?s+applicationId=([^
...
]*);.*?s+instanceName=([^ ]*);.*?s+rotateNumber=([^ ]*);.*?s+transactionType=([^
]*);.*?s+chargePriority=([^
]*);.*?s+requestPerformedDate=([^;]*);.*?s+strategyId=([^ ]*).*?]s+([^.]*).*?$'
) LOCATION 's3://movile-data-lake/mobile-content/server_logs/transaction_log/'
Amazon Athena
ALTER TABLE server_logs.transaction_log ADD PARTITION
(year = 2017, month = 01, day = 04, server = 'server1')
LOCATION 's3://movile-data-lake/mobile-
content/server_logs/transaction_log/2017/01/04/server1/'
aws s3 ls s3://movile-data-lake/mobile-
content/server_logs/transaction_log/2017/01/04/server1/
2017-01-09 17:50:47 37398164 transaction.k3m.2017-01-04.log.0.gz
2017-01-09 17:50:49 37686727 transaction.k3m.2017-01-04.log.1.gz
2017-01-09 17:50:53 33129444 transaction.k3m.2017-01-04.log.10.gz
2017-01-09 17:50:55 33307109 transaction.k3m.2017-01-04.log.11.gz
2017-01-09 17:50:57 33377788 transaction.k3m.2017-01-04.log.12.gz
2017-01-09 17:51:00 33448852 transaction.k3m.2017-01-04.log.13.gz
Athena - Estimativa de custo mensal
Período / S3
CSV Gzip
(TB) Usuários
Consultas
por mês
TBs
processados
Custo
Athena
Custo
leitura S3
12 meses (Standard) 4.5 13 152 24.9 $86.10
5 anos (I/A) 18.2 3 0,2 8.11 $47,50 $83,05
$133,60 $83,05
$216,65
$296,97
Storage S3 Processamento
$513,62
Tabelas externas no Redshift
Utiliza o metadado do Athena
Permite cruzar dados do S3 com tabelas do Redshift
Utiliza o processamento do cluster Redshift
Redshift Spectrum
SPECTRUM
CREATE EXTERNAL SCHEMA IF NOT EXISTS messages
FROM DATA CATALOG DATABASE 'messages'
iam_role 'arn:aws:iam::2222222222:role/movile-redshift-athena'
CREATE EXTERNAL DATABASE IF NOT EXISTS;
CREATE EXTERNAL TABLE messages.sent_messages(
id bigint
,sequence varchar
,msisdn bigint
...
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE LOCATION 's3://movile-data-lake/mobile-
content/redshift/messages/sent_messages/csv;
Redshift Spectrum
Data Lake - Metadados
Data Lake - Próximos passos
Utilizar ferramentas open source para gerenciar metadados
AWS Glue: https://aws.amazon.com/glue
Kylo: https://kylo.io/
Apache Atlas: http://atlas.apache.org/
Metacat: https://github.com/Netflix/metacat
Facilitar a análise de dados mantendo a governança
Dremio: https://www.dremio.com/
Pense nisso...
Utilize a ferramenta certa para cada situação
Pense nisso...
Utilize a ferramenta certa para cada situação
Invista em governança e metadados
Pense nisso...
Utilize a ferramenta certa para cada situação
Invista em governança e metadados
Comece a entregar valor desde o início
Pense nisso...
Utilize a ferramenta certa para cada situação
Invista em governança e metadados
Comece a entregar valor desde o início
As pessoas não vão mais precisar de você
para encontrar e entender os dados
Contato
twitter.com/matheusespanhol
linkedin.com/in/matheusespanhol
slideshare.net/matheus.espanhol
matheusespanhol@gmail.com

Mais conteúdo relacionado

Semelhante a Construindo um Data Lake na nuvem com Google Cloud e AWS

Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Amazon Web Services
 
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-TerabyteTechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-TerabyteFabrício Catae
 
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lake
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lakeAWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lake
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lakeAmazon Web Services LATAM
 
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraAmazon Web Services LATAM
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem awsAmazon Web Services LATAM
 
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
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Amazon Web Services LATAM
 
Visualizando dados de Big Data com Amazon QuickSight
Visualizando dados de Big Data com Amazon QuickSightVisualizando dados de Big Data com Amazon QuickSight
Visualizando dados de Big Data com Amazon QuickSightAmazon Web Services LATAM
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Amazon Web Services
 
Aula 5 caracteristicas do ad
Aula 5 caracteristicas do adAula 5 caracteristicas do ad
Aula 5 caracteristicas do adFrank alcantara
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 

Semelhante a Construindo um Data Lake na nuvem com Google Cloud e AWS (20)

Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
 
AWS Storage Day - Otimização do Amazon S3
AWS Storage Day - Otimização do Amazon S3AWS Storage Day - Otimização do Amazon S3
AWS Storage Day - Otimização do Amazon S3
 
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-TerabyteTechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
 
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lake
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lakeAWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lake
AWS Storage Day - Por que o Amazon S3 é o melhor lugar para criar seu data lake
 
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem aws
 
Fazendo seu DR na AWS
Fazendo seu DR na AWSFazendo seu DR na AWS
Fazendo seu DR na AWS
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
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
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
 
Começando com Amazon Redshift
Começando com Amazon RedshiftComeçando com Amazon Redshift
Começando com Amazon Redshift
 
Visualizando dados de Big Data com Amazon QuickSight
Visualizando dados de Big Data com Amazon QuickSightVisualizando dados de Big Data com Amazon QuickSight
Visualizando dados de Big Data com Amazon QuickSight
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
 
Aula 5 caracteristicas do ad
Aula 5 caracteristicas do adAula 5 caracteristicas do ad
Aula 5 caracteristicas do ad
 
Construindo seu Data Lake na AWS
Construindo seu Data Lake na AWSConstruindo seu Data Lake na AWS
Construindo seu Data Lake na AWS
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
Falando de TCO na Nuvem AWS
Falando de TCO na Nuvem AWSFalando de TCO na Nuvem AWS
Falando de TCO na Nuvem AWS
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2
 

Mais de Matheus Espanhol

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
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Matheus Espanhol
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLMatheus Espanhol
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIMatheus Espanhol
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLMatheus Espanhol
 

Mais de Matheus Espanhol (6)

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
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
 
Webinar PostgreSQL 9.4
Webinar PostgreSQL 9.4Webinar PostgreSQL 9.4
Webinar PostgreSQL 9.4
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQL
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQL
 

Construindo um Data Lake na nuvem com Google Cloud e AWS

  • 1. Trilha Big Data: A jornada para construir um Data Lake na nuvem Matheus Espanhol
  • 2. O que vem por aí... Google Cloud Storage Google BigQuery SPECTRUM
  • 3. Se você pensar em um Data Mart como uma garrafa de água: limpa, embalada e estruturada para fácil consumo. O Data Lake é onde a água se encontra em seu estado mais natural. Essa água veio de diversas fontes e várias pessoas podem vir a examinar, mergulhar ou colher amostras da água do lago. James Dixon - Pentaho CTO
  • 5. DATA LAKE Armazena dados em formato natural
  • 6. DATA LAKE Todos os dados da organização em um só lugar Armazena dados em formato natural
  • 7. DATA LAKE Insights rápidos Todos os dados da organização em um só lugar Armazena dados em formato natural
  • 8. DATA LAKE Fácil adaptação a mudanças Insights rápidos Todos os dados da organização em um só lugar Armazena dados em formato natural
  • 9. DATA LAKE Suporta todos os tipos de dados Fácil adaptação a mudanças Insights rápidos Todos os dados da organização em um só lugar Armazena dados em formato natural
  • 10. DATA LAKE Suporta todos os tipos de dados Fácil adaptação a mudanças Acessível para diferentes perfis de usuários Insights rápidos Todos os dados da organização em um só lugar Armazena dados em formato natural
  • 11.
  • 12. Amazon S3 Durabilidade de 99.999999999% Disponibilidade de 99.99% $0.023/GB $0.0125/GB $0.004/GB
  • 13. Google Cloud Storage (GCS) Durabilidade de 99.999999999% Disponibilidade de 99.95% Acesso instantâneo a todas classes de storage $0.026/GB $0.023/GB $0.016/GB $0.010/GB
  • 14. A Movile Líder em marketplaces móveis 100 milhões de pessoas utilizam os serviços da Movile todo mês Estamos conectados a mais de 70 operadoras em toda América
  • 15. Comparativo entre cloud storages Tabela: event_YYYYMM - 380 GB/mês 9 meses 2017 5 anos (event_201201 - event_201612) 3 meses 2017 Coldline Nearline Regional 18.2 TB 3.4 TB 1.1 TBGCS: $ 184,68 / mês 9 meses 2017 5 anos (event_201201 - event_201612) IA Standard 18.2 TB 3.4 TB 1.1 TB Glacier 12 meses 2017 5 anos (event_201201 - event_201612) Standard 18.2 TB 4.5 TB IA S3: $ 141,81 / mês S3: $ 296,97 / mês
  • 19. Amazon Elastic Map Reduce (EMR) Facilita a configuração e gerenciamento de clusters Hadoop EMR File System (EMRFS) para compatibilidade entre S3 e HDFS Possibilidade de alocar instâncias Spot Substituição automática de nós do cluster Monitoramento com CloudWatch
  • 20. Presto no EMR Consultar diretamente os dados no S3 Dados mais utilizados no HDFS Scale-up e Scale-down online Excelente suporte SQL
  • 21. Presto no EMR Consultar diretamente os dados no S3 Dados mais utilizados no HDFS Scale-up e Scale-down online Excelente suporte SQL Vamos substituir o Redshift?
  • 22.
  • 23. Gargalo Download do arquivo CSV do S3 Solução Mudar formato de arquivo (Parquet, ORC) Mudar compactação (Gzip, Snappy, LZ) Aumentar número de worker nodes
  • 24. Presto - Spark - Hive - EMR Text Gzip Parquet Snappy Parquet Gzip ORC Tempo de conversão do arquivo 93 min 37 min 78 min Tamanho do arquivo no S3 61.4 GB +197.1 GB +45.1 GB +42.3 GB Tempo de count 3:35 min 1:01 min 11 sec 16 sec Tempo de query com agregação 3:40 min 47 sec 2:19 min 22 sec Linhas transferidas por segundo 1.72M rows/s 6.12M rows/s 34.7M rows/s 19.7M rows/s Taxa de transferência 292MB/s 1.85GB/s 2.93GB/s 14.6MB/s Tamanho dos dados varridos 61.4 GB 112 GB 31.3 GB 274 MB
  • 25. Presto - Estimativa de custo mensal Serviço AWS $/hora Horas/mês Custo/mês 1 EMR EC2 m4.xlarge full time (MASTER) $0,30 720 $218,87 15 EMR EC2 m4.xlarge full time (CORE + TASK) $0,30 10800 $3.283,05 Extra S3 Storage (ORC) $230,52 1 RDS PostgreSQL db.t2.micro para os metadados $0,019 720 $14,33 Retorno de dados S3/IA $262,15 $4.008,92 Serviço AWS $/hora Horas/mês Custo/mês 1 EMR EC2 m4.xlarge full time (MASTER) $0,30 720 $218,87 5 EMR EC2 m4.xlarge full time (CORE + TASK) $0,30 3600 $1.094,35 10 EMR EC2 m3.xlarge SPOT (TASK) $0,06 7200 $467,32 Extra S3 Storage (ORC) $230,52 1 RDS PostgreSQL db.t2.micro para os metadados $0,019 720 $14,33 Retorno de dados S3/IA $262,15 $296,97 + $2.287,54 -$1.721,38 Storage
  • 26. Bigquery SQL as a Service Suporte a operações batch ou stream Suporte ANSI SQL Permite o mapeamento de arquivos no GCS
  • 28. BigQuery - Estimativa de custo mensal Storage BQ Processamento $243,49 $674,06 Período / GCS CSV Gzip (TB) Usuários Consultas por mês TBs processados Custo Bigquery 3 meses (Regional) 1.1 10 150 7.10 $35,50 9 meses (Nearline) 3.4 3 2 17.8 $50,60 5 anos (Coldline) 18.2 3 0,2 8.11 $47,50 $133,60$296,97 Storage S3
  • 29. Amazon Athena Serviço de SQL sobre dados armazenados S3 “Presto as a Service” Sistema de cobrança semelhante ao Google Bigquery Uso de expressões regulares para parser de logs
  • 31. CREATE EXTERNAL TABLE server_logs.transaction_log ( `log_type` string, `log_date` timestamp, `java_class` string, ...) PARTITIONED BY (year int, month int, day int, server string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1', 'serialization.null.format' = 'null', 'input.regex' = '^x1b[39m[([^ ]*)]x1b[0;39ms+x1b[35m[([^,]*),([^ ]*)]x1b[0;39ms+x1b[33m[([^ ]*)]x1b[0;39ms+x1b[35m[([^ ]*)]x1b[0;39ms+|s+TransactionLogs+[s+id=([^ ]*);.*?s+applicationId=([^ ... ]*);.*?s+instanceName=([^ ]*);.*?s+rotateNumber=([^ ]*);.*?s+transactionType=([^ ]*);.*?s+chargePriority=([^ ]*);.*?s+requestPerformedDate=([^;]*);.*?s+strategyId=([^ ]*).*?]s+([^.]*).*?$' ) LOCATION 's3://movile-data-lake/mobile-content/server_logs/transaction_log/' Amazon Athena
  • 32. ALTER TABLE server_logs.transaction_log ADD PARTITION (year = 2017, month = 01, day = 04, server = 'server1') LOCATION 's3://movile-data-lake/mobile- content/server_logs/transaction_log/2017/01/04/server1/' aws s3 ls s3://movile-data-lake/mobile- content/server_logs/transaction_log/2017/01/04/server1/ 2017-01-09 17:50:47 37398164 transaction.k3m.2017-01-04.log.0.gz 2017-01-09 17:50:49 37686727 transaction.k3m.2017-01-04.log.1.gz 2017-01-09 17:50:53 33129444 transaction.k3m.2017-01-04.log.10.gz 2017-01-09 17:50:55 33307109 transaction.k3m.2017-01-04.log.11.gz 2017-01-09 17:50:57 33377788 transaction.k3m.2017-01-04.log.12.gz 2017-01-09 17:51:00 33448852 transaction.k3m.2017-01-04.log.13.gz
  • 33. Athena - Estimativa de custo mensal Período / S3 CSV Gzip (TB) Usuários Consultas por mês TBs processados Custo Athena Custo leitura S3 12 meses (Standard) 4.5 13 152 24.9 $86.10 5 anos (I/A) 18.2 3 0,2 8.11 $47,50 $83,05 $133,60 $83,05 $216,65 $296,97 Storage S3 Processamento $513,62
  • 34. Tabelas externas no Redshift Utiliza o metadado do Athena Permite cruzar dados do S3 com tabelas do Redshift Utiliza o processamento do cluster Redshift Redshift Spectrum SPECTRUM
  • 35. CREATE EXTERNAL SCHEMA IF NOT EXISTS messages FROM DATA CATALOG DATABASE 'messages' iam_role 'arn:aws:iam::2222222222:role/movile-redshift-athena' CREATE EXTERNAL DATABASE IF NOT EXISTS; CREATE EXTERNAL TABLE messages.sent_messages( id bigint ,sequence varchar ,msisdn bigint ... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 's3://movile-data-lake/mobile- content/redshift/messages/sent_messages/csv; Redshift Spectrum
  • 36. Data Lake - Metadados
  • 37. Data Lake - Próximos passos Utilizar ferramentas open source para gerenciar metadados AWS Glue: https://aws.amazon.com/glue Kylo: https://kylo.io/ Apache Atlas: http://atlas.apache.org/ Metacat: https://github.com/Netflix/metacat Facilitar a análise de dados mantendo a governança Dremio: https://www.dremio.com/
  • 38. Pense nisso... Utilize a ferramenta certa para cada situação
  • 39. Pense nisso... Utilize a ferramenta certa para cada situação Invista em governança e metadados
  • 40. Pense nisso... Utilize a ferramenta certa para cada situação Invista em governança e metadados Comece a entregar valor desde o início
  • 41. Pense nisso... Utilize a ferramenta certa para cada situação Invista em governança e metadados Comece a entregar valor desde o início As pessoas não vão mais precisar de você para encontrar e entender os dados

Notas do Editor

  1. Boa tarde pessoal...antes de mais nada eu gostaria de saber de vocês...Levantem a mão por favor; Quem daqui conhece pelo menos 1 ferramenta ou serviço dentre esses ai? Obrigado podem abaixar a mão. Então eu gostaria de dizer para você que já conhece pelo menos uma delas, você terá a oportunidade de comparar com as demais e aprender com os nossos erros e acertos. Mas se você não conhece nenhuma delas, ou Bigdata ainda é um termo que te assusta e não é prioridade nesse momento, não tem problema, quem sabe uma dessas ferramentas, mesmo que fora do contexto de Data Lakes, possa fazer a diferença para a sua empresa? Eu sou Matheus Espanhol, sou líder técnico da área de Data Engineering na Movile. Lá na Movile, nos últimos 2 anos, a forma com que estamos explorando nossos dados está mudando bastante. Isso aconteceu devido ao surgimento e a consolidação de ferramentas do universo de Big data, em especial alguns serviços disponibilizados por Google e AWS. Então eu vou contar para vocês essa história real, de como surgiu o nosso Data Lake.
  2. Data Lake é algo muito conceitual. Não é uma tecnologia. James Dixon em 2010 Data Mart é a água engarrafada (uma garrafa d'água Data Warehouse é uma caixa de garrafas d'água Sistemas, planilhas, dispositivos são as fontes d'água A água de todas as fontes correm para o lago Nesse lago a água pode ser encontrada em seu formato natural Podem ser coletadas amostras dessa água para serem analisadas por cientistas E dai podem nascer novos produtos a partir da limpeza e enriquecimento dessa água http://www.marklogic.com/blog/data-lakes-data-hubs-federation-one-best/ http://blogs.teradata.com/international/the-data-lake-de-mystified/
  3. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  4. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  5. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  6. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  7. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  8. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  9. Dsds In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[14] PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,
  10. Redshift: Replicação de tabelas relevantes para análise Seleção de colunas que fazem sentido No dia 10 de cada mês: Movimentação dos dados do mês anterior para o S3 Disponibilização através do Spectrum Bigquery Dados replicados em D-1 Athena Mapeamento de dados históricos de aplicações Alternativa ao Redshift Spectrum Spectrum Mapeamento de dados históricos complementares ao Redshift Backup “vivo” de dados
  11. Nesse momento já tínhamos na AWS: Backups no S3 Uso intenso do Redshift como Data Warehouse AWS EMR se mostrou bem atrativo para ler os dados do S3
  12. Na teoria o Presto permite a abordagem como Federated Databases.
  13. ,
  14. Será que não conseguiremos unir o útil ao agradável? Não somente ter uma serviço que acessa diretamente o Data Lake, Podemos usar o próprio Presto para substituir o nosso Redshiift Segundo papers, várias empresas estão fazendo isso (Netflix, LInkedin…) A grama do vizinho sempre é mais verde Não existe almoço de graça
  15. Será que não conseguiremos unir o útil ao agradável? Não somente ter uma serviço que acessa diretamente o Data Lake, Podemos usar o próprio Presto para substituir o nosso Redshiift Segundo papers, várias empresas estão fazendo isso (Netflix, LInkedin…) A grama do vizinho sempre é mais verde Não existe almoço de graça
  16. Será que não conseguiremos unir o útil ao agradável? Não somente ter uma serviço que acessa diretamente o Data Lake, Podemos usar o próprio Presto para substituir o nosso Redshiift Segundo papers, várias empresas estão fazendo isso (Netflix, LInkedin…) A grama do vizinho sempre é mais verde Não existe almoço de graça
  17. Começamos a testar o Presto com EMR, e percebemos o potencial que aquela solução teria Observando alguns cases como Facebook, Netflix, Airbnb e Dropbox. Precisávamos entender qual o tamanho do cluster e entender os custos. Por que não usamos ele no lugar do Redshift? Esse é um dilema para várias empresas hoje. Aumentar o DW ou modernizar de vez toda arquitetura de análise de dados? Começamos a fazer testes com nossas principais tabelas para entender os gastos que teríamos com o Presto Nos deparamos com uma série de tradeoffs, porque a aquela frase vale muito quando se trata de dados Não existe almoço de graça!
  18. Começamos a testar o Presto com EMR, e percebemos o potencial que aquela solução teria Observando alguns cases como Facebook, Netflix, Airbnb e Dropbox. Precisávamos entender qual o tamanho do cluster e entender os custos. Por que não usamos ele no lugar do Redshift? Esse é um dilema para várias empresas hoje. Aumentar o DW ou modernizar de vez toda arquitetura de análise de dados? Começamos a fazer testes com nossas principais tabelas para entender os gastos que teríamos com o Presto Nos deparamos com uma série de tradeoffs, porque a aquela frase vale muito quando se trata de dados Não existe almoço de graça!
  19. Uma consulta no arquivo CSV do S3, requer que esse arquivo seja baixado para o cluster Presto. Como nosso usuário final não aceitaria muita queda de performance no analítico. passamos a utilizar a performance do Redshift como referência. Como os bancos de dados com armazenamento colunar e compactação otimizam consultas analíticas, A mesma regra se aplica para os formatos de arquivo Parquet, ORC e libs de compactação Gzip, Snappy, LZ, suportados pelo Presto Nossos teste concluíram que para ficarmos com o tempo se aproximar ao tempo do Redshift precisaríamos de pelo menos 15 nodes de Presto
  20. Transformar arquivos em outros formatos requer mais armazenamento e mais tempo de processamento (Exemplo: transformar um arquivo de CSV para Parquet com um job Spark)
  21. Foi ai que surgiu o Bigquery
  22. Guardamos no Data Lake alguns arquivos de metadados Como vou usar isso ou vender internamente esse conceito, se meus cientistas de dados não conseguem explorar esses dados
  23. Não espere o Data Lake ficar do jeito que você imagina ou do jeito que você leu em algum artigo ou livro. Quebre o grande problema em problemas pequenos. Fica mais fácil de escolher a tecnologia correta para solucionar. Invista em mecanismos para não perder o controle dos dados e dos metadados que estão sendo guardados no Data Lake. Criar o datalake é muito fácil, o grande desafio é aproveitar as oportunidades que ele proporciona Faça algo em que as pessoas não precisem de você para analisar os dados Se tem alguma limpeza ou enriquecimento de dados a ser feita, faça no momento da ingestão dos dados Data Lake não é uma área de staging para o Data Warehouse
  24. Não espere o Data Lake ficar do jeito que você imagina ou do jeito que você leu em algum artigo ou livro. Quebre o grande problema em problemas pequenos. Fica mais fácil de escolher a tecnologia correta para solucionar. Invista em mecanismos para não perder o controle dos dados e dos metadados que estão sendo guardados no Data Lake. Criar o datalake é muito fácil, o grande desafio é aproveitar as oportunidades que ele proporciona Faça algo em que as pessoas não precisem de você para analisar os dados Se tem alguma limpeza ou enriquecimento de dados a ser feita, faça no momento da ingestão dos dados Data Lake não é uma área de staging para o Data Warehouse
  25. Não espere o Data Lake ficar do jeito que você imagina ou do jeito que você leu em algum artigo ou livro. Quebre o grande problema em problemas pequenos. Fica mais fácil de escolher a tecnologia correta para solucionar. Invista em mecanismos para não perder o controle dos dados e dos metadados que estão sendo guardados no Data Lake. Criar o datalake é muito fácil, o grande desafio é aproveitar as oportunidades que ele proporciona Faça algo em que as pessoas não precisem de você para analisar os dados Se tem alguma limpeza ou enriquecimento de dados a ser feita, faça no momento da ingestão dos dados Data Lake não é uma área de staging para o Data Warehouse
  26. Não espere o Data Lake ficar do jeito que você imagina ou do jeito que você leu em algum artigo ou livro. Quebre o grande problema em problemas pequenos. Fica mais fácil de escolher a tecnologia correta para solucionar. Invista em mecanismos para não perder o controle dos dados e dos metadados que estão sendo guardados no Data Lake. Criar o datalake é muito fácil, o grande desafio é aproveitar as oportunidades que ele proporciona Faça algo em que as pessoas não precisem de você para analisar os dados Se tem alguma limpeza ou enriquecimento de dados a ser feita, faça no momento da ingestão dos dados Data Lake não é uma área de staging para o Data Warehouse