Amazon SimpleDB (Beta)

O Amazon SimpleDB é um armazenamento de dados altamente disponível, flexível e não relacional que minimiza o trabalho da administração do banco de dados. Os desenvolvedores simplesmente armazenam e consultam itens de dados por meio de solicitações de serviços da Web e o Amazon SimpleDB faz o restante.

Desvinculado pelos requisitos exigentes de um banco de dados relacional, o Amazon SimpleDB foi otimizado para fornecer alta disponibilidade, flexibilidade e facilidade de escalabilidade com pouca ou nenhuma carga administrativa. Nos bastidores, o Amazon SimpleDB cria e gerencia várias réplicas distribuídas geograficamente dos seus dados de forma automática para permitir a alta disponibilidade e a durabilidade dos dados. O serviço cobra somente pelos recursos realmente consumidos no armazenamento dos dados e no atendimento das solicitações. Você pode alterar o modelo de dados durante o processo e os dados serão automaticamente indexados. Com o Amazon SimpleDB, você pode se concentrar no desenvolvimento de aplicativos sem se preocupar com o provisionamento da infraestrutura, alta disponibilidade, manutenção do software, gerenciamento de esquemas e de índices, ou adequação do desempenho.

Benefícios

Toque baixo

O serviço permite que você se concentre totalmente no desenvolvimento de aplicativos de valor agregado, em vez de em uma administração de banco de dados árdua e demorada. O Amazon SimpleDB gerencia automaticamente o provisionamento de infraestrutura, a manutenção de hardware e de software, a replicação e a indexação de itens de dados e o ajuste do desempenho.

Altamente disponível

O Amazon SimpleDB cria automaticamente várias cópias geograficamente distribuídas de cada item de dados armazenado. Isso fornece alta disponibilidade e durabilidade – no caso improvável de que uma Réplica falhe, o Amazon SimpleDB pode fazer um failover para outra Réplica no sistema.

Flexível

À medida que seus negócios mudam ou seu aplicativo evolui, você pode facilmente fazer essas mudanças se refletirem no Amazon SimpleDB sem se preocupar em quebrar um schema rígido ou com a necessidade de refatorar código; basta adicionar outro atributo ao conjunto de dados do Amazon SimpleDB quando necessário. Você também pode escolher entre solicitações de leitura consistentes ou eventualmente consistentes, ganhando flexibilidade para ajustar as exigências de desempenho de leitura (latência e taxa de transferência) e as exigências de coerência com as demandas do seu aplicativo, ou até mesmo demandas das diferentes partes de seu aplicativo.

Simples de usar

O Amazon SimpleDB fornece acesso simplificado para as funções de armazenamento e consulta que tradicionalmente são obtidas usando um cluster de banco de dados relacional, enquanto ignora outras operações de banco de dados complexos, muitas vezes não utilizadas. O serviço permite que você adicione dados rapidamente e facilmente recupere ou edite esses dados através de um simples conjunto de chamadas de API.

Desenvolvido para uso com outros serviços da Amazon Web Services

O Amazon SimpleDB foi projetado para integrar-se facilmente com outros serviços da AWS, como o Amazon S3 e o EC2, oferecendo a infraestrutura para a criação de aplicativos em escala da Web. Por exemplo, os desenvolvedores podem executar seus aplicativos no Amazon EC2 e armazenar seus objetos de dados no Amazon S3. O Amazon SimpleDB pode então ser usado para consultar os metadata do objeto de dentro do aplicativo no Amazon EC2 e retornar ponteiros para os objetos armazenados no Amazon S3. Os desenvolvedores também podem usar o Amazon SimpleDB com o Amazon RDS para aplicativos que têm necessidades de banco de dados relacionais e não relacionais. Os dados transferidos entre o Amazon SimpleDB e outros Amazon Web Services dentro da mesma região são gratuitos.

Seguro

O Amazon SimpleDB fornece um ponto de extremidade https para garantir uma comunicação segura e criptografada entre o seu aplicativo ou cliente e o seu domínio. Além disso, através da integração com o AWS Identity and Access Management, você pode estabelecer o controle em nível de usuário ou de grupo sobre o acesso a determinadas operações e domínios SimpleDB.

Acessível

O Amazon SimpleDB repassa para você os benefícios financeiros da escala da Amazon. Pague somente pelos recursos que você de fato utilizar. Para o Amazon SimpleDB, isso significa que as leituras e gravações de armazenamento de dados são cobradas por recursos computacionais utilizados por cada operação e você não é cobrado por recursos de computação quando você não os estiver usando ativamente (ou seja, fazendo solicitações).

Casos de uso apresentados

Registro

Como o Amazon SimpleDB permite que você se desfaça totalmente do trabalho necessário para executar um banco de dados de produção, muitos desenvolvedores consideram-no um armazenamento de dados ideal, de toque baixo para registrar informações sobre condições ou eventos, atualizações de status, atividades recorrentes. O Amazon SimpleDB permite que você “configure e se esqueça” desses registros de dados de maneira econômica e os utilize para diversas finalidades, como:

  • Monitoramento ou rastreamento
  • Medição
  • Tendência de análises de negócios
  • Auditoria
  • Arquivamento ou conformidade regulamentar

Os exemplos de aplicativos incluem:

  • Armazenamento de registros de servidor de maneira central, para reduzir o espaço que consomem em cada servidor em execução
  • Registrar métricas operacionais ou os resultados de testes de desempenho contínuos para análise posterior
  • Entradas de acesso de auditoria ou mudanças de configuração para aplicativos ou dispositivos em rede
  • Captura e monitoramento de condições ambiente (temperatura, níveis de pressão, umidade etc.) em diversos locais e alertas de programação para condições específicas
  • Registro e rastreamento de informações de geolocalização sobre objetos ou status de processo para atividades em um fluxo de trabalho

Diversos atributos do Amazon SimpleDB tornam-no um armazenamento de dados atrativo para registros de dados:

  • Central, com alta disponibilidade – Se seus registros de dados eram armazenados localmente em diversos dispositivos/objetos, aplicativos ou compartimentos de processos, você irá aproveitar o benefício de poder acessar seus dados centralmente em um único local na nuvem. Além disso, o Amazon SimpleDB replica seus dados de maneira automática e georedundante para garantir a alta disponibilidade. Isso significa que, diferente de uma solução centralizada no local, você não estará criando um ponto único de falha com o Amazon SimpleDB e seus dados estarão lá quando forem necessários. Todos os dados podem ser armazenados por meio de solicitações de serviços da web com uma solução e, em seguida, acessados por qualquer dispositivo.
  • Administração zero – Seus itens de dados são armazenados com solicitações simples de serviços da web, e a Amazon Web Services cuida do restante. A natureza “configure e esqueça” do serviço significa que você não está gastando tempo no gerenciamento do anco de dados para armazenar e manter os registros de dados.
  • Econômico – O Amazon SimpleDB tem um custo muito baixo para armazenar e consultar seus registros de dados. Como você está pagando à medida que usa apenas para os recursos que utiliza, não é necessário fazer seu próprio planejamento de volume ou se preocupar com o carregamento do banco de dados. O serviço simplesmente responde ao volume solicitado à medida que ele é transferido, realizando cobranças apenas dos recursos realmente consumidos.

Jogos on-line

Para desenvolvedores de jogos on-line ou qualquer plataforma, o Amazon SimpleDB oferece uma solução de banco de dados livre de administração, escalável e de alta disponibilidade para dados de usuário e de jogo.

Dados comuns de jogos on-line podem ser armazenados, indexados e consultados com o Amazon SimpleDB, incluindo:

  • Pontuações do usuário e arquivamentos
  • Configurações ou preferências do usuário
  • Informações sobre itens do jogador ou conteúdo gerado pelo usuário
  • Estado de sessão do jogo (quando um jogador salva ou interrompe)
  • Conteúdo de jogo dinâmico (aplicando uma arquitetura orientada para o serviço ao seu jogo e armazenando e servindo novos desafios ou conteúdo para jogadores com o Amazon SimpleDB)
  • Metadata indexado para objetos grandes usados por seu jogo e armazenado no Amazon S3

Várias propriedades do Amazon SimpleDB o tornam ideal para dados serem armazenados para dados de jogos on-line:

  • Alta disponibilidade (replicação e failover geo-redundante automáticos): o Amazon SimpleDB alcança alta disponibilidade ao criar automaticamente cópias de seus dados e gerenciar failover para qualquer cópia disponível no caso de uma cópia se tornar indisponível. Isto significa que você evita a complexidade de configurar clusters de banco de dados, mas seu jogo e os usuários continuam usufruindo de acesso livre de interrupção e confiável aos dados chave.
  • Escalabilidade independente: na medida em que seu banco de dados cresce e a atividade dos jogadores varia, o Amazon SimpleDB responde simplesmente ao tráfego e aos volumes de solicitações conforme aumentam ou diminuem, sem precisar de intervenção do desenvolvedor. Você paga apenas pelos recusros que realmente consome.
  • Nenhuma despesa administrativa geral: Evite os empecilhos de administração de banco de dados e elimine a tarefa de fornecimento de estrutura, configuração de software, criação e manutenção de de esquema, índices de criação, ou melhorar o desempenho de consultas. Você pode voltar a criar jogos divertidos e recursos para seus usuários, e parar de ser um administrador de banco de dados.

Como indexar metadados de objetos do Amazon S3

Muitos desenvolvedores usam o Amazon SimpleDB em conjunto com o Amazon Simple Storage Service (Amazon S3). O Amazon SimpleDB pode ser usado para armazenar indicadores para os locais dos objetos do Amazon S3 e informações detalhadas sobre os objetos (metadados), complementando o Amazon S3 com a funcionalidade eficiente de consulta de um banco de dados. Para desenvolvedores que armazenam um grande número de objetos no Amazon S3, o Amazon SimpleDB oferece uma maneira flexível, escalável e barata de armazenar metadados de objetos enquanto reduz o trabalho de todos os gastos administrativos associados à execução de um banco de dados. Exemplos comuns de metadados de objetos que podem ser armazenados, indexados e consultados com facilidade no Amazon SimpleDB incluem:

  • Tipos ou formatos de dados (imagem, vídeo, documento)
  • Associações do usuário ou designações de acesso
  • Datas em que o objeto foi criado, acessado ou modificado
  • Nome ou localização dos objetos relacionados
  • Classificações e comentários do usuário
  • Marcadores de assunto ou categoria
  • Marcadores de geolocalização

Armazenar metadados como os citados acima é extremamente valioso para a entrega de conteúdo, aplicativos de mídia, aplicativos de backup e arquivamento e muitos outros tipos de aplicativos. O Amazon SimpleDB é o local ideal para metadados, pois fornece:

  • Design flexível e sem schema: anexe com facilidade atributos adicionais de metadados sem “quebrar” um schema rígido. Se você desejar começar a rastrear as classificações do usuário para objetos de vídeo, isso não envolverá mudanças de banco de dados demoradas.
  • Atributos multivalor: um atributo de metadados pode ter diversos valores. Isso significa que é possível marcar diversas pessoas em uma fotografia ou associar diversos gêneros a arquivos de música.
  • Nenhuma despesa administrativa geral: Além de evitar os empecilhos do provisionamento de infraestrutura e da instalação e manutenção de software necessária para executar um banco de dados, o Amazon SimpleDB indexa automaticamente seus dados, ajusta o desempenho da consulta e cria cópias georedundantes de seus dados.

O Amazon SimpleDB também fornece escalabilidade de baixa fricção, respondendo automaticamente às mudanças no volume solicitado e apenas cobrando um valor baixo pelos recursos que forem realmente consumidos.