Amazon SimpleDB vs Amazon DynamoDB

Respostas:

179

Isso é abordado pelas respectivas Perguntas frequentes P: Como o Amazon DynamoDB difere do Amazon SimpleDB? Qual devo usar? (o link hash não funciona mais, mas use o Find in-page para localizar a pergunta na página) já até certo ponto, com o resumo mais compacto no final do parágrafo:

Embora o SimpleDB tenha limitações de escala, pode ser uma boa opção para cargas de trabalho menores que exigem flexibilidade de consulta. O Amazon SimpleDB indexa automaticamente todos os atributos de itens e, portanto, oferece suporte à flexibilidade de consultas ao custo de desempenho e escala.

Portanto, é uma troca entre desempenho / escalabilidade e simplicidade / flexibilidade, ou seja, para cenários mais simples, pode ser ainda mais fácil iniciar o SimpleDB para evitar as complexidades de arquitetar seu aplicativo para o DynamoDB (veja abaixo uma perspectiva diferente).

A entrada vinculada da FAQ faz referência ao Amazon DynamoDB de Werner Vogel - um serviço de banco de dados NoSQL rápido e escalável, projetado também para aplicativos de escala da Internet , que é de fato uma leitura elaborada e, portanto, altamente recomendada sobre a história do NoSQL na Amazon em geral e no Dynamo em particular; ele contém muito mais insights sobre a sua pergunta, por exemplo,

Tornou-se óbvio que os desenvolvedores [mesmo os engenheiros da Amazon] preferiram fortemente a simplicidade do que o controle refinado, votando "com os pés" e adotando soluções da AWS baseadas na nuvem, como Amazon S3 e Amazon SimpleDB, em vez do Dynamo. [mina de adição]

Obviamente, o DynamoDB foi introduzido para resolver isso e, portanto, pode ser qualificado como sucessor do SimpleDB em vez de "apenas" alterar sua oferta NoSQL existente:

Concluímos que uma solução ideal combinaria as melhores partes do design original do Dynamo (escalabilidade incremental, alto desempenho previsível) com as melhores partes do SimpleDB (facilidade de administração de um serviço em nuvem, consistência e um modelo de dados baseado em tabela que é mais rico que um armazenamento de valores-chave puro).

O Resumo de Werner sugere que o DynamoDB seja um bom ajuste para aplicativos de qualquer tamanho agora de acordo:

O Amazon DynamoDB foi desenvolvido para manter um desempenho previsivelmente alto e ser altamente rentável para cargas de trabalho de qualquer escala, dos aplicativos mais pequenos aos maiores em escala da Internet.

Steffen Opel
fonte
27

use SimpleDB ou DynamoDB, depende do seu caso de uso. Compartilhei algumas das minhas experiências usando o SimpleDB em alguns casos, em vez do DynamoDB . Em outro produto, usei o SimpleDB e o DynamoDB para armazenar dados diferentes.

Mason Zhang
fonte
27
gostou do post - não faria mal resumir aqui
nik.shornikov
gostei do post também. @Mason, o que você pensa sobre como o SimpleDCB desapareceu lentamente do console de produtos da AWS? Você ainda está usando o SimpleDB ou migrou?
David Robbins
1
@DavidRobbins O SimpleDB pode ter sido preterido pela AWS, mas ainda existe e se encaixa perfeitamente nos meus dados. Ainda não migrei meu código e não pretendo fazê-lo. Mas para novos produtos, escolho outros bancos de dados como dynamodb ou mysql.
Mason Zhang
O site vinculado foi marcado como malware pela Sophos. Tenha cuidado.
IanGilham
1
@IanGilham obrigado pelo lembrete. Verifico novamente o relatório da verificação ( virustotal.com/en/url/… ): 1/68 marcou o site como malware. Então, isso pode estar errado com a Sophos. BTW: este site é realmente gerenciado pelo google blogspot.
Mason Zhang
18

O SimpleDB parece não estar recebendo nenhum amor da Amazon atualmente - é difícil encontrar onde provisioná-lo no AWS Console. Parece que o SimpleDB não está mais sendo iterado - use o DynamoDB como sua primeira escolha para um banco de dados de documentos na AWS.

O SimpleDb não é mais "iterado". Significando que não há novos desenvolvimentos no futuro para o simpledb. É "mantido e suportado", mas não vai melhorar.

velejar
fonte
2
Não é possível melhorar perfeito!
dividebyzero
10

3 diferenças principais:

  1. Indexação

    • O SimpleDB cria um índice para o campo "TODOS" em uma tabela.
    • No DynamoDB, é necessário definir os campos de indexação antes de criar o banco de dados e não pode ser modificado.
  2. Preços:

    • O preço do SimpleDB é baseado nas horas da máquina e na capacidade de armazenamento
    • O DynamoDB cobra dinheiro pela capacidade de leitura / gravação de registros por segundo.
  3. Escalabilidade:

    • O SimpleDB requer particionamento manual se o armazenamento de dados exceder 10 GB.
    • O DynamoDB distribui dados automaticamente sob o capô, proporcionando assim uma escalabilidade muito alta.
Sagar Ranglani
fonte
5

Uma das diferenças costumava ser (como @Mason Zhang afirma em seu artigo acima) na indexação. O DynamoDB costumava limitar a criação de índices no momento da criação da tabela. No entanto, agora (desde o início de 2014), existe o conceito de Índice Secundário Global (GSI). O GSI pode ser criado sobre a mesa a qualquer momento. Até 5 são suportados. Portanto, a indexação não é mais um problema de bloqueio para muitos casos de uso.

Você também deve saber que o SimpleDB possui limites de tamanho e desempenho. (10 GB e digamos, 25 solicitações / s)

Talvez, eventualmente, o DynamoDB substitua o SimpleDB nos casos de uso mais simples.

kalyanswaroop
fonte
0

Em termos simples, os dois repositórios de dados são NoSql.

A diferença está na escalabilidade (e em alguns outros aspectos, mas a escala carrega o maior valor na minha opinião). O SimpleDB é bastante semelhante ao MongoDB, mas tem várias limitações quando se trata de dimensionamento.

Porém, o DynamoDB permite provisionar pequenas e escalar o rendimento provisionado necessário. E reduza quando não for necessário. (ou seja, durante uma promoção, inscrições por referências de celebridades, etc., cenários como esse terão um aumento de requisitos de hardware com base no tempo)

Gayan Hewa
fonte
0

Acredito que a principal diferença entre o Simple DB e o Dynamo DB seja

  1. Desempenho previsível em termos de latência e capacidade de lidar com altos volumes sem comprometer a latência e a taxa de transferência. O DynamoDB consegue isso usando a chave de partição
  2. Leia, escreva otimizações que podem ser personalizadas
  3. Melhor modelo de consistência eventual porque o uso de algoritmo de hash consistente
webjockey
fonte
0

Estas são duas grandes diferenças, você deve estar ciente de

1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.

2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.
Sateesh
fonte
0

Essas são duas grandes diferenças, das quais você deve estar ciente.

Com o DynamoDB Você pode criar aplicativos com produtividade e armazenamento praticamente ilimitados . Esse não é o caso do SimpleDB.

  • 1: LIMITAÇÃO RÍGIDA DE ARMAZENAMENTO DE 10 GB

O SimpleDB possui uma limitação estrita de armazenamento de 10 GB. No entanto, o DynamoDB não possui limitações de armazenamento para os dados. É altamente escalável em termos de armazenamento e computação.

  • 2: MÁXIMO ATÉ 25 DE GRAVAÇÃO / SEGUNDA

O SimpleDB pode lidar com no máximo 25 operações de gravação / segundo . Não existe esse limite no DynamoDB.

Sateesh
fonte