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.