Am Anfang lernte ich Cassandra, weil dynamische Säulen meine Aufmerksamkeit erregten. Als ich anfing, mehr zu lernen, lernte ich, dass zusammengesetzte Primärschlüssel den dynamischen Spalten vorgezogen werden und Cassandra sich auf das Schema bezieht (Schema ist optional und nicht obligatorisch, aber empfehlenswert). In cql3 ist es allerdings obligatorisch und ich lese cql3 ist der beste Ansatz für neue Anwendungen in Cassandra.Wenn dynamische Spalten in Cassandra 1.2/Cql3 entmutigt werden, wie ist es dann besser als Mysql in der Funktionalität?
Hier ist, wo ich eine interessante Frage stelle. Ich las eine bestimmte Folie (Mysql vs Cassandra) - http://lanyrd.com/2012/austin-mysql-meetup-january/spdrx/ (Sprung zu 31 Folie), wo es über die Use Case zur Betrugserkennung diskutiert.
„In FraudDetection Risiko zu berechnen, ist es üblich, die E-Mails alle wissen zu müssen, Destinationen, Herkunft, Geräte, Standorte, Telefonnummern, etc. je für das betreffende Konto verwendet.“
Es wurde erklärt, wie Wir müssen eine individuelle Tabelle für E-Mails, Ziele, Herkunft usw. in der relationalen Welt pflegen und wie einfach es ist, mit dynamischen Spaltenschlüsseln und Werten in der Cassandra-Welt zu sein. (31-34 Dias).
Jetzt diese dynamische Spalte Schlüssel und Werte und entmutigt, wie können wir dieses Problem lösen? Sollten wir einzelne Spaltenfamilien für jede E-Mail, jedes Ziel usw. pflegen? Wie unterscheidet es sich dann von der relationalen Welt? Geht es nur um Skalierbarkeit? Können wir den Schema-less-Ansatz noch fortsetzen? Ist das die goldene Regel "Schema ist optional und empfohlen, aber nicht zwingend erforderlich?"
Dank
Dies ist ein alter Rat. Siehe [this] (http://planetcassandra.org/making-the-change- from-thrift-to-cql /) für Details zum Übergang in CQL. –