• [^] # Re: Indexation

    Posté par (site web personnel) . En réponse au journal Mon projet : Feedspot. Évalué à 4.

    Justement, qu'en serait-il si tu persistais tes informations d'indexation avec postgres ? Je pense que pour des recherches simples, la méthode actuellement utilisée est plus rapide. Utiliser postgres te permettrait de faire des requêtes plus complexe simplement directement en SQL. Je pense qu'il serait intéressant de voir la différence entre les deux modes de stockage.

    Franchement, je pense que même si PostgreSQL est très bien fait niveau recherche plein-texte, les BDD SQL sont loin d'être idéales pour faire ça.
    Des projets comme lucene sont tellement plus puissants...
    Et puis je ne vois pas de choses que je ne peux pas faire avec mon petit index inversé, en fait :)

    Ensuite, au niveau des données d'indexation, les 30 Go correspondent à la taille des fichiers ou la taille occupée sur le disque ? Car avec 50 millions de fichiers, cela peut avoir une grande influence. 30Go divisé par 50 millions, ça fait des fichiers d'une taille moyenne de 650 octets. Avec un système de fichiers ayant une taille de blocs de 4ko par exemple, les 30 Go de données occuperont facilement plus 100 Go sur le disque !

    En effet, c'est la taille totale sur le disque. C'est pour ça que j'ai choisi BTRFS, qui est basé sur un arbre et semble gérer très bien les petits fichiers (après un début sous ReiserFS qui semblait fonctionner à merveille également).

    Par contre oui, ma méthode actuelle est ultra-simple, mais bon, c'est clairement pas idéal de stocker tout dans plein de petits fichiers.

    Après, ça me semble très dur d'arriver à trouver un système pour stocker mes index dans un ou quelques fichiers (j'ai l'impression que je vais devoir ré-implémenter un genre de système de fichier, et que je vais avoir plein de problème de fragmentation, etc...). Et je ne sais pas trop comment les BDD ou les autres systèmes font ça :(