bancos de dados gerenciados na nuvem aws

43
©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

Upload: amazon-web-services-latin-america

Post on 25-Jul-2015

291 views

Category:

Software


5 download

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

Por que banco de dados gerenciados?

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

O que é Amazon DynamoDB?

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

Chave para cada item

Hash key

Range key

(DynamoDB maintains a

sorted index)

Local secondary indexes = range keys alternativo

Hash key

Range key

LSI key

Global secondary indexes = “pivot charts”

para suas tabelas

Escolha quais atributos

irá projetar

Arquitetura simples com Amazon DynamoDB

Elastic Load

Balancing Amazon EC2

app instances

Clients

DynamoDB

Business logic

O que é o Amazon RDS?

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

O Que é Amazon ElastiCache?

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

O Que é Amazon Redshift?

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

Obrigado!