bancos de dados gerenciados na nuvem aws
TRANSCRIPT
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Escolhendo seu serviço de banco de
dados gerenciado na plataforma AWS
Hugo Rozestraten
Arquiteto de Soluções – Amazon Web Services
Caio Wendel
IT Manager – Titans Group
Agenda
• Por que Banco de Dados Gerenciados?
• Bancos de Dados Não Relacionais
• Bancos de Dados Relacionais Gerenciados
• Serviços de cache in-memory
• Data Warehouse Gerenciado
• Próximos Passos
Se os bancos de dados estão on-premises
Energia,HVAC,rede
Rack e Cabeamento
Manuten. Servidor
Patches SO
DB software patches
Database backups
Escalabilidade
Alta Disponibilidade
DB software installs
Instalação SO
você
Otimização Apps
Se os bancos de dados estão on-premises
Energia,HVAC,rede
Rack e Cabeamento
Manuten. Servidor
Patches SO
DB software patches
Database backups
Escalabilidade
Alta Disponibilidade
DB software installs
Instalação SO
você
Otimização Apps
Se os bancos de dados estão no
Amazon EC2
Energia,HVAC,rede
Rack e Cabeamento
Manuten. Servidor
Patches SO
DB software patches
Database backups
Escalabilidade
Alta Disponibilidade
DB software installs
Instalação SO
você
Otimização Apps
Se os bancos de dados estão no
Amazon EC2
Patches SO
DB software patches
Database backups
Escalabilidade
Alta Disponibilidade
DB software installs
você
Otimização Apps
Energia,HVAC,rede
Rack e Cabeamento
Manuten. Servidor
Instalação SO
Serviço de Banco de Dados Gerenciados
Energia,HVAC,rede
Rack e Cabeamento
Manuten. Servidor
Patches SO
DB software patches
Database backups
Otimização Apps
Alta Disponibilidade
DB software installs
Instalação SO
você
Escalabilidade
Gestão Própria vs. Gerenciado pela AWS
Gestão Própria de Banco de Dados Banco de Dados Gerenciados AWS
Você tem toda responsabilidade de upgrades
e backup
AWS provê upgrades, backup, e failover como
serviço
Você tem toda a responsabilidade de
segurança
AWS provê alto padrão de segurança,
certificações; Dá as ferramentas para que
você garanta a segurança
Total controle e administração dos servidores,
S.O. e banco de dados
Banco de dados são gerenciados como
appliance, permite automação dos ambientes
Replicação é complexa, custosa e requer
bastante engenharia
AWS provê o failover como serviço
Serviço Gerenciado para cada tipo de DB
Amazon DynamoDB
Documentoe chave-
valor
Amazon RDS
SQL database
Amazon ElastiCache
In-memory cache
Amazon Redshift
Data warehouse
Amazon DynamoDB: armazenamento gerenciado
de documento e chave-valor
• Simples e rápido para disponibilizar
• Simples e rápido para escalar
• Milhões de IOPS
• Dado replicado automaticamente
• Rápido, performance previsível– Baseado em storage SSD
• Índices Secundários para buscas rápidas
• Sem custo inicial; paga o quanto você consome
Amazon DynamoDB
Dropcam confia no Amazon DynamoDB
• Dropcam provê hardware e software de vídeo monitoramento, de forma que os clientes possam ver vídeos em alta definicação com dispositivos iOS e Androidou pela internet
“Utilizando o DynamoDB, nós
reduzimos o tempo de entrega para
eventos de vídeo para menos de 50
milesegundos.”
—Greg Nelson, VP of
Software Engineering
Arquitetura simples com Amazon DynamoDB
Elastic Load
Balancing Amazon EC2
app instances
Clients
DynamoDB
Business logic
Amazon RDS: serviço gerenciado SQL
• Simples e rápido de entregar
• Simples e rápido para escalar
• AWS gerencia patching, backups, replicação
• Compatível com suas aplicações
– Escolha entre Amazon Aurora, MySQL, PostgreSQL,
Oracle, SQL Server
• Rápido com performance previsíviel
• Sem custo inicial; paga somente pelo consumo
Amazon RDS
Flipboard confia no Amazon RDS
• Flipboard é uma revista online com milhões de usuários e bilhões de “flips”por mês
• Utilizam Amazon RDS e capacidade Multi-AZ para armazendar dados de missão crítica de usuários
”Somos capaces de ir do conceito para
a entrega do produto em seis meses
com apenas alguns engenheiros."
—Greg Scallan, Chief Architect
Como Amazon RDS entrega alta performance
• Escolha General Purpose (SSD) storage para a maior parte das aplicações– 3 IOPS por GB provisionado, com capacidade de burst até 3,000 IOPS
• Escolha Provisioned IOPS (SSD) storage para demandas de alta performance– Provisionamento de 3 TB de storage e 30 K IOPS por instância
– Escale IOPS para cima e para baixo online
• Escolha um tipo de instância com a quantidade correta de CPU e memória, escale e altere conforme a demanda
Como funciona o Backup do Amazon RDS
• Backup Automático – Restaure ou clone seu banco de dados em um ponto no tempo
– Habilitado por padrão
– Escolha uma retenção automática de até 35 dias
• Snapshot Manuais– Iniciados por você
– Persistente até que você as delete
– Armazenado no Storage Amazon S3
– Clone uma base de ados a partir de um snapshot
Escolha Multi-AZ para alta disponibilidade
• Uma Zona de Disponibilidade é uma infraestrutura física distinta e independente
• Com operação Multi-AZ, seu banco de dados é replicado de forma síncrona para outra zona na memas região AWS
• Failover automático em resposta a falhas com a Zona de Disponibilidade atual
• Manutenção planejada é aplicada primeiro ao backup
Escolha Réplicas Para Leitura para alta disponibilidade
e distribuição – Dentro da Região ou Entre Regiões
• Recuperação mais rápida em caso de desastre
• Traga os dados próximo aos seus clientes
• Promova para master para realizar uma migração
Amazon ElastiCache: in-memory cache escalável
• In-memory caching com Alta
performance, escalável
• Aumente a velocidade da sua
aplicação evitando o acesso de
banco de dados aos discos
• Compatível com suas aplicações– Escolha entre os populares memcached e
Redis
ElastiCache
Amazon ElastiCache: arquitetura simples de aplicação
Elastic Load
Balancing Amazon EC2
app instances
Clients
Amazon RDSAmazon
ElastiCache
“A opção pelo Amazon RDS permitiu a Titans Group
organizar suas bases de dados e adequá-las a
diferentes produtos e ambientes”
• SVA – Provedor de Serviços de Valor
agregado para operadoras móveis e
fixas
• White label para produtos de personal
cloud, mobile security e produtos de
educação
• Mais de 10 milhões de usuários ativos
em 17 países da América Latina
“Ambiente de banco
de dados escalável,
de fácil manutenção,
com ótimos recursos
gerenciados”
- Caio Wendel
Como tirar todos os ovos da mesma cesta?
• Segregar bases de dados contidasem um único servidor de altacapacidade
• Melhorar o desempenho e tercapacidade para acompanhar o crescimento previsto
• Replicação, controle de acesso, backup e redundância geográfica
• Manter o foco da equipe de “Infra” nossistemas da Titans e não naadministração básica de MySQL
MySQL Master/Slave
Servidores Físicos
Várias cestas, cada uma no tamanho certo
PROD
Amazon
RDS
UAT
Amazon
RDS
RDS DB
instance
RDS DB
instance DEV
Amazon
RDS
RDS DB
instance
RDS DB
instanceRDS DB instance RDS DB
instance standby
(Multi-AZ)
RDS DB instance
read replica
SYS 1
RDS DB instance RDS DB
instance standby
(Multi-AZ)
RDS DB instance
read replica
SYS n
Após dois anos, os ovos chocaram….
• Dezenas de sistemas, váriosambientes
• Mesma abordagem paraMemCached com ElastiCache
• RDS/MySQL está próximo de não comportar algumas de nossas bases
• Archiving/Sharding
• Outras soluções AWS sãoalternativas: Aurora, Redshift
Instâncias Simples 36
Instâncias Multi AZ 2 x 28
Réplicas 13
Instâncias Totais 105
Maior Instância db.m2.4xlarge
Maior Storage 3 TB, 13.000 IOPS
Região sa-east1
Total Storage/IOPS 38TB/96.000
ElastiCache 29 clusters
Momento Atual
Amazon Aurora: Alta Disponibilidade por padrão
• Seu dado replicado 6 vezes por 3 AZs
• Storage cresce até 64 TB facilmente
• Até 15 Réplicas de Aurora Replicas com recuperação instantânea
• Até 5 vezes mais performance que o MySQL
• 1/10 do preço de um banco de dados comercial
AZ 1 AZ 2 AZ 3
Virtualized, cross-AZ storage layer
Amazon Redshift: data warehouse gerenciado
• Petabyte-scale columnar
database
• Tempo de resposta– ~10x do que os típicos ambientes DW
• Preço de $1,000 por TB por
year
Amazon Redshift
Foursquare utiliza Amazon Redshift
• 40 milhões de usuários de Foursquare parase encontrar com amigos, compartilhardicas de viagens, e encontrar bonsnegócios
• Foursquare utiliza AWS para realizaranálises dos milhões de check-ins diários, economizando em licenciamento e realocando seu time de dev/ops staff paratrabalhos estratégicos
“Amazon Redshift oferece a
performance que precisamos
liberando-nos do custo de
licenciamento das soluções prévias.”
—Jon Hoffman
Software Engineer
Arquitetura Amazon Redshift
Leader
node
Compute nodes
Ferramentas de BI
PostgreSQL
JDBC/ODBC
Amazon S3
Amazon DynamoDB
AWS Data
Pipeline
Amazon EMR
Amazon Redshift redução dramática de IO
• Column storage
• Data compression
• Zone maps
• Direct-attached storage • Armazendamento em linha teria
mais I/O
• Para saber o total tem que
varrer todas as linhas
ID Age State Amount
123 20 CA 500
345 25 WA 250
678 40 FL 125
957 37 WA 375
• Com banco colunar busca
diretamente a coluna que
contém todas as informações
ID Age State Amount
123 20 CA 500
345 25 WA 250
678 40 FL 125
957 37 WA 375
Amazon Redshift redução dramática de IO
• Column storage
• Data compression
• Zone maps
• Direct-attached storage
analyze compression listing;
Table | Column | Encoding
---------+----------------+----------
listing | listid | delta
listing | sellerid | delta32k
listing | eventid | delta32k
listing | dateid | bytedict
listing | numtickets | bytedict
listing | priceperticket | delta32k
listing | totalprice | mostly32
listing | listtime | raw
Amazon Redshift redução dramática de IO
• Column storage
• Data compression
• Zone maps
• Direct-attached storage • COPY comprime
automaticamente
• Análise e sobreposição
• Mais performance menor custo
Amazon Redshift redução dramática de IO
• Column storage
• Data compression
• Zone maps
• Direct-attached storage
10 | 13 | 14 | 26 |…
… | 100 | 245 | 324
375 | 393 | 417…
… 512 | 549 | 623
637 | 712 | 809 …
… | 834 | 921 | 959
10
324
375
623
637
959
• Mínimo e máximo de cada bloco
“track"
• Pula os blocos não relevantes
Amazon Redshift redução dramática de IO
• Column storage
• Data compression
• Zone maps
• Direct-attached storage
DW.HS1.8XL:
• > 2 GB/s leitura
• Otimizado para proc de dados
• High disk density
DW.HS1.XL:
Amazon Redshift: escalabilidade
Dense Storage Node (dw1.xlarge)
2 TB, 16 GB RAM, 2 cores
Dense Compute Node (dw2.large)
0.16 TB, 16 GB RAM, 2 cores
Single Node (2 TB)
Cluster 2-32 Nodes (up to 64 TB)
8XL Dense Storage Node (dw1.8xlarge)
16 TB, 128 GB RAM, 16 cores, 10 GigE
8XL Dense Compute Node (dw2.8xlarge)
2.56 TB, 128 GB RAM, 16 cores, 10 GigE
Cluster 2-100 Nodes (up to 1.6 PB)
Note: Nodes not to scale