Amazon SimpleDB vs Amazon DynamoDB

Respuestas:

179

Esto se aborda en las preguntas frecuentes respectivas P: ¿En qué se diferencia Amazon DynamoDB de Amazon SimpleDB? ¿Cuál debería usar? (el enlace hash ya no funciona, pero use Buscar en la página para localizar la pregunta dentro de la página) hasta cierto punto, con el resumen más compacto al final del párrafo:

Si bien SimpleDB tiene limitaciones de escala, puede ser una buena opción para cargas de trabajo más pequeñas que requieren flexibilidad de consulta. Amazon SimpleDB indexa automáticamente todos los atributos de los elementos y, por lo tanto, admite la flexibilidad de consulta a costa del rendimiento y la escala.

Por lo tanto, es una compensación entre rendimiento / escalabilidad y simplicidad / flexibilidad, es decir, para escenarios más simples, aún podría ser más fácil comenzar con SimpleDB para evitar las complejidades de la arquitectura de su aplicación para DynamoDB (consulte a continuación para obtener una perspectiva diferente).

La entrada de preguntas frecuentes vinculada hace referencia a Amazon DynamoDB de Werner Vogel : un servicio de base de datos NoSQL rápido y escalable diseñado también para aplicaciones de Internet , que es una lectura muy elaborada y, por lo tanto, altamente recomendada sobre la historia de NoSQL en Amazon en general y Dynamo en particular; contiene muchas más ideas para abordar su pregunta también, por ejemplo

Se hizo evidente que los desarrolladores [incluso los ingenieros de Amazon] preferían la simplicidad al control detallado al votar "con los pies" y adoptaron soluciones AWS basadas en la nube, como Amazon S3 y Amazon SimpleDB, en lugar de Dynamo. [además mío]

Obviamente, DynamoDB se ha introducido para abordar esto y, por lo tanto, podría calificarse como un sucesor de SimpleDB en lugar de 'simplemente' enmendar su oferta NoSQL existente:

Concluimos que una solución ideal combinaría las mejores partes del diseño original de Dynamo (escalabilidad incremental, alto rendimiento predecible) con las mejores partes de SimpleDB (facilidad de administración de un servicio en la nube, consistencia y un modelo de datos basado en tablas que es más rico que una tienda de valor clave puro).

El resumen de Werner sugiere que DynamoDB sea una buena opción para aplicaciones de cualquier tamaño ahora, en consecuencia:

Amazon DynamoDB está diseñado para mantener un rendimiento previsiblemente alto y ser altamente rentable para cargas de trabajo de cualquier escala, desde las aplicaciones de escala de Internet más pequeñas hasta las más grandes.

Steffen Opel
fuente
27

use SimpleDB o DynamoDB, depende de su caso de uso, compartí parte de mi experiencia usando SimpleDB en algunos casos en lugar de DynamoDB . En otro producto, utilicé SimpleDB y DynamoDB para almacenar diferentes datos.

Mason Zhang
fuente
27
me gustó la publicación - no estaría de más resumirla aquí
nik.shornikov
Me gustó la publicación también. @Mason, ¿qué piensa sobre cómo SimpleDCB ha desaparecido lentamente de la consola de productos de AWS? ¿Sigues usando SimpleDB o has migrado?
David Robbins
1
@DavidRobbins SimpleDB podría haber quedado en desuso por parte de AWS, pero todavía está allí y se ajusta perfectamente a mi modal de datos. Todavía no migré mi código y no planeo hacerlo. Pero para los nuevos productos, elijo otras bases de datos como dynamodb o mysql.
Mason Zhang
El sitio vinculado ha sido marcado como malware por Sophos. Con precaución.
IanGilham
1
@IanGilham gracias por el recordatorio. Reviso el informe de escaneo ( virustotal.com/en/url/… ) nuevamente: 1/68 marcó el sitio como malware. Entonces eso podría ser algo malo con Sophos. Por cierto: este sitio en realidad es administrado por google blogspot.
Mason Zhang
18

SimpleDB no parece estar recibiendo ningún amor de Amazon en estos días; es difícil incluso encontrar dónde aprovisionarlo en la consola de AWS. Parece que SimpleDB ya no se está iterando: use DynamoDB como su primera opción para una Base de datos de documentos en AWS.

SimpleDb ya no está realmente "iterado". Lo que significa que no hay un nuevo desarrollo en el futuro para simpledb. Es "mantenido y soportado", pero no mejorará.

saille
fuente
2
No se puede mejorar en perfecto!
dividebyzero
10

3 diferencias clave:

  1. Indexación

    • SimpleDB crea un índice para el campo "CADA" en una tabla.
    • DynamoDB debe configurar los campos de indexación antes de crear la base de datos, y no puede modificarse.
  2. Precios:

    • Los precios de SimpleDB se basan en las horas de máquina y la capacidad de almacenamiento.
    • DynamoDB cobra dinero por capacidad de lectura / escritura de registros por segundo.
  3. Escalabilidad:

    • SimpleDB requiere una partición manual si el almacenamiento de datos excede los 10 GB.
    • DynamoDB distribuye automáticamente los datos bajo el capó, por lo que proporciona una escalabilidad muy alta.
Sagar Ranglani
fuente
5

Una de las diferencias solía ser (como dice @Mason Zhang en su artículo anterior) en la indexación. DynamoDB solía limitarlo a crear índices al momento de crear la tabla. Sin embargo, ahora (desde principios de 2014), existe el concepto de Índice Secundario Global (GSI). El GSI se puede crear en la mesa en cualquier momento. Hasta 5 son compatibles. Por lo tanto, la indexación ya no es un problema de bloqueo para muchos casos de uso.

También debe saber que SimpleDB tiene límites de tamaño y rendimiento. (10 GB y digamos, 25 solicitudes / segundo)

Quizás eventualmente, DynamoDB reemplazará a SimpleDB en todos los casos de uso, excepto en los más simples.

kalyanswaroop
fuente
0

En términos simples, ambos almacenes de datos son NoSql.

La diferencia radica en la escalabilidad (y algunos otros aspectos, pero la escala tiene el mayor valor en mi opinión). SimpleDB es bastante similar a MongoDB pero tiene muchas limitaciones cuando se trata de escalar.

Pero DynamoDB le permite aprovisionar en pequeña escala y aumentar la cantidad de rendimiento aprovisionado que necesita. Y reduzca la escala cuando no sea necesario. (es decir, durante una promoción, los registros de referencias de celebridades, etc., escenarios como este tendrán un aumento de los requisitos de hardware en función del tiempo)

Gayan Hewa
fuente
0

Creo que la principal diferencia en Simple DB vs Dynamo DB son

  1. Rendimiento predecible en términos de latencia y poder manejar grandes volúmenes sin comprometer la latencia y el rendimiento. DynamoDB logra esto mediante el uso de la clave de partición
  2. Leer, escribir optimizaciones que se pueden personalizar
  3. Mejor modelo de consistencia eventual porque el uso de algoritmos de hash consistentes
webjockey
fuente
0

Estas son dos diferencias principales, debe tener en cuenta

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
fuente
0

Estas son dos diferencias principales, debe tener en cuenta.

Con DynamoDB puede crear aplicaciones con un rendimiento y almacenamiento prácticamente ilimitados. Ese no es el caso con SimpleDB.

  • 1: LIMITACIÓN ESTRICTA DE ALMACENAMIENTO DE 10GB

SimpleDB tiene una limitación de almacenamiento estricta de 10 GB. Sin embargo, DynamoDB no tiene limitaciones de almacenamiento para los datos. Es altamente escalable en términos de almacenamiento y cómputo.

  • 2: MÁXIMO HASTA 25 OPERACIONES DE ESCRITURA / SEGUNDO

SimpleDB puede manejar un máximo de hasta 25 operaciones de escritura / segundo . No existe ese límite en DynamoDB.

Sateesh
fuente