2009-04-21 11 views
7

Ich erstelle eine Anwendung, die auf Amazon EC2 gehostet wird, und viele der Daten, die gespeichert werden, sind dokumentenorientierter (und speichern Tweets und solche, die sich auf diese Dokumente beziehen).Soll ich CouchDB oder SimpleDB verwenden?

Momentan bin ich an einer Kreuzung ... sollte ich simpleDB oder couchDB verwenden? Was sind die Vor-/Nachteile der Verwendung von entweder? Soll ich beide beide einen Monat lang ausprobieren und dann entscheiden?

Antwort

12

Sie finden möglicherweise den Artikel Amazon SimpleDB and CouchDB Compared, um nützlich zu sein.

Ich habe auch festgestellt, dass MongoDB hervorragende Leistung bietet.

+0

+1 für MongoDB. Ich kann Erlang nicht auf meinem Server/iPhone-Client installieren, aber eine C++ - Bibliothek für eine Document-basierte Datenbank ist ermutigend. –

5

Denken Sie daran, dass SimpleDB, wenn Ihr Code in EC2 lebt, vermutlich im selben Rechenzentrum wie Ihr Code gehostet wird, wodurch SimpleDB eine geringere Latenz als CouchDB für Anfragen von einem EC2-Server erhält. Außerdem berechnet Amazon keine Bandbreitenkosten zwischen EC2 und SimpleDB.

Ich würde erwarten, dass SimpleDB aus diesen Gründen sowohl schneller als auch billiger für Code ist, der in EC2 läuft.

+3

Es kommt darauf an, dass CouchDB vermutlich auch auf EC2 gehostet wird und vielleicht sogar schneller als SimpleDB ist. – LucaM

+1

Ich nahm an, dass CouchDB einen eigenen Host hat, wie SimpleDB es tut. Wenn das nicht der Fall ist, haben Sie Recht - laden Sie CouchDB herunter und hosten Sie es in EC2 selbst, und die Latenz-/Ladeprobleme verschwinden. –

1

Ich würde absolut einen Benchmark der beiden Lösungen mit Ihrem eigenen Anwendungsfall machen, wenn das möglich ist, dh wenn Sie eine vernünftige Teilmenge Ihrer Anwendung für beide Datenbanken erstellen können (sie haben ziemlich unterschiedliche APIs, so könnte dies möglich sein) nicht einfach sein).

1

Wenn Sie in .NET-Umgebung zu entwickeln gibt es eine ausgezeichnete lib für SimpleDB Simple Savant genannt, die wirklich die Integration erleichtert ..

4

SimpleDB gehostet und verwaltet von Amazon für Sie ist CouchDB alles ganz bei Ihnen. Das ist der große Unterschied.

1

Ich habe einige Live-Lösungen mit SimpleDB erstellt und es funktioniert sehr gut, vor allem mit einer Cache-Schicht davor (siehe Memcached et al). Ich habe jedoch kürzlich damit begonnen, ein neues Projekt auszuarbeiten und habe mich aus dem Grund, die Kontrolle über die Daten zu haben, für CouchDB entschieden.

Mit dem wachsenden Einsatz von SimpleDB wird es immer schwieriger, auf etwas anderes zu migrieren (ah die Freuden des Vendor Lock-in) und, offen gesagt, das ist einfach nicht gut für unser Geschäft.

Ich bleibe ein starker Evangelist der Cloud-Tech, und vor allem Amazon, aber ich fühle mich viel besser Couchdb auf EC2 laufen als ich mit SimpleDB.

Roger