Questa è una bella domanda, qualcosa su cui ho riflettuto a lungo. Riassumerò le mie lezioni apprese:
-
Puoi facilmente usare Lucene/Solr al posto di MongoDB per quasi tutte le situazioni, ma non viceversa. Il post di Grant Ingersoll lo riassume qui.
-
MongoDB ecc. sembrano servire a uno scopo in cui non è necessario eseguire ricerche e/o sfaccettature. Sembra essere una transizione più semplice e probabilmente più facile per i programmatori che si disintossicano dal mondo RDBMS. A meno che non ci si sia abituati Lucene e Solr hanno una curva di apprendimento più ripida.
-
Non ci sono molti esempi di utilizzo di Lucene/Solr come datastore, ma Guardian ha fatto alcuni progressi e li ha riassunti in un eccellente slide-deck, ma anche loro non si impegnano a saltare totalmente sul carro di Solr e "indagare" combinando Solr con CouchDB.
-
Infine, offrirò la nostra esperienza, purtroppo non posso rivelare molto sul business case. Lavoriamo sulla scala di diversi TB di dati, un'applicazione quasi in tempo reale. Dopo aver studiato varie combinazioni, ho deciso di restare con Solr. Nessun rimpianto finora (6 mesi e oltre) e non vedo alcun motivo per passare a un altro.
Riepilogo:se non hai un requisito di ricerca, Mongo offre un approccio semplice e potente. Tuttavia, se la ricerca è la chiave della tua offerta, è probabile che tu stia meglio attenendoti a una tecnologia (Solr/Lucene) e ottimizzando il diavolo - meno parti mobili.
I miei 2 centesimi, spero di esserti stato d'aiuto.