Inizialmente ho iniziato a studiare Cassandra perché le colonne dinamiche catturavano la mia attenzione. Quando ho iniziato a imparare di più, ho imparato che le chiavi primarie composite sono preferite alle colonne dinamiche e Cassandra si sta spostando su uno schema basato (lo schema è facoltativo e non obbligatorio ma raccomandato). In cql3, è obbligatorio e leggo cql3 è l'approccio migliore per le nuove applicazioni in cassandra.Se le colonne dinamiche sono scoraggiate in cassandra 1.2/Cql3, allora come è meglio di Mysql in funzionalità?
Ecco dove mi trovo di fronte a una domanda interessante. Stavo leggendo una diapositiva particolare (Mysql vs Casssandra) - http://lanyrd.com/2012/austin-mysql-meetup-january/spdrx/ (Vai a 31 slide) dove si parla del caso d'uso di rilevamento frodi.
"In FraudDetection per calcolare il rischio, è comune ad avere bisogno di conoscere tutti i messaggi di posta elettronica, le destinazioni, le origini, i dispositivi, località, phonenumbers, eccetera mai utilizzati per l'account in questione."
E 'stato spiegato come dobbiamo mantenere una tabella individuale per e-mail, destinazioni, origini, ecc. in un mondo relazionale e quanto sia facile essere nel mondo di cassandra con chiavi e valori di colonna dinamici. (31-34 diapositive).
Ora che le chiavi e i valori delle colonne dinamiche sono scoraggiati, come possiamo risolvere questo problema? Dovremmo mantenere singole famiglie di colonne per ogni e-mail, destinazione ecc.? Allora, come è diverso dal mondo relazionale? Si tratta solo di scalabilità? Possiamo ancora andare avanti con l'approccio schema less? È questa la regola d'oro "Lo schema è opzionale e raccomandato ma non obbligatorio?"
Grazie
Questo è un vecchio consiglio. Vedi [this] (http://planetcassandra.org/making-the-change-from-thrift-to-cql/) per i dettagli su come passare a CQL. –