Kurze Antwort: Nein.
konstruktions Werte Cassandra Verfügbarkeit und Partitionstoleranz über Konsistenz 1. Grundsätzlich ist es nicht möglich, eine akzeptable Latenz zu erhalten, während alle drei Qualitäten erhalten bleiben: man muss geopfert werden. Dies wird CAP-Theorem genannt.
Die Konsistenzmenge ist in Cassandra mit Konsistenzstufen konfigurierbar, aber es gibt keine Semantik für das Zurücksetzen. Es gibt keine Garantie dafür, dass Sie Ihre Änderungen rückgängig machen können, selbst wenn der erste Schreibvorgang erfolgreich ist.
Wenn Sie Anwendungen mit Transaktionen oder Sperren auf Cassandra erstellen möchten, sollten Sie sich vielleicht Zookeeper ansehen, der für die verteilte Synchronisation verwendet werden kann.
Sie haben das vielleicht schon erraten, aber Cassandra hat keine Fremdschlüssel oder ähnliches. Dies muss manuell behandelt werden. Ich bin mit Hector nicht so vertraut, aber ein Client auf höherer Ebene könnte das halbautomatisch machen.
Ob Sie Cassandra zum einfachen Austausch eines RDBMS verwenden können, hängt von Ihrem spezifischen Anwendungsfall ab. In Ihrem Anwendungsfall (basierend auf Ihren Fragen) könnte es schwierig sein.
Dank Lautis. Nachdem wir alle Features in Betracht gezogen hatten, entschieden wir uns nicht für Cassandra und relationale Datenbank. –
Guter Thread auf der Cassandra-Mailingliste über Transaktionen: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/best-practices-for-simulation-transactions-in-Cassandra-td7064256.html – Zanson
Danke. Gute Antwort! – Amresh