これは素晴らしい質問であり、私はかなり熟考してきました。学んだ教訓を要約します:
-
MongoDBの代わりにLucene/Solrをほとんどすべての状況で簡単に使用できますが、その逆はできません。グラント・インガーソルの投稿はそれをここに要約しています。
-
MongoDBなどは、検索やファセットの必要がないという目的を果たしているようです。これは、RDBMSの世界からデトックスするプログラマーにとって、より単純で間違いなく簡単な移行のように見えます。慣れていない限り、Lucene&Solrの学習曲線は急勾配です。
-
Lucene / Solrをデータストアとして使用する例は多くありませんが、Guardianはいくつかの前進を遂げ、これを優れたスライドデッキに要約していますが、Solrの時流に乗って、Solrを組み合わせて「調査」することにもコミットしていません。 CouchDBを使用します。
-
最後に、私たちの経験を提供しますが、残念ながらビジネスケースについて多くを明らかにすることはできません。ほぼリアルタイムのアプリケーションである、数TBのデータの規模で作業します。さまざまな組み合わせを調査した後、Solrを使用することにしました。これまでのところ後悔はなく(6か月とカウント)、他のものに切り替える理由はありません。
概要:検索要件がない場合、Mongoはシンプルで強力なアプローチを提供します。ただし、検索が提供の鍵である場合は、1つの技術(Solr / Lucene)に固執し、それを最適化して、可動部品を少なくする方がよいでしょう。
私の2セント、それがお役に立てば幸いです。