Con el movimiento de NoSQL creciendo en base a bases de datos basadas en documentos, he visto MongoDB últimamente. He notado una sorprendente similitud con la forma de tratar los elementos como "Documentos", al igual que Lucene (y los usuarios de Solr).
Entonces, la pregunta: ¿Por qué querrías usar NoSQL (MongoDB, Cassandra, CouchDB, etc.) sobre Lucene (o Solr) como tu "base de datos"?
Lo que estoy buscando (y estoy seguro de que otros están buscando) en una respuesta son algunas comparaciones profundas de ellos. Pasemos por alto todas las discusiones de bases de datos relacionales, ya que tienen un propósito diferente.
Lucene ofrece algunas ventajas serias, como potentes sistemas de búsqueda y peso. Sin mencionar las facetas en Solr (que Solr se está integrando en Lucene pronto, ¡yay!). Puede utilizar documentos de Lucene para almacenar ID y acceder a los documentos como tal, como MongoDB. Combínelo con Solr, y ahora obtendrá una solución de carga equilibrada basada en WebService.
Incluso puede incluir una comparación de proveedores de caché fuera de proceso, como Velocity o MemCached cuando se habla de almacenamiento de datos y escalabilidad similares de MongoDB.
Las restricciones en torno a MongoDB me recuerdan el uso de MemCached, pero puedo usar Velocity de Microsoft y tener más poder de agrupación y recopilación de listas sobre MongoDB (creo). No puede ser más rápido o escalable que el almacenamiento en caché de datos en la memoria. Incluso Lucene tiene un proveedor de memoria.
MongoDB (y otros) tienen algunas ventajas, como la facilidad de uso de su API. Renueve un documento, cree una identificación y guárdelo. Hecho. Bonito y fácil.