С ростом движения NoSQL на основе баз данных на основе документов я недавно обратил внимание на MongoDB.Я заметил поразительное сходство с тем, как относиться к элементам как к «документам», так же, как это делает Lucene (и пользователи Solr).
Итак, вопрос: Почему вы хотите использовать NoSQL (MongoDB, Cassandra, CouchDB и т. Д.) Через Lucene (или Solr) в качестве вашей «базы данных»?
Что я (и я уверен, что другие) ищут в ответе - это некоторые глубокие сравненияиз них.Давайте пропустим все обсуждения реляционных баз данных, поскольку они служат другой цели.
Lucene дает некоторые серьезные преимущества, такие как мощные системы поиска и взвешивания.Не говоря уже о гранях в Solr (который скоро будет добавлен в Lucene, да!).Вы можете использовать документы Lucene для хранения идентификаторов и доступа к документам как к MongoDB.Смешайте его с Solr, и теперь вы получите решение с балансировкой нагрузки на основе WebService.
Вы даже можете добавить сравнение провайдеров кэширования вне процесса, таких как Velocity или MemCached, когда говорите о схожем хранении данных.и масштабируемость MongoDB.
Ограничения, касающиеся MongoDB, напоминают мне об использовании MemCached, но я могу использовать Microsoft Velocity и иметь больше возможностей для группировки и сбора списков по сравнению с MongoDB (я думаю).Не может быть быстрее или масштабируемее, чем кэширование данных в памяти.Даже у Lucene есть поставщик памяти.
MongoDB (и другие) имеют некоторые преимущества, такие как простота использования их API.Создайте документ, создайте идентификатор и сохраните его.Готово.Красиво и просто.