Frage

Ich habe eine große Sammlung von Datenblöcken Größe 1kB (in der Größenordnung von mehreren hundert Millionen), und brauchen eine Möglichkeit, diese Datenblöcke zu speichern und abzufragen. Die Datenblöcke hinzugefügt werden, aber nie gelöscht oder aktualisiert. Unser Service ist auf der S3, EC2-Plattform implementiert.

ich weiß, Amazon SimpleDB existiert, aber ich möchte eine Lösung, die plattformunabhängig ist (im Fall müssen wir aus AWS zum Beispiel bewegen).

Also meine Frage ist, was ist die Vor-und Nachteile dieser beiden Optionen zum Speichern und Abrufen von Datenblöcken. Wie würde vergleicht die Leistung?

  • Speichern Sie die Datenblöcke als Dateien auf S3 und erhalten sie bei Bedarf
  • Speichern Sie die Datenblöcke auf einem MySQL-Server-Cluster

Gäbe es sein, dass viel von einem Performance-Unterschied?

War es hilfreich?

Lösung

Sie benötigen Zugriff auf diese Datenblöcke an die Benutzer Ihrer Anwendung direkt zur Verfügung zu stellen? Wenn nicht, dann S3 und HTTP-GET-Anforderungen sind ein Overkill. auch in berücksichtigen sollten, dass S3 auf einen sicheren Dienst ist, der Aufwand für jede Anforderung GET (für nur 1 KB Daten) wird beträchtlich groß sein.

MySQL-Server-Cluster wäre eine bessere Idee sein, aber in EC2 Sie müssen beschäftigen Elastic Block Storage zu laufen. Schließlich nicht SimpleDB auszuschließen. Es ist vielleicht die beste Lösung für Ihr Problem. Gestalten Sie Ihr System sorgfältig und Sie wäre in der Lage, einfach in anderen Datenbanksystemen zu migrieren (verteilt oder relational) in der Zukunft.

Andere Tipps

Ich habe versucht, S3 als eine Art „Datenbank“ mit winzigen XML-Dateien mit meinen strukturierten Datenobjekte zu halten, und diese Objekte sehen auf dem S3 „Schlüssel“ zu verlassen.

Die Leistung war nicht akzeptabel, auch von EC2 - die Latenz bis S3 ist einfach zu hoch

.

Ausführen von MySQL auf einem EBS-Gerät wird eine Größenordnung schneller sein, auch mit so vielen Datensätzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top