DynamoDB
 Uma Introdução ao banco de dados
   NoSQL as a service da AWS


José Papo
AWS Tech Evangelist
@josepapo
Bancos de Dados na
 Nuvem da Amazon
Flexibilidade e independência
Sistemas Operacionais   Linguagens e Bibliotecas   Aplicações Certificadas
Bancos de Dados - Modelos

    Auto-gestão                      Database as a Service




 Banco de Dados no          Amazon Relational        Amazon DynamoDB
    Amazon EC2            Database Service (RDS)          NoSQL

Sua escolha de software    SQL Server, MySQL ou      Modelo não relacional
  de banco de dados        Oracle oferecidos como
                                   serviço
Bring Your Own License                                Overhead zero de
        (BYOL)                                         administração
                           Licenciamento Flexível:
                          BYOL ou Licença Incluída
Opções de Bancos de Dados – Auto-Gestão

     Relacional             NoSQL
Infraestrutura Global
GovCloud    US West       US West    US East       South          EU         Asia          Asia
 (US ITAR   (Northern     (Oregon)   (Northern    America       (Ireland)   Pacific       Pacific
  Region)   California)               Virginia)   (Sao Paulo)               (Singapore)   (Tokyo)




   Regiões AWS
   Pontos Edge AWS
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.
Armazenamento ilimitado.
Zero downtime.
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!
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            Perl

    PHP            Python

    .NET            Ruby
Modifique capacidade
manualmente ou automaticamente
Demo!
Como fazer análises e
 queries complexas com
os dados do DynamoDB?
Com Hadoop na Nuvem!
"Hadoop é um storage confiável e um sistema analítico"




               HDFS                MapReduce
AMAZON ELASTIC MAPREDUCE
Reduz complexidade/custo da gestão do Hadoop
Integra diretamente com Serviços AWS (EC2, S3,
DynamoDB, etc)
Facilita a elasticidade para Big Data
Data Warehouse Elástico

                              Data Warehouse
                              (Processo Batch)
Data Warehouse                                                Data Warehouse
   (Estável)                                                     (Estável)

                                                   Diminui
                  Aumenta                           para
                   para 25                            9
                 instancias                      instancias
Elastic MapReduce, DynamoDB e Hive




http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/EMRforDynamoDB.html
Big Data na Nuvem da AWS
 aws.amazon.com/big-data
NoSQL na Nuvem da AWS
  aws.amazon.com/nosql
OFERTA
   GRATUITA!
aws.amazon.com/pt/free
OBRIGADO!
          aws.typepad.com/brasil
 slideshare.net/AmazonWebServicesLATAM


José Papo
AWS Tech Evangelist
@josepapo
DynamoDB - Uma Introdução

DynamoDB - Uma Introdução