IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HyperFileSQL Discussion :

Gestion des identifiants & réindexation, maintenance


Sujet :

HyperFileSQL

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut Gestion des identifiants & réindexation, maintenance
    Je reviens sur le sujet car il me semble avoir mal compris certains points au risque même de paraître ridicule, tant pis !

    Sur certains fichiers, je gère mes identifiants manuellement et de façon exceptionnelle quand cela s’impose, sur d'autre de façon automatique, méthode qui a ma préférence par excès de prudence...

    Parmi les outils de maintenance proposés dans le centre de contrôle hyperfileSQL, vérifier les index, ré-indexer, réviser les index, je pensais qu'il était possible de recalculer en quelque sorte la valeur de mes identifiants et que cet outil magique se chargerait de remettre à jour la valeur de mes clés attribuées et associées pour les autres tables liées.

    Car à force de suppression sur de gros ensemble d'enregistrement, mon premier identifiant peut avoir pour valeur 20000. Dans ce cas, la gestion manuelle me semble s'imposer. Mais alors que faire de ces vides béants entre deux enregistrements générés par des suppressions successives ?

    Donc, je pense avoir zappé une notion qui m'échappe notamment sur les index. Donc, j'aimerais bien comprendre et savoir comment vous parvenez à gérer ce problème de maintenance…

    Si vous connaissez de bon bouquins sur la maintenance d'une BDD, n'hésitez pas à m'en parler !

    Merci d’avance pour vos lanternes !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Si tu parles bien des identifiants automatiques des fichiers HF, il n'y a pas vraiment de crainte à avoir.
    Par défaut, l'identifiant est un numérique sur 4 octets (8 si besoin).
    4 octets, ça te fait 2^64 ID possibles
    (soit 18 446 744 073 709 551 616, ou 2 milliards de milliards)

    Pour la ré-indexation, ça ne fait pas tout à fait ce que tu pensais.
    La liste de tes identifiants est entièrement ré-écrite dans un "index".
    Sur Hyperfile, c'est très facile à voir, ce sont les fichiers .NDX.
    La ré-indexation ne touche pas aux identifiants automatiques, elle ne fait que ré-organiser les fichiers .NDX.
    Il n'existe pas de programme faisant un traitement comme tu attendais, (remettre tous les numéros à suivre) et ça n'aurait d'intérêt que si arrivais au bout des identifiants automatiques (ce qui ne doit jamais arriver, avec 2^128 possibilités si l'identifiant est sur 8 octets).

    Bref, laisse la gestion automatique des identifiants en place, ça ne sert à rien de vouloir remplacer ce système.
    (et c'est assez compliqué à faire correctement)

  3. #3
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    La réflexion de Bowen est bonne mais pas ses chiffres.

    4 octets = 4 X 8 = 32 bits => 2^32 possibilités = 4 294 967 296
    8 octets = 8 X 8 = 63 bits => 2^64 possibilités = 18 446 744 073 709 551 616

    Pour avoir un nombres sur 128 bits, il faudrait un identifiants sur 16 octets.
    «Un problème bien défini est un problème à moitié résolu.»

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Effectivement, je crois que je me suis un peu emballé avec ma calculette...
    Mais ça reste quand même très au delà des proportions atteintes par la plupart des applications (même sur 4 octets).

  5. #5
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Merci beaucoup pour vos réponses ! J'avais compris qu'il se passait quelque chose en arrière plan notamment avec les index et les fichiers .NDX. Mais effectivement je n'ai jamais regardé ce qu'il s'y trouve.

    Donc il va falloir que je me fasse à l'idée de conserver mes trous béants et augmenter la taille de mes identifiants lorsque je les gère moi même...

    Alors peut être que les index qui se trouvent dans les fichiers .NDX sont recalculés lors d'une ré indexation, enfin j'imagine.

    Quant à programmer moi même le re calcule de mes identifiants, je trouve aussi cette solution compliquée et qui pose le problème de la maintenance lors d'une modification de la base avec de nouvelles liaisons ou de nouvelles clés...

    J'en profite pour vous demander, en gestion automatique, si les fichiers NDX se réinitialisent seuls si je les supprime pour remettre à zéro certaines tables de ma base ?

    Merci encore

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Les fichiers NDX ne se recrééent pas seuls, il faut les recréer par le code. (je ne sais plus l'instruction, ça doit être HRéindexequelquechose)

    Mais ne crois pas que supprimer les .NDX, ou faire une ré-indexation fera repartir tes comptages d'identifiants. Il fera seulement une ré-organisation interne du fichier .ndx.

    ça ne sert à rien d'autre que d'avoir des temps d'accès plus rapides.
    (pour comprendre, ça correspond un peu à une défragmentation de disque, on replace les données cote à cote et dans le bon ordre pour accélérer les lectures)

  7. #7
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    ok merci pour les précisions ! Je note !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des identifiants JSF
    Par likeavirgil dans le forum JSF
    Réponses: 2
    Dernier message: 02/06/2015, 16h51
  2. Réponses: 0
    Dernier message: 18/11/2009, 10h13
  3. Gestions des événements : <identifier> expected
    Par Petit Rasta dans le forum Débuter
    Réponses: 2
    Dernier message: 29/10/2009, 12h27
  4. Gestion des actions de maintenance préventive
    Par moilou2 dans le forum Modélisation
    Réponses: 11
    Dernier message: 04/07/2008, 09h46
  5. [control identifiers] Gestion des messages
    Par blackaagony dans le forum Dev-C++
    Réponses: 1
    Dernier message: 28/05/2008, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo