Frage

Ich bewerten eine Speicherplattform für ein bevorstehendes Projekt und kehre immer wieder nach Cassandra zurück. Für dieses Projektverlust irgendein Datenmenge ist inakzeptabel. Bisher haben wir eine relationale Datenbank (Microsoft SQL Server) verwendet, aber die Daten sind so unterschiedlich und groß, dass sie zu einem Problem für das Speichern und Abfragen geworden sind.

Ist Cassandra robust genug, um sie als primäre Datenspeicher zu verwenden? Oder sollte es nur verwendet werden, um vorhandene Daten zu spiegeln, um den Zugriff zu beschleunigen?

War es hilfreich?

Lösung

Anekdotisch: Ja, Twitter, Digg, Ooyala, SimpleGeo, Mahalo und andere verwenden oder ziehen nach Cassandra für einen Primärdatenspeicher (nach Cassandra ()http://n2.nabble.com/cassandra-users-survey-td4040068.html).

Technisch: Ja; Neben der Unterstützung der Replikation (einschließlich zu mehreren Datencentern) hat jeder Cassandra -Knoten ein FSYNC -Log. Von dort werden Schreibvorgänge in SSTables verwandelt, die bis zur Verdichtung unveränderlich sind (was mehrere SSTables mit alten GC -Versionen kombiniert). Snapshotting wird jederzeit unterstützt, einschließlich automatischer Snapshot-Vorfor-Kompaktion.

Andere Tipps

Unabhängig davon, ob Cassandra für Ihre Anwendung verwendet werden soll oder nicht, hängt nur von Ihren Daten -Workloads ab. Cassandra ist für schreibintensive Workloads optimiert. Daher ist es für Anwendungen geeignet, bei denen eine große Menge an Daten eingefügt werden muss (z. B. Informationen zur Infrastrukturprotokollierung bei Facebook).

Wenn Sie jedoch schnelle Abrufen benötigen und die Einfügungsgeschwindigkeit kein Problem darstellt, sollten Sie sich vielleicht einen Blick auf Say HBase werfen (das für readintensive Workloads optimiert ist).

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