• [^] # Re: explosion du trokilometre

    Posté par . En réponse à la dépêche Ça bouge du côté de SQLite !. Évalué à 3.

    tu as grossi les traits soit.

    "tout ça reste valable pour l'écrasante majorité des applications présentes sur un poste de bureau sous Linux".

    peux tu me faire une liste non exaustive mais equitable à tes yeux d'applications etant dans les deux cas sus sités ?

    pour le dev :
    RSS = OK dans les cas basique sinon un RSS est un arbre
    News = arbre
    album photo = graphe
    tableur = OK sur une feuille ... sinon ca peut devenir un graphe

    je ne me prononcerai pas sur le "montage video", car je n'en ai jamais fait et ne sais meme pas en quoi cela consiste.

    le cas de la fermeture transitive, tu la trouve avec tout logiciel usant du modele relationnel pour representer des arbres et des graphes. le cout d'une fermeture transitive sur 10 noeuds est moins perceptible qu'une fermeture transitive sur 10 000 noeuds.

    pour te donner une approximation theorique de la volumetrie à traiter :
    sur un jointure simple sur elle meme la table resultant est en Card( table ) * Card( Table ) avant selection, sur une fermeture transitive, elle est en Card( table ) ^ Card( Table ). pour 10 elements ca fait un 1E10 et dans le cas de 10 000 ce quit fait 1E40000 .

    pour info, je gere des arbres de 124 364 noeuds ( ce matin ) sur lequel je fais des fermetures transitives tres regulierement : heureusement que cela n'est pas modelé sur du relationnel ( sauf si tu arrives à le faire en moins de 2 min 53 ).

    je me trompe peut etre, mais j'ai l'impression que tu n'as pas compris ce que j'essaie de dire dans chacune de mes questions. elles posent les problemes suivant :

    - faiblesse du modele sur une operation "naturelle"

    - lenteur

    - impossibilité de naviguer rapidement sans index

    - ralentissement dû aux index

    - rapport signal/bruit aux niveaux des tables tendant rapidement vers 0 ( un bon exemple est les 12 000 tables de SAP/V3 )


    le modele relationnel est tres bien pour certaines chose, mais je maintiens que cela n'est pas une panacée.


    PS : la fermeture transitive est juste le fait de derminer la filiation des tuples. pour reprendre un de tes exemples
    tu dois faire une fermeture transitive pour connaitre le thread d'une niouze USENET via le champ "References"