Con il movimento NoSQL in crescita basato su database basati su documenti, ultimamente ho esaminato MongoDB. Ho notato una sorprendente somiglianza con il modo di trattare gli oggetti come "Documenti", proprio come fa Lucene (e gli utenti di Solr).
Quindi, la domanda: perché dovresti usare NoSQL (MongoDB, Cassandra, CouchDB, ecc.) Su Lucene (o Solr) come "database"?
Quello che sto cercando (e sono sicuro che altri) stiano cercando in una risposta sono alcuni confronti profondi di essi. Saltiamo insieme le discussioni sul database relazionale, poiché hanno uno scopo diverso.
Lucene offre alcuni seri vantaggi, come potenti sistemi di ricerca e pesi. Per non parlare delle sfaccettature di Solr (che Solr verrà presto integrato in Lucene, yay!). Puoi usare i documenti Lucene per archiviare gli ID e accedere ai documenti come tali proprio come MongoDB. Mischiatelo con Solr e otterrete ora una soluzione bilanciata per il carico basata su WebService.
È anche possibile confrontare un provider di cache out-of-proc come Velocity o MemCached quando si parla di archiviazione di dati simili e scalabilità di MongoDB.
Le restrizioni su MongoDB mi ricordano l'utilizzo di MemCached, ma posso usare Microsoft Velocity e avere più potere di raggruppamento e raccolta delle liste su MongoDB (credo). Impossibile ottenere più veloce o scalabile della memorizzazione nella cache dei dati. Anche Lucene ha un fornitore di memoria.
MongoDB (e altri) presentano alcuni vantaggi, come la facilità d'uso della loro API. Nuova un documento, creare un ID e archiviarlo. Fatto. Bello e facile.