Avec la croissance du mouvement NoSQL basé sur les bases de données documentaires, je me suis penché sur MongoDB dernièrement. J'ai remarqué une similitude frappante avec la façon de traiter les éléments comme des "documents", tout comme Lucene le fait (et les utilisateurs de Solr).
Donc, la question : Pourquoi voudriez-vous utiliser NoSQL (MongoDB, Cassandra, CouchDB, etc) plutôt que Lucene (ou Solr) comme "base de données" ?
Ce que je recherche (et je suis sûr que d'autres le font aussi) dans une réponse, c'est une comparaison approfondie de ces systèmes. Ne parlons pas des bases de données relationnelles, car elles ont un but différent.
Lucene offre de sérieux avantages, tels que des systèmes de recherche et de pondération puissants. Sans parler des facettes dans Solr (qui sera bientôt intégré à Lucene, youpi !). Vous pouvez utiliser les documents Lucene pour stocker les identifiants, et accéder aux documents en tant que tels, tout comme MongoDB. Mélangez le tout avec Solr, et vous obtenez une solution équilibrée en termes de charge, basée sur les services Web.
Vous pouvez même ajouter une comparaison des fournisseurs de cache hors-proc comme Velocity ou MemCached lorsque vous parlez du stockage de données et de l'évolutivité similaires de MongoDB.
Les restrictions autour de MongoDB me rappellent l'utilisation de MemCached, mais je peux utiliser Velocity de Microsoft et avoir plus de puissance de regroupement et de collecte de listes que MongoDB (je pense). Il n'y a rien de plus rapide ou de plus évolutif que la mise en cache des données en mémoire. Même Lucene a un fournisseur de mémoire.
MongoDB (et d'autres) ont quelques avantages, comme la facilité d'utilisation de leur API. Créez un document, créez un identifiant et stockez-le. C'est fait. C'est simple et facile.
8 votes
Voir stackoverflow.com/questions/2546494/
4 votes
Merci, mais cela ne répond pas à ma question : pourquoi utiliser MongoDB plutôt que Lucene pour ma base de données ? Les deux gèrent des documents, mais Lucene possède des options de recherche très puissantes. +1 cependant pour trouver réellement une question connexe. J'ai cherché plusieurs fois sur Stackoverflow, et je n'ai pas trouvé de comparaison proche.
0 votes
Comment utilisez-vous Lucene pour qu'il offre une fonctionnalité similaire à MongoDB ? Le liez-vous à une base de données relationnelle pour le stockage ?
1 votes
@Philip : C'est une question hypothétique. Pourquoi ne pas utiliser Lucene pour le stockage de vos documents ? Vous obtenez beaucoup plus de puissance de recherche et d'évolutivité (lorsqu'il est mélangé avec Solr, ce qui rend Lucene encore plus facile à utiliser).