Bancos de dados
Relacionais e NoSQL na
Nuvem da AWS
José Papo
AWS Tech Evangelist
@josepapo
Bancos de Dados Relacional e NoSQL
Opções de Bancos de Dados
Relacional NoSQL
Bancos de Dados - Modelos
Banco de Dados no
Amazon EC2
Sua escolha de software
de banco de dados
Bring Your Own License
(BYOL)
Amazon Relational
Database Service (RDS)
e RedShift
SQL Server, MySQL ou
Oracle oferecidos como
serviço
Data Warehouse como
serviço
Licenciamento Flexível:
BYOL ou Licença Incluída
Amazon DynamoDB
e Elastic MapReduce
Modelo não relacional
Hadoop e NoSQL
como serviço
Overhead menor de
administração
Auto-gestão Database as a Service
AMAZON RDS RELATIONAL DATABASE SERVICE
BACKUPS
&
SNAPSHOTS
READ REPLICAS Réplicas Assíncronas para escalar BDs
RDS MULTI-AZ Réplica Síncrona para Alta Disponibilidade
The Data View of the World
SimpleDB RDS MySQL
ElastiCache
Flipboard Application
Reliable and
Complex data,
Queries
Operational
Configuration
and State Data
Memcache for
performance
O que é NoSQL?
Bancos de dados NoSQL normalmente são facilmente escaláveis horizontalmente, podem trabalhar com quantidades de dados maciças e não utilizam um modelo relacional para suas estruturas de dados.
DynamoDB
DynamoDB é um Banco de
Dados NoSQL “as a service”
Armazene e recupere qualquer quantidade de dados
Sirva níveis gigantescos de tráfego e requisições
Sem as complexidades
operacionais
Sem instalações de software
Não é necessário configurar clusters
Custos mínimos de administração
Performance consistente e
previsível
Latências em unidades de milisegundos.
Armazenado em discos SSD.
Modelo de dados flexível
Modelo Chave/Valor.
Não requer schemas.
Fácil de criar. Fácil de ajustar.
Escalabilidade simples
Sem limites de tamanho de tabelas.
Zero downtime.
Armazenamento ilimitado.
Durável e com alta disponibilidade.
Escritas consistentes em disco.
Replicação em diversos data centers
dentro de uma região.
Sem complexidades de
administração!
Duas decisões + três
cliques = pronto para uso!
Duas decisões + três
cliques = pronto para uso!
Capacidade provisionada.
Reserve quantidade de requisições por
segundo para leituras e escritas.
Aumente ou diminua a capacidade a
qualquer momento.
Pague por capacidade.
Precificação por hora de capacidade
provisionada e dados armazenados
Duas decisões + três
cliques = pronto para uso!
Duas decisões + uma
chamada de API = pronto
para uso!
$create_response = $dynamodb->create_table(array(
'TableName' => 'ProductCatalog',
'KeySchema' => array(
'HashKeyElement' => array(
'AttributeName' => 'Id',
'AttributeType' => AmazonDynamoDB::TYPE_NUMBER
)
),
'ProvisionedThroughput' => array(
'ReadCapacityUnits' => 10,
'WriteCapacityUnits' => 5
)
));
APIs para as principais plataformas
Java
PHP
.NET
Perl
Python
Ruby
Alguns Clientes do DynamoDB
Pagamento apenas pelo
uso
Alta performance a um preço
baixo
Aberta e com suporte a ferramentas de
BI de mercado
Fácil de provisionar e escalar
conforme demanda
Um data warehouse escalável a petabytes
Em torno de 10
vezes mais
barata que
soluções
tradicionais de
DW
Entregue como um serviço gerenciado
Amazon Redshift
Id Age State
123 20 CA
345 25 WA
678 40 FL
Row storage Column storage
ComputeNode
ComputeNode
ComputeNode
LeaderNode
Common BI Tools
JDBC/ ODBC
10GigE Mesh
Compute Node
Compute Node
Compute Node
Leader Node
Common BI Tools
JDBC/ODBC
Compute Node
Compute Node
Compute Node
Leader Node
Common BI Tools
JDBC/ODBC
Compute Node
Compute Node
Compute Node
Compute Node
Compute Node
Leader Node
Common BI Tools
JDBC/ODBC
"Hadoop é um storage confiável e um sistema analítico"
HDFS MapReduce
Implantar um cluster hadoop é difícil
http://eddie.niese.net/20090313/dont-pity-incompetence/
Elasticidade
Aumenta
para 25
instancias
Data Warehouse
(Estável)
Data Warehouse
(Processo Batch)
Diminui
para
9
instancias
Data Warehouse
(Estável)
100% na Nuvem da AWS Sistema Tio Patinhas com
código aberto!
github.com/chaordic
RECURSOS TÉCNICOS
awshub.com.br
OBRIGADO! aws.typepad.com/brasil
slideshare.net/AmazonWebServicesLATAM
José Papo
AWS Tech Evangelist
@josepapo