Зростання руху NoSQL на основі баз даних, що базуються на документах, я останнім часом переглядав MongoDB. Я помітив вражаючу схожість з поводженням з предметами як з "Документами", як і Люцен (і з користувачами Solr).
Отже, питання: чому ви хочете використовувати NoSQL (MongoDB, Cassandra, CouchDB тощо) над Lucene (або Solr) в якості "бази даних"?
Те, що я шукаю (і я впевнений, що інші) шукаю у відповідь, - це деякі глибокі порівняння їх. Давайте разом пропустимо обговорення реляційних баз даних, оскільки вони служать іншій меті.
Люцен дає деякі серйозні переваги, такі як потужні системи пошуку та ваги. Не кажучи вже про грані в Солрі (який Солр незабаром інтегрується в Люцен, так!). Ви можете використовувати документи Lucene для зберігання ідентифікаторів та доступу до таких документів, як MongoDB. Змішайте його з Solr, і тепер ви отримаєте рішення, засноване на WebService, збалансованому завантаженні.
Ви навіть можете зіставити порівняння постачальників кеш-пам'яті, що не випускаються, наприклад, Velocity або MemCched, якщо говорити про схоже зберігання даних та масштабованість MongoDB.
Обмеження навколо MongoDB нагадує мені використовувати MemCched, але я можу використовувати швидкість Microsoft і мати більше можливостей групування та списку над MongoDB (я думаю). Неможливо отримати швидше або масштабувати, ніж кешування даних у пам'яті. Навіть у Lucene є постачальник пам'яті.
У MongoDB (та інших) є деякі переваги, такі як простота використання їх API. Створіть документ, створіть ідентифікатор та зберігайте його. Зроблено. Приємно і легко.