Я активно использовал MongoDB (последние 6 месяцев), создавая иерархическую систему управления данными, и могу поручиться как за простоту настройки (установить, запустить, использовать!), Так и за скорость. Если вы внимательно подумаете об индексах, он будет просто кричать, если говорить о скорости.
Я так понимаю, что Cassandra, благодаря ее использованию с крупномасштабными проектами, такими как Twitter, имеет лучшую функциональность масштабирования, хотя команда MongoDB работает над обеспечением паритета. Я должен отметить, что я не использовал Кассандру после стадии пробного запуска, поэтому я не могу говорить о деталях.
Настоящим свингером для меня, когда мы оценивали базы данных NoSQL, были запросы - Cassandra в основном представляет собой гигантское хранилище ключей / значений, а запросы немного неудобны (по крайней мере, по сравнению с MongoDB), поэтому для производительности вам придется дублировать довольно много данных как своего рода ручной указатель. MongoDB, с другой стороны, использует модель «запрос по примеру».
Например, предположим, что у вас есть Коллекция (на языке MongoDB для эквивалента таблицы RDMS), содержащая пользователей. MongoDB хранит записи как документы, которые в основном представляют собой двоичные объекты JSON. например:
{
FirstName: "John",
LastName: "Smith",
Email: "[email protected]",
Groups: ["Admin", "User", "SuperUser"]
}
Если вы хотите найти всех пользователей по имени Смит, у которых есть права администратора, вам просто нужно создать новый документ (в консоли администратора с помощью Javascript или в рабочей среде с использованием языка по вашему выбору):
{
LastName: "Smith",
Groups: "Admin"
}
... а затем запустите запрос. Вот и все. Добавлены операторы для сравнения, фильтрации RegEx и т. Д., Но все это довольно просто, и документация на основе Wiki довольно хороша.
person
Richard K.
schedule
01.07.2010