SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Felipe Garcia, Arquiteto de Soluções AWS
Junho 2016
Utilizando NoSQL para Big Data com
DynamoDB
Uma visão ”mão na massa” em como utilizar DynamoDb
para workloads Big Data
O Que Esperar Desta Sessão
• Foco no “como” e não “o que”
• Vamos ver implementações funcionais de algumas
arquiteturas de Big Data
• Aprenda como os serviços AWS abstraem muita
complexidade de arquiteturas Big Data sem sacrificar
poder e escala
• Demonstrar como combinações de serviços da AWS
podem ser utilizados para criar sistemas ricos para
análise de dados
O que é ”Big Data”?
• Como muitos jargões de tecnologia, “Big Data” tende
em ser definido de diferentes maneiras
• A maioria das definições, mencionará 2 dos 3Vs de Big
Data
• Volume
• Velocidade
Características de Big Data
• A quantidade de dados está aumentando em uma velocidade rápida
• Dados brutos de uma vasta fonte de dados estão cada vez mais sendo usados para
responder perguntas de negócio
• Arquivos de Log
• Como as suas aplicaçnoes estão sendo usadas e quem está usando
elas?
• Monitoramento de desempenho de aplicações
• Qual o impacto do desempenho de minhas aplicações em meu
negócio?
• Métricas de aplicação
• Como os usuários responderão a uma nova funcionalidade?
• Segurança
• Quem tem acesso a minha infraestrutura, o que eles tem aesso, e como
eles estão acessando? Alguma ameaça?
Características de Big Data
• O crescimento em volume de dados significa que o fluxo
de dados está se movendo em uma taxa muito maior:
• MB/s é normal
• GB/s está ficando cada vez mais comum
• Número de usuários conectados está crescendo em
uma taxa impressionante:
• Estima-se 75 bilhões de dispositivos conectados em 2020
• 105 ou 106 transações por segundo não são incomuns
em aplicações de Big Data
No Centro de Big Data
Volume
VariedadeVelocidade
DynamoDB
Processando Dados Transacionais
• DynamoDb é excelente para processamento
transacional
• Alta concorrência
• Consistência forte
• Atualização atômica de itens únicos
• Atualização condicional para de-duplicação e concorrência
otimista
• Suporta schemas chave/valor e JSON
Demo 1: Armazenar e Indexar Metadados de
Objetos Armazenados no S3
Demo 1: Caso de Uso
Temos um grande número de arquivos de áudio
armazenandos no S3, e gostaríamos de torná-los
pesquisáveis
• Usar DynamoDb como base de dados primária dos
metadados
• Indexar e pesquisar o metadado usando Elasticsearch
Demo 1: Passos Para Implementar
1. Criar uma função Lambda que lê o metadado da tag
ID3 e insere em uma tabela no DynamoDb
2. Habilitar notificações no Bucket do S3 que armazena
os arquivos de áudio
3. Habilitar Streams na tabela do DynamoDb
4. Criar uma função Lambda que lê o metadado do
DynamoDb e indexa no Elasticsearch
5. Habilitar a Stream como origem de evento na função
Lambda
Demo 1: Principais Lições
1. DynamoDb + Elasticsearch = Banco de dados durável,
escalável, altamente disponível com funcionalidades
ricas de pesquisa
2. Utilize funções Lambda para responder a eventos do
S3, e Streams do DynamoDb sem ter que gerenciar
infraestrutura
Demo 2: Executar consultas em múltiplas
fontes de dados usando DynamoDb e EMR
com Hive
Demo 2: Caso de Uso
Queremos enriquecer os metadados armazenados no
DynamoDb com dados adicionais da fonte de dados
Million Song:
• Fonte de dados Million Song está armazenada em
formato texto
• Metadados da tag ID3 estão armazenados no
DynamoDb
• Usar Amazon EMR com Hive para unir as duas fontes
de dados em uma única consulta
Demo 2: Passos Para Implementar
1. Criar um cluster EMR com Hive
2. Criar uma tabela extarna Hive utilizando
DynamoDbStorageHandler
3. Criear uma tabela externa Hive utilizando a localização
dos arquivos de texto contendo os metadados do
projeto Million Song
4. Criar e executar a consulta Hive que faz a junção das
duas tabelas externas e grava os resultados no S3
5. Carregar os resultados do S3 no DynamoDb utilizando
Lambda
Demo 2: Principais Lições
1. Usar o Amazon EMR para rapidamente provisionar um
cluster Hadoop com Hive, e destruí-lo ao terminar os
processamentos
2. Uso de Hive com DynamoDb permite que itens nas
tabelas do DynamoDb sejam unidos e consultados com
uma grande variedade de fontes de dados
Demo 3: Armazenar e Analisar Dados de
Sensores com DynamoDb e Amazon Redshift
Demo 3: Caso de Uso
Um grande número de sensores estão realizando leituras
em intervalos regulares. Você precisa agregar os dados de
cada leitura em um data warehouse para análise:
• Usar Amazon Kinesis para ingerir novos dados brutos
• Armazenar leituras dos sensores no DynamoDb para
acesso rápido e criar dashboards em tempo real
• Carregar os dados do Amazon S3 no Amazon Redshift
utilizando AWS Lambda
Demo 3: Passos Para Implementar
1. Criar duas funções Lambda para ler dados da Stream
do Amazon Kinesis
2. Habilitar a Stream do Amazon Kinesis com uma origem
de eventos para cada função Lambda
3. Em uma função Lambda, grave os dados no
DynamoDb
4. Na outra função Lambda, grave os dados no S3
5. Use o projeto aws-lambda-redshift-loader para carregar
os dados do S3 dentro do Redshift
Demo 3: Principais Lições
1. Kinesis + Lambda + DynamoDb = Solução escalável,
durável e altamente disponível para ingestão de dados
de sensores com sobrecarga operacional baixissíma
2. DynamoDb é ideal para consultas de quase tempo real
de dados recentes dos sensores
3. Redshift é ideal para análises mais profundas de dados
dos sensores abrangendo períodos mais longos e
grandes quantidades de registros
4. Usar Lambda para carregar dados no Redshift fornece
uma maneira de executar ETL em intervalos frequentes
Sumário
• A versatilidade do DynamoDb faz com que ele seja um
componente importante em muitas arquiteturas de Big
Data
• Soluções de “Big Data” geralmente envolvem diferentes
ferramentas para armazenar, processar e analisar
• O ecosistema da AWS oferece um conjunto de serviços
ricos e poderosos que tornam possível a construção de
arquiteturas de Big data escaláveis e duráveis com
facilidade
Obrigado!

Mais conteúdo relacionado

Mais procurados

Construindo seu Data Lake na AWS
Construindo seu Data Lake na AWSConstruindo seu Data Lake na AWS
Construindo seu Data Lake na AWS
Amazon Web Services LATAM
 

Mais procurados (20)

Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMR
 
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
 
TCO e otimização de custos na AWS
TCO e otimização de custos na AWSTCO e otimização de custos na AWS
TCO e otimização de custos na AWS
 
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
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
 
Iniciando com Amazon Aurora
Iniciando com Amazon AuroraIniciando com Amazon Aurora
Iniciando com Amazon Aurora
 
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na AWSBuilding blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Banco de Dados Oracle na AWS: RDS ou EC2
Banco de Dados Oracle na AWS: RDS ou EC2Banco de Dados Oracle na AWS: RDS ou EC2
Banco de Dados Oracle na AWS: RDS ou EC2
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
 
Construindo seu Data Lake na AWS
Construindo seu Data Lake na AWSConstruindo seu Data Lake na AWS
Construindo seu Data Lake na AWS
 
Deep dive com Amazon Aurora
Deep dive com Amazon AuroraDeep dive com Amazon Aurora
Deep dive com Amazon Aurora
 
Introducao ao Amazon Redshift
Introducao ao Amazon RedshiftIntroducao ao Amazon Redshift
Introducao ao Amazon Redshift
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
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
 
Iniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDBIniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDB
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Iniciando com Amazon Cloudfront
Iniciando com Amazon CloudfrontIniciando com Amazon Cloudfront
Iniciando com Amazon Cloudfront
 

Destaque

Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDB
Thiago Avelino
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 

Destaque (20)

DynamoDB - Uma Introdução
DynamoDB - Uma IntroduçãoDynamoDB - Uma Introdução
DynamoDB - Uma Introdução
 
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
 
Segurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWSSegurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWS
 
Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDB
 
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db   tópico avançado - modelagem de dados e boas práticas para escalarDynamo db   tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Devoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic frameworkDevoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic framework
 
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
 
Webinar: Otimização de Custos na AWS
Webinar: Otimização de Custos na AWSWebinar: Otimização de Custos na AWS
Webinar: Otimização de Custos na AWS
 
AWS Webcast - Data Modeling and Best Practices for Scaling your Application w...
AWS Webcast - Data Modeling and Best Practices for Scaling your Application w...AWS Webcast - Data Modeling and Best Practices for Scaling your Application w...
AWS Webcast - Data Modeling and Best Practices for Scaling your Application w...
 
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
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDB
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic Framework
 
Arquiteturas Cloud: Uma Introdução
Arquiteturas Cloud: Uma IntroduçãoArquiteturas Cloud: Uma Introdução
Arquiteturas Cloud: Uma Introdução
 
Panorama des solutions mobile hybrides
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybrides
 
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
 
NoSQL e Big Data na Nuvem
NoSQL e Big Data na NuvemNoSQL e Big Data na Nuvem
NoSQL e Big Data na Nuvem
 
Ionic, react native, native script
Ionic, react native, native scriptIonic, react native, native script
Ionic, react native, native script
 

Semelhante a Utilizando NoSQL para Big Data com DynamoDB

Semelhante a Utilizando NoSQL para Big Data com DynamoDB (20)

Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
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
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
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?
 
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
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
 
Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
 
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaAWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
 
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
 
FireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBFireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDB
 
Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
AWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWS
 
Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013
 
Seus logs nas costas largas da AWS
Seus logs nas costas largas da AWSSeus logs nas costas largas da AWS
Seus logs nas costas largas da AWS
 

Mais de Amazon Web Services LATAM

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Utilizando NoSQL para Big Data com DynamoDB

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Felipe Garcia, Arquiteto de Soluções AWS Junho 2016 Utilizando NoSQL para Big Data com DynamoDB Uma visão ”mão na massa” em como utilizar DynamoDb para workloads Big Data
  • 2. O Que Esperar Desta Sessão • Foco no “como” e não “o que” • Vamos ver implementações funcionais de algumas arquiteturas de Big Data • Aprenda como os serviços AWS abstraem muita complexidade de arquiteturas Big Data sem sacrificar poder e escala • Demonstrar como combinações de serviços da AWS podem ser utilizados para criar sistemas ricos para análise de dados
  • 3. O que é ”Big Data”? • Como muitos jargões de tecnologia, “Big Data” tende em ser definido de diferentes maneiras • A maioria das definições, mencionará 2 dos 3Vs de Big Data • Volume • Velocidade
  • 4. Características de Big Data • A quantidade de dados está aumentando em uma velocidade rápida • Dados brutos de uma vasta fonte de dados estão cada vez mais sendo usados para responder perguntas de negócio • Arquivos de Log • Como as suas aplicaçnoes estão sendo usadas e quem está usando elas? • Monitoramento de desempenho de aplicações • Qual o impacto do desempenho de minhas aplicações em meu negócio? • Métricas de aplicação • Como os usuários responderão a uma nova funcionalidade? • Segurança • Quem tem acesso a minha infraestrutura, o que eles tem aesso, e como eles estão acessando? Alguma ameaça?
  • 5. Características de Big Data • O crescimento em volume de dados significa que o fluxo de dados está se movendo em uma taxa muito maior: • MB/s é normal • GB/s está ficando cada vez mais comum • Número de usuários conectados está crescendo em uma taxa impressionante: • Estima-se 75 bilhões de dispositivos conectados em 2020 • 105 ou 106 transações por segundo não são incomuns em aplicações de Big Data
  • 6. No Centro de Big Data Volume VariedadeVelocidade DynamoDB
  • 7. Processando Dados Transacionais • DynamoDb é excelente para processamento transacional • Alta concorrência • Consistência forte • Atualização atômica de itens únicos • Atualização condicional para de-duplicação e concorrência otimista • Suporta schemas chave/valor e JSON
  • 8. Demo 1: Armazenar e Indexar Metadados de Objetos Armazenados no S3
  • 9. Demo 1: Caso de Uso Temos um grande número de arquivos de áudio armazenandos no S3, e gostaríamos de torná-los pesquisáveis • Usar DynamoDb como base de dados primária dos metadados • Indexar e pesquisar o metadado usando Elasticsearch
  • 10. Demo 1: Passos Para Implementar 1. Criar uma função Lambda que lê o metadado da tag ID3 e insere em uma tabela no DynamoDb 2. Habilitar notificações no Bucket do S3 que armazena os arquivos de áudio 3. Habilitar Streams na tabela do DynamoDb 4. Criar uma função Lambda que lê o metadado do DynamoDb e indexa no Elasticsearch 5. Habilitar a Stream como origem de evento na função Lambda
  • 11. Demo 1: Principais Lições 1. DynamoDb + Elasticsearch = Banco de dados durável, escalável, altamente disponível com funcionalidades ricas de pesquisa 2. Utilize funções Lambda para responder a eventos do S3, e Streams do DynamoDb sem ter que gerenciar infraestrutura
  • 12. Demo 2: Executar consultas em múltiplas fontes de dados usando DynamoDb e EMR com Hive
  • 13. Demo 2: Caso de Uso Queremos enriquecer os metadados armazenados no DynamoDb com dados adicionais da fonte de dados Million Song: • Fonte de dados Million Song está armazenada em formato texto • Metadados da tag ID3 estão armazenados no DynamoDb • Usar Amazon EMR com Hive para unir as duas fontes de dados em uma única consulta
  • 14. Demo 2: Passos Para Implementar 1. Criar um cluster EMR com Hive 2. Criar uma tabela extarna Hive utilizando DynamoDbStorageHandler 3. Criear uma tabela externa Hive utilizando a localização dos arquivos de texto contendo os metadados do projeto Million Song 4. Criar e executar a consulta Hive que faz a junção das duas tabelas externas e grava os resultados no S3 5. Carregar os resultados do S3 no DynamoDb utilizando Lambda
  • 15. Demo 2: Principais Lições 1. Usar o Amazon EMR para rapidamente provisionar um cluster Hadoop com Hive, e destruí-lo ao terminar os processamentos 2. Uso de Hive com DynamoDb permite que itens nas tabelas do DynamoDb sejam unidos e consultados com uma grande variedade de fontes de dados
  • 16. Demo 3: Armazenar e Analisar Dados de Sensores com DynamoDb e Amazon Redshift
  • 17. Demo 3: Caso de Uso Um grande número de sensores estão realizando leituras em intervalos regulares. Você precisa agregar os dados de cada leitura em um data warehouse para análise: • Usar Amazon Kinesis para ingerir novos dados brutos • Armazenar leituras dos sensores no DynamoDb para acesso rápido e criar dashboards em tempo real • Carregar os dados do Amazon S3 no Amazon Redshift utilizando AWS Lambda
  • 18. Demo 3: Passos Para Implementar 1. Criar duas funções Lambda para ler dados da Stream do Amazon Kinesis 2. Habilitar a Stream do Amazon Kinesis com uma origem de eventos para cada função Lambda 3. Em uma função Lambda, grave os dados no DynamoDb 4. Na outra função Lambda, grave os dados no S3 5. Use o projeto aws-lambda-redshift-loader para carregar os dados do S3 dentro do Redshift
  • 19. Demo 3: Principais Lições 1. Kinesis + Lambda + DynamoDb = Solução escalável, durável e altamente disponível para ingestão de dados de sensores com sobrecarga operacional baixissíma 2. DynamoDb é ideal para consultas de quase tempo real de dados recentes dos sensores 3. Redshift é ideal para análises mais profundas de dados dos sensores abrangendo períodos mais longos e grandes quantidades de registros 4. Usar Lambda para carregar dados no Redshift fornece uma maneira de executar ETL em intervalos frequentes
  • 20. Sumário • A versatilidade do DynamoDb faz com que ele seja um componente importante em muitas arquiteturas de Big Data • Soluções de “Big Data” geralmente envolvem diferentes ferramentas para armazenar, processar e analisar • O ecosistema da AWS oferece um conjunto de serviços ricos e poderosos que tornam possível a construção de arquiteturas de Big data escaláveis e duráveis com facilidade