Ho usato MongoDB ampiamente (negli ultimi 6 mesi), costruendo un sistema gerarchico di gestione dei dati e posso garantire sia la facilità di installazione (installarlo, eseguirlo, usarlo!) Che la velocità. Fintanto che pensi attentamente agli indici, può assolutamente urlare, in termini di velocità.
Ho notato che Cassandra, grazie al suo utilizzo con progetti su larga scala come Twitter, ha una migliore funzionalità di ridimensionamento, sebbene il team MongoDB stia lavorando sulla parità lì. Dovrei sottolineare che non ho usato Cassandra oltre la fase di prova, quindi non posso parlare per i dettagli.
Il vero swinger per me, quando stavamo valutando i database NoSQL, era la query: Cassandra è fondamentalmente solo un gigantesco archivio di chiavi / valori e le query sono un po 'complicate (almeno rispetto a MongoDB), quindi per le prestazioni dovresti duplicare molti dati come una sorta di indice manuale. MongoDB, d'altra parte, usa un modello di "query per esempio".
Ad esempio, supponiamo di avere una raccolta (linguaggio MongoDB per l'equivalente di una tabella RDMS) contenente utenti. MongoDB memorizza i record come documenti, che sono fondamentalmente oggetti JSON binari. per esempio:
{
FirstName: "John",
LastName: "Smith",
Email: "john@smith.com",
Groups: ["Admin", "User", "SuperUser"]
}
Se desideri trovare tutti gli utenti chiamati Smith con diritti di amministratore, devi semplicemente creare un nuovo documento (nella console di amministrazione utilizzando Javascript o in produzione utilizzando la lingua che preferisci):
{
LastName: "Smith",
Groups: "Admin"
}
... e quindi esegui la query. Questo è tutto. Ci sono operatori aggiunti per confronti, filtri RegEx ecc., Ma è tutto abbastanza semplice e la documentazione basata su Wiki è piuttosto buona.