Das ist eine großartige Frage, über die ich ziemlich viel nachgedacht habe. Ich werde meine gewonnenen Erkenntnisse zusammenfassen:
-
Sie können für so ziemlich alle Situationen problemlos Lucene/Solr anstelle von MongoDB verwenden, aber nicht umgekehrt. Grant Ingersolls Beitrag fasst es hier zusammen.
-
MongoDB usw. scheinen einem Zweck zu dienen, bei dem keine Suche und/oder Facettierung erforderlich ist. Es scheint ein einfacherer und wohl einfacher Übergang für Programmierer zu sein, die sich von der RDBMS-Welt entgiften. Wenn man es nicht gewohnt ist, haben Lucene &Solr eine steilere Lernkurve.
-
Es gibt nicht viele Beispiele für die Verwendung von Lucene/Solr als Datenspeicher, aber Guardian hat einige Fortschritte gemacht und fasst dies in einem hervorragenden Slide-Deck zusammen, aber auch sie sind unverbindlich, wenn es darum geht, vollständig auf den Solr-Zug aufzuspringen und die Kombination von Solr zu „untersuchen“. mit CouchDB.
-
Abschließend biete ich unsere Erfahrungen an, kann leider nicht viel über den Business-Case verraten. Wir arbeiten im Umfang von mehreren TB an Daten, eine Anwendung nahezu in Echtzeit. Nachdem ich verschiedene Kombinationen untersucht hatte, entschied ich mich, bei Solr zu bleiben. Bisher keine Reue (6 Monate &mehr) und keinen Grund, zu einem anderen zu wechseln.
Zusammenfassung:Wenn Sie keine Suchanforderungen haben, bietet Mongo einen einfachen und leistungsstarken Ansatz. Wenn die Suche jedoch der Schlüssel zu Ihrem Angebot ist, sind Sie wahrscheinlich besser dran, sich an eine Technologie (Solr/Lucene) zu halten und das Ganze zu optimieren – weniger bewegliche Teile.
Meine 2 Cent, hoffe das hat geholfen.