Я широко використовував MongoDB (останні 6 місяців), будуючи ієрархічну систему управління даними, і я можу поручитися як за простоту налаштування (встановити її, запустити, використовувати!), Так і швидкість. Поки ви ретельно продумуєте індекси, вони можуть абсолютно кричати разом, із швидкістю.
Я вважаю, що Кассандра, завдяки використанню таких масштабних проектів, як Twitter, має кращу функціональність масштабування, хоча команда MongoDB працює над паритетом. Я мушу зазначити, що я не використовував Кассандру поза етапом випробувань, тому не можу говорити для деталей.
Справжнім свінгерів для мене, коли ми оцінювали бази даних NoSQL, був запит - Кассандра в основному є просто гігантським сховищем ключів / цінностей, а запити - трохи хитро (принаймні порівняно з MongoDB), тому для продуктивності вам доведеться дублювати досить багато даних як своєрідний індекс вручну. MongoDB, з іншого боку, використовує модель "запит за прикладом".
Наприклад, скажіть, що у вас є колекція (мова MongoDB для еквівалента таблиці RDMS), що містить користувачів. MongoDB зберігає записи як Документи, які в основному є бінарними об'єктами JSON. наприклад:
{
FirstName: "John",
LastName: "Smith",
Email: "john@smith.com",
Groups: ["Admin", "User", "SuperUser"]
}
Якщо ви хочете знайти всіх користувачів, які називаються Смітом, які мають права адміністратора, ви просто створіть новий документ (на консолі адміністратора за допомогою Javascript або у виробництві на вибраній вами мові):
{
LastName: "Smith",
Groups: "Admin"
}
... а потім запустіть запит. Це воно. Додані оператори для порівнянь, фільтрування RegEx тощо, але все це досить просто, а документація на основі Wiki є досить хорошою.