MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB contro Cassandra

Molte letture in ogni query, meno scritture regolari

Entrambi i database si comportano bene nelle letture in cui il set di dati caldo si adatta alla memoria. Entrambi enfatizzano anche i modelli di dati senza join (e incoraggiano invece la denormalizzazione) ed entrambi forniscono indici su documenti o righe, sebbene gli indici di MongoDB siano attualmente più flessibili.

Il motore di archiviazione di Cassandra fornisce scritture a tempo costante, indipendentemente dalle dimensioni del tuo set di dati. Le scritture sono più problematiche in MongoDB, in parte a causa del motore di archiviazione basato su b-tree, ma soprattutto per il blocco multi-granularità che fa.

Per l'analisi, MongoDB fornisce un'implementazione personalizzata della mappa/riduzione; Cassandra fornisce il supporto nativo di Hadoop, incluso per Hive (un data warehouse SQL basato su Hadoop map/reduce) e Pig (un linguaggio di analisi specifico di Hadoop che molti pensano sia più adatto per i carichi di lavoro map/reduce rispetto a SQL). Cassandra supporta anche l'uso di Spark.

Non preoccupato per la scalabilità "enorme"

Se stai guardando un singolo server, MongoDB è probabilmente una soluzione migliore. Per coloro che sono più preoccupati per il ridimensionamento, l'architettura senza un singolo punto di errore di Cassandra sarà più facile da configurare e più affidabile. (Anche il blocco di scrittura globale di MongoDB tende a diventare più doloroso.) Cassandra offre anche molto più controllo sul funzionamento della replica, incluso il supporto per più data center.

Più preoccupato per la semplice configurazione, manutenzione e codice

Entrambi sono banali da configurare, con impostazioni predefinite ragionevoli per un singolo server. Cassandra è più semplice da configurare in una configurazione multi-server poiché non ci sono nodi con ruoli speciali di cui preoccuparsi.

Se attualmente stai utilizzando BLOB JSON, MongoDB è una soluzione follemente buona per il tuo caso d'uso, dato che utilizza BSON per archiviare i dati. Sarai in grado di avere dati più ricchi e più interrogabili di quelli che avresti nel tuo attuale database. Questa sarebbe la vittoria più significativa per Mongo.