Imagine um serviço de Banco de Dados, onde replicação, alta disponibilidade, backup, e a administração dos servidores é feita transparentemente. Pare de imaginar, e conheçao o Amazon RDS - Relational Database Service, disponível para MS SQL, Oracle, MySQL e o Aurora.
2. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. Serviço Gerenciado para cada tipo de DB
Amazon
DynamoDB
Documento
e chave-
valor
Amazon
RDS
SQL
database
Amazon
ElastiCache
In-memory
cache
Amazon
Redshift
Data
warehouse
12. 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
13. 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 Android
ou 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
14. Chave para cada item
Hash key
Range key
(DynamoDB maintains a
sorted index)
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
26. 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
28. “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
29. Como tirar todos os ovos da mesma cesta?
• Segregar bases de dados contidas
em um único servidor de alta
capacidade
• Melhorar o desempenho e ter
capacidade para acompanhar o
crescimento previsto
• Replicação, controle de acesso,
backup e redundância geográfica
• Manter o foco da equipe de “Infra” nos
sistemas da Titans e não na
administração básica de MySQL
MySQL Master/Slave
Servidores Físicos
30. 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
31. Após dois anos, os ovos chocaram….
• Dezenas de sistemas, vários
ambientes
• Mesma abordagem para
MemCached com ElastiCache
• RDS/MySQL está próximo de
não comportar algumas de
nossas bases
• Archiving/Sharding
• Outras soluções AWS são
alternativas: 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
32. 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
34. 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
35. Foursquare utiliza Amazon Redshift
• 40 milhões de usuários de Foursquare para
se encontrar com amigos, compartilhar
dicas de viagens, e encontrar bons
negócios
• Foursquare utiliza AWS para realizar
análises dos milhões de check-ins diários,
economizando em licenciamento e
realocando seu time de dev/ops staff para
trabalhos estratégicos
“Amazon Redshift oferece a
performance que precisamos
liberando-nos do custo de
licenciamento das soluções prévias.”
—Jon Hoffman
Software Engineer
37. 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
38. • 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
40. 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
41. 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: