mardi, mars 29, 2005

Lucene versus SGBD

La bataille n'est pas courante... néanmoins, toute connaisseur de Nutch désireux d'employer l'indexeur Lucene dans toute sa potentialité sera confronté à la question suivante :

Quand faut-il utiliser une SGBD plutot que Lucene.

Prenons un cas concret : réaliser un compteur de "mots de recherche" pour Nutch.

Pour l'instant je m'accorde aux choses suivantes :

* Lucene est un indexeur, c'est à dire un outil permettant de retrouver au plus vite une entrée d'index associée à des données.
* MySQL (ou autres SGBD) est un système de gestion de base de données. C'est à dire un ensemble d'index englobant l'implémentation d'un ensemble d'opération sans se préoccuper des problemes sous-jacents (multi-ultisateurs, synchronisation, lecture/écriture).

A mes yeux, Lucene est théoriquement plus lent lorsque les scéances d'écriture se succèdent aux étapes de lecture. J'aurais tendance à affirmer que Lucene est un indexeur exclusivement consacré à un construction d'index suivie d'un ensemble de lecture. Ainsi, si l'on veut implémenter un outil de statistique qui incrémente une entrée de l'index à chaque fois que l'occurence est enregistrée sur le moteur, j'aurais tendance à dire que les performances devraient etre moins bonnes.

En pratique cela n' a pas vraiment l'air d'etre le cas.

Vous meme, avez vous été confronté à cet grave question existentielle : Lucene ou SGBD ?

Aucun commentaire: