Amazon SimpleDB gegen Amazon DynamoDB

Antworten:

178

Dies wird in den jeweiligen FAQ behandelt. F: Wie unterscheidet sich Amazon DynamoDB von Amazon SimpleDB? Welches soll ich verwenden? (Der Hash-Link funktioniert nicht mehr, aber verwenden Sie die In-Page-Suche, um die Frage innerhalb der Seite zu lokalisieren.) Zum Teil bereits mit der kompaktesten Zusammenfassung am Ende des Absatzes:

Während SimpleDB Skalierungsbeschränkungen aufweist, eignet es sich möglicherweise gut für kleinere Workloads, die Abfrageflexibilität erfordern. Amazon SimpleDB indiziert automatisch alle Artikelattribute und unterstützt somit die Flexibilität von Abfragen auf Kosten von Leistung und Skalierbarkeit.

Es ist also ein Kompromiss zwischen Leistung / Skalierbarkeit und Einfachheit / Flexibilität, dh für einfachere Szenarien ist es möglicherweise noch einfacher, mit SimpleDB zu beginnen, um die Komplexität der Architektur Ihrer Anwendung für DynamoDB zu vermeiden (siehe unten für eine andere Perspektive).

Der verknüpfte FAQ-Eintrag verweist auf Werner Vogels Amazon DynamoDB - einen schnellen und skalierbaren NoSQL-Datenbankdienst, der auch für Internet-Scale-Anwendungen entwickelt wurde. Dies ist in der Tat eine ausführliche und daher sehr empfehlenswerte Lektüre zur Geschichte von NoSQL bei Amazon im Allgemeinen und Dynamo im Besonderen. Es enthält viele weitere Erkenntnisse, die sich auch mit Ihrer Frage befassen, z

Es wurde deutlich, dass Entwickler [sogar Amazon-Ingenieure] die Einfachheit einer fein abgestimmten Steuerung vorzogen, als sie "mit den Füßen" stimmten und Cloud-basierte AWS-Lösungen wie Amazon S3 und Amazon SimpleDB gegenüber Dynamo einführten. [zusätzlich meins]

Offensichtlich wurde DynamoDB eingeführt, um dies zu beheben, und könnte daher als Nachfolger von SimpleDB qualifiziert werden, anstatt das bestehende NoSQL-Angebot „nur“ zu ändern:

Wir kamen zu dem Schluss, dass eine ideale Lösung die besten Teile des ursprünglichen Dynamo-Designs (inkrementelle Skalierbarkeit, vorhersehbare hohe Leistung) mit den besten Teilen von SimpleDB (einfache Verwaltung eines Cloud-Dienstes, Konsistenz und ein tabellenbasiertes Datenmodell) kombinieren würde reicher als ein reiner Schlüsselwertspeicher).

Werners Zusammenfassung schlägt vor, dass DynamoDB für Anwendungen jeder Größe jetzt entsprechend geeignet ist:

Amazon DynamoDB wurde entwickelt, um eine vorhersehbar hohe Leistung aufrechtzuerhalten und für Workloads jeder Größenordnung, von der kleinsten bis zur größten Internetanwendung, äußerst kosteneffizient zu sein.

Steffen Opel
quelle
26

Verwenden Sie SimpleDB oder DynamoDB. Dies hängt von Ihrem Anwendungsfall ab. Ich habe einige meiner Erfahrungen mit SimpleDB in einigen Fällen anstelle von DynamoDB geteilt . In einem anderen Produkt habe ich sowohl SimpleDB als auch DynamoDB verwendet, um unterschiedliche Daten zu speichern.

Mason Zhang
quelle
26
mochte den Beitrag - würde nicht schaden, ihn hier zusammenzufassen
nik.shornikov
mochte die Post auch. @Mason, was denken Sie darüber, wie SimpleDCB langsam von der AWS-Produktkonsole verschwunden ist? Verwenden Sie noch SimpleDB oder sind Sie migriert?
David Robbins
1
@DavidRobbins SimpleDB wurde möglicherweise von AWS nicht mehr unterstützt, ist aber immer noch vorhanden und passt perfekt zu meinen Datenmodalen. Ich habe meinen Code noch nicht migriert und habe nicht vor, dies zu tun. Für neue Produkte wähle ich jedoch andere Datenbanken wie Dynamodb oder MySQL.
Mason Zhang
Die verlinkte Site wurde von Sophos als Malware markiert. Vorsicht walten lassen.
Ian Gilham
1
@ IanGilham danke für die Erinnerung. Ich überprüfe den Scan-Bericht ( virustotal.com/en/url/… ) erneut: 1/68 hat die Site als Malware markiert. Das könnte also mit Sophos nicht stimmen. Übrigens: Diese Seite wird tatsächlich von Google Blogspot verwaltet.
Mason Zhang
18

SimpleDB scheint heutzutage keine Liebe von Amazon zu bekommen - es ist schwer zu finden, wo es in der AWS-Konsole bereitgestellt werden kann. Anscheinend wird SimpleDB nicht mehr wiederholt - verwenden Sie DynamoDB als erste Wahl für eine Dokumentendatenbank in AWS.

SimpleDb wird nicht mehr wirklich "iteriert". Dies bedeutet, dass es in Zukunft keine Neuentwicklung für simpledb gibt. Es wird "gewartet und unterstützt", aber es wird nicht besser.

Saille
quelle
2
Kann nicht perfekt verbessern!
Dividebyzero
10

3 Hauptunterschiede:

  1. Indizierung

    • SimpleDB erstellt einen Index für "JEDES" Feld in einer Tabelle.
    • DynamoDB Sie müssen vor dem Erstellen der Datenbank Indizierungsfelder festlegen und können diese nicht ändern.
  2. Preisgestaltung:

    • Die Preise für SimpleDB basieren auf Maschinenstunden und Speicherkapazität
    • DynamoDB berechnet Geld nach Kapazität von Lese- / Schreibdatensätzen pro Sekunde.
  3. Skalierbarkeit:

    • SimpleDB erfordert eine manuelle Partitionierung, wenn der Datenspeicher 10 GB überschreitet.
    • DynamoDB verteilt Daten automatisch unter der Haube und bietet somit eine sehr hohe Skalierbarkeit.
Sagar Ranglani
quelle
5

Einer der Unterschiede bestand früher (wie @Mason Zhang in seinem Artikel oben feststellt) in der Indizierung. Mit DynamoDB können Sie zum Zeitpunkt der Erstellung der Tabelle nur Indizes erstellen. Jetzt (seit Anfang 2014) gibt es jedoch das Konzept des Global Secondary Index (GSI). Die GSI kann jederzeit auf dem Tisch erstellt werden. Bis zu 5 werden unterstützt. Daher ist die Indizierung für viele Anwendungsfälle kein blockierendes Problem mehr.

Sie sollten auch wissen, dass SimpleDB Größen- und Leistungsbeschränkungen aufweist. (10 GB und sagen wir 25 Anfragen / Sek.)

Möglicherweise wird DynamoDB SimpleDB in allen außer den einfachsten Anwendungsfällen ersetzen.

kalyanswaroop
quelle
0

In einfachen Worten sind beide Datenspeicher NoSql.

Der Unterschied liegt in der Skalierbarkeit (und einigen anderen Aspekten, aber die Skalierung hat meiner Meinung nach den größten Wert). SimpleDB ist MongoDB ziemlich ähnlich, weist jedoch einige Einschränkungen hinsichtlich der Skalierung auf.

Mit DynamoDB können Sie jedoch kleine Bereitstellungen durchführen und so viele bereitgestellte Durchsätze skalieren, wie Sie benötigen. Und verkleinern, wenn es nicht benötigt wird. (dh während einer Promotion haben Promi-Überweisungsanmeldungen usw. Szenarien wie diese einen zeitbasierten Anstieg der Hardwareanforderungen)

Gayan Hewa
quelle
0

Ich glaube, der Hauptunterschied zwischen Simple DB und Dynamo DB ist

  1. Vorhersehbare Leistung in Bezug auf Latenz und Fähigkeit, hohe Volumes zu verarbeiten, ohne die Latenz und den Durchsatz zu beeinträchtigen. DynamoDB erreicht dies mithilfe des Partitionsschlüssels
  2. Lese- und Schreiboptimierungen, die angepasst werden können
  3. Besseres eventuelles Konsistenzmodell, da ein konsistenter Hashing-Algorithmus verwendet wird
Webjockey
quelle
0

Dies sind zwei Hauptunterschiede, die Sie beachten sollten

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

Dies sind zwei Hauptunterschiede, die Sie beachten sollten.

Mit DynamoDB können Sie Anwendungen mit praktisch unbegrenztem Durchsatz und Speicher erstellen. Dies ist bei SimpleDB nicht der Fall.

  • 1: STRENGE LAGERBESCHRÄNKUNG VON 10 GB

SimpleDB hat eine strikte Speicherbeschränkung von 10 GB. DynamoDB unterliegt jedoch keinen Speicherbeschränkungen für die Daten. Es ist sowohl hinsichtlich der Speicherung als auch der Berechnung hoch skalierbar.

  • 2: MAX. BIS ZU 25 SCHREIBOPERATIONEN / ZWEITER

SimpleDB kann maximal 25 Schreibvorgänge pro Sekunde verarbeiten . Keine solche Begrenzung in DynamoDB.

Sateesh
quelle