AWS Meetup Rio - Qual banco usar e quando?

61 visualizações

Publicada em

Nestra palestra, realizada no dia 30/08/2016, no Senac-RJ, apresentei as principais soluções de bancos de dados disponíveis na AWS e as diferenças entre elas, bem como alguns casos de uso sugeridos para cada um.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
61
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

AWS Meetup Rio - Qual banco usar e quando?

  1. 1. AWS Meetup Rio Qual banco usar e quando? Pedro Silveira Pisa
  2. 2. A Kendoo
  3. 3. Agenda • Bancos de dados na AWS • Por que usar serviços gerenciados? • AWS Relational Database Service (RDS) • AWS Aurora • AWS DynamoDB • AWS Redshift • Outras bases de dados na AWS • Casos de uso para cada base de dados
  4. 4. Como criar seu banco de dados na AWS? • Ligar uma instância de EC2 adequada • Instalar o software de banco de dados nessa EC2 • Virtualização x Computação em Nuvem Amazon EC2
  5. 5. Por que utilizar os serviços gerenciados da AWS? • Benefícios: • Fácil de administrar (instalar, operar e atualizar o software) • Elasticidade com simplicidade • Maior disponibilidade e durabilidade • Facilidade em adquirir licenças / licenças em modelo pay per use • Custos de gerenciamento embutidos no custo do serviço • Benefícios válidos para todos os serviços de bancos de dados apresentados
  6. 6. AWS RDS Um banco de dados relacional gerenciado na nuvem que você pode executar em minutos com apenas alguns cliques.
  7. 7. Amazon Relational Database Service (RDS) • Simplicidade e rapidez para iniciar e operar • Gerenciamento de tarefas administrativas comuns dos SGBDs • Compatível com as suas aplicações • Desempenho rápido e previsível • Simples e rápido para escalar • Segurança • Custo-benefício • Backups & Snapshots • Arquitetura em múltiplas AZs Aurora
  8. 8. Backups vs Snapshots • Backups automáticos • Permite a recuperação de um momento exato (segundo) do banco de dados • Realiza um snapshot diário e captura os logs das transações realizadas após • Retenção de 1 dia a 35 dias • Snapshots • Criados pelo usuário (pode ser usado um script) • Semelhante ao snapshot da instância EC2 • Recuperação do momento do snapshot • Recuperação • Em ambos os casos, uma nova instância é criada
  9. 9. Segurança no RDS • Virtual Private Cloud • Security Groups (firewalls) • Gerenciamento de acessos e identidades • Conexão segura por SSL • Encriptação de dados em disco • AES-256 • Chaves gerenciadas com o AWS Key Management System (KMS) • Logs, backups e snapshots são encriptados • Auditoria com o CloudTrail
  10. 10. AWS Aurora Um banco de dados relacional gerenciado, compatível com MySQL, com desempenho 5 vezes maior e recursos empresariais.
  11. 11. Amazon Aurora • Velocidade e disponibilidade de SGBDs comerciais • Simplicidade e custo benefício de SGBDs de código aberto • Compatibilidade com MySQL • Modelo de precificação pay as you go • Entregue como um serviço gerenciado Aurora
  12. 12. Arquitetura Orientada a Serviços aplicada às bases de dados
  13. 13. Amazon Aurora é altamente escalável • Altamente disponível por padrão • 6 réplicas em 3 AZs • SSD e escalável • Armazenamento multi-tenant • Até 64TB de tamanho na base • Pagamento apenas pelo que usa • Armazenamento de logs estruturados • Diversos pequenos segmentos, cada um com seu próprio log de transação SQL Transactions AZ 1 AZ 2 AZ 3 Caching Amazon S3
  14. 14. Amazon Aurora • Tolerante a falhas • Perca duas cópias ou uma zona de disponibilidade sem impacto na disponibilidade de leitura ou escrita • Autorecuperação • Detecção, replicação e reparação automáticas • Recuperação de desastres instantaneamente
  15. 15. Aurora Master 30% Read 70% Write Aurora Replica 100% New Reads Shared Multi-AZ Storage MySQL Master 30% Read 70% Write MySQL Replica 30% New Reads 70% Write Data Volume Data Volume MySQL x Amazon Aurora – Réplicas de Leitura
  16. 16. Como podemos economizar com o Amazon Aurora?
  17. 17. Como podemos economizar com o Amazon Aurora?
  18. 18. Como podemos economizar com o Amazon Aurora?
  19. 19. AWS DynamoDB Um banco de dados NoSQL gerenciado que oferece um desempenho extremamente rápido, além de escalabilidade e confiabilidade transparentes
  20. 20. Dados Estruturados x Dados Semiestruturados
  21. 21. Amazon DynamoDB • Serviço gerenciado para base de dados NoSQL • Compatível com modelos de dados de documento ou chave-valor • Altamente escalável • Desempenho consistente: • Latência de até 9 milissegundos em qualquer escala • Altamente disponível • Replicação em 3x • API simples e poderosa
  22. 22. Tabela Itens Atributos Hash Key Range Key Tabela do DynamoDB
  23. 23. Id = 2 Nome = Andy Dept = Engg Id = 3 Nome = Kim Dept = Ops Id = 1 Nome = Jim Id = 2 Nome = Andy Dept = Engg Id = 3 Nome = Kim Dept = Ops Id = 1 Nome = Jim Id = 2 Nome = Andy Dept = Engg Id = 3 Nome = Kim Dept = Ops Id = 1 Nome = Jim Réplica 1 Réplica 2 Réplica 3 Partição 1 Partição 2 Partição N Partições são replicadas 3 vezes
  24. 24. Escalabilidade • Limites de vazão de leitura e escrita são independentes • Vazão é provisionada por tabela • Unidades de capacidade de escrita são medidas em 1 KB/s • Unidades de capacidade de leitura são medidas em 4 KB/s • Adicionar qualquer número de itens a uma tabela • Tamanho máximo do item é de 400 KB
  25. 25. AWS Redshift Um data warehouse rápido, totalmente gerenciado e em escala de petabytes por menos de um décimo do custo de soluções tradicionais.
  26. 26. Amazon Redshift Muito rápido Muito simples Muito barato Amazon Redshift • Armazém de dados relacional • Massivamente paralelo; escala de petabytes • Totalmente gerenciado • Plataformas em SSD ou HDs magnéticos • US$ 1.000 / TB / ano ; a partir de US$ 0,25 / hora
  27. 27. Arquitetura de sistema do Amazon Redshift • Nó líder • Interface para consultas SQL • Armazena os metadados • Coordena a execução das consultas • Nós de computação • Armazenamento local e colunar • Executa as consultas em paralelo • Carga, backup e restrauração via Amazon S3 • Carga a partir do DynamoDB, EMR ou SSH • Duas plataformas de hardware • Otimizadas para processamento ou armazenamento • DS2: HDD; escala de 2TB a 2PB • DC1: SSD; escala de 160GB a 326TB 10 GigE (HPC) Ingestion Backup Restore SQL Clients/BI Tools 128GB RAM 16TB disk 16 cores S3 / EMR / DynamoDB / SSH JDBC/ODBC 128GB RAM 16TB disk 16 coresCompute Node 128GB RAM 16TB disk 16 coresCompute Node 128GB RAM 16TB disk 16 coresCompute Node Leader Node
  28. 28. Olhar mais profundo na arquitetura do nó de computação • Cada nó contém múltiplas fatias (slices) • DS2 – 2 fatias na XL, 16 na 8XL • DC1 – 2 fatias na L, 32 na 8XL • Cada fatia é alocada a uma CPU e a uma tabela de dados • Cada fatia processa em paralelo um pedaço da carga Leader Node
  29. 29. Amazon Redshift reduz dramaticamente o I/O • Armazenamento colunar • Compressão de dados • Mapeamento de zonas
  30. 30. Amazon Redshift reduz dramaticamente o I/O • Armazenamento colunar • Compressão de dados • Mapeamento de zonas ID Age State Amount 123 20 CA 500 345 25 WA 250 678 40 FL 125 957 37 WA 375 • Calcular SUM(Amount) com armazenamento em linha: – Necessidade de ler tudo – I/O desnecessário ID Age State Amount
  31. 31. Amazon Redshift reduz dramaticamente o I/O • Armazenamento colunar • Compressão de dados • Mapeamento de zonas • Calcular SUM(Amount) com armazenamento colunar: – Somente carrega os blocos necessários ID Age State Amount ID Age State Amount 123 20 CA 500 345 25 WA 250 678 40 FL 125 957 37 WA 375
  32. 32. Amazon Redshift reduz dramaticamente o I/O • Armazenamento colunar • Compressão de dados • Mapeamento de zonas • Compressão colunar – Efetividade pelo tipo de dado – Reduz os requisitos de armazenamento – Reduz o I/O ID Age State Amount analyze compression orders; Table | Column | Encoding --------+-------------+---------- orders | id | mostly32 orders | age | mostly32 orders | state | lzo orders | amount | mostly32
  33. 33. Amazon Redshift reduz dramaticamente o I/O • Armazenamento colunar • Compressão de dados • Mapeamento de zonas • Metadados dos blocos em memória • Contém valores MIN e MAX por bloco • Não carrega blocos que não contém dados para uma data consulta • Minimiza I/O desnecessário ID Age State Amount
  34. 34. Outras Bases de Dados
  35. 35. Outras bases de dados • Amazon ElasticCache • Implantar, operar e escalar cache na memória com base no Memcached ou Redis • Amazon EMR – Hadoop • Armazenamento para MapReduce com tecnologia Hadoop • SPICE do AWS QuickSight • Armazenamento em memória para cálculos rápidos em aplicações de BI • Amazon Kinesis • Armazenamento temporário de fluxos de dados • Amazon CloudSearch • Armazenamento de dados e índices para API de buscas • Amazon ElasticSearch • Pesquisa e análise de logs de aplicações
  36. 36. Conclusão
  37. 37. Qual banco usar e quando? • A AWS possui diversos serviços de bases de dados diferentes • Arquiteto de soluções ajuda a definir o melhor serviço para o caso de uso do cliente • Caso de uso: • Aplicação requer uma base de dados relacional PostgreSQL, com extensão geográfica PostGIS Amazon RDS com PostgreSQL
  38. 38. Qual banco usar e quando? • A AWS possui diversos serviços de bases de dados diferentes • Arquiteto de soluções ajuda a definir o melhor serviço para o caso de uso do cliente • Caso de uso: • Aplicações web e aplicativos móveis criados para operar em escalas muito grandes precisam de um banco de dados com alta vazão, escalabilidade de armazenamento massiva e alta disponibilidade. Amazon RDS Aurora
  39. 39. Qual banco usar e quando? • A AWS possui diversos serviços de bases de dados diferentes • Arquiteto de soluções ajuda a definir o melhor serviço para o caso de uso do cliente • Caso de uso: • Aplicação requer uma base de dados que ofereça o desempenho e a disponibilidade para a criação de plataformas de oferta em tempo real (real-time biding) e mecanismos de recomendação. Amazon DynamoDB
  40. 40. Qual banco usar e quando? • A AWS possui diversos serviços de bases de dados diferentes • Arquiteto de soluções ajuda a definir o melhor serviço para o caso de uso do cliente • Caso de uso: • Aplicação transmite centenas de milhões de logs de aplicativos todos os dias. A empresa usa análises para gerar relatórios sobre uso diário, avaliar novas ofertas e executar análises de tendências de longo prazo. A base possui 4,5 bilhões de registros e, a cada dia, a carga de trabalho continua a crescer. Amazon Redshift
  41. 41. AWS Meetup Rio Qual banco usar e quando? Pedro Silveira Pisa pedro.pisa@kendoo.com.br +55 21 98887-0555 +55 21 3549-7625 www.kendoo.com.br www.facebook.com/kendoosolutions/ www.linkedin.com/company/kendoosolutions

×