12.07.2015 Views

Le resume linguistique de donnees structurees comme ... - APMD

Le resume linguistique de donnees structurees comme ... - APMD

Le resume linguistique de donnees structurees comme ... - APMD

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPITRE 6 — Implémentation <strong>de</strong>s résumés SAINTETIQ en tant que métho<strong>de</strong> d’accès 131sont désignées indifféremment par les termes « tuple ID » et « TID ». Un TID est une adressephysique sur disque composée <strong>de</strong> <strong>de</strong>ux éléments, le block number et l’item number.Block 0Item 0 Item 1Block 1Item 2 Item 0 Item 1 Item 2Block 2Item 0 Item 1 Item 2Figure 6.2 – Structure logique <strong>de</strong>s fichiers <strong>de</strong> données PostgreSQL<strong>Le</strong> système <strong>de</strong> stockage du SGBD « découpe » les fichiers disque en sections ou pagesdont la taille prédéfinie (en général 8 Ko) est indépendante <strong>de</strong> celle du système <strong>de</strong> fichiers dusystème d’exploitation. Un block number (BN) est un numéro séquentiel se référant à l’une<strong>de</strong> ces sections (voir figure 6.2). Un item number (IN) est un numéro séquentiel au sein d’unesection ; ce numéro varie d’une relation à l’autre en fonction <strong>de</strong> la taille <strong>de</strong>s enregistrements.Ainsi, un block <strong>de</strong> 8 Ko dans une relation dont les enregistrements ont une longueur <strong>de</strong> 128octets pourrait contenir jusqu’à 64 enregistrements en omettant toutes les métadonnées <strong>de</strong> larelation et celles propres à chaque page. <strong>Le</strong> premier enregistrement <strong>de</strong> cette relation exempleserait i<strong>de</strong>ntifié par le couple (BN = 0; IN = 0), le <strong>de</strong>uxième par (BN = 0; IN = 1), et le 65èpar (BN = 1; IN = 0).L’ajout d’une métho<strong>de</strong> d’in<strong>de</strong>xation au noyau <strong>de</strong> PostgreSQL se fait par un plug-in. L’interfacepermettant l’inclusion d’in<strong>de</strong>x non standard, nécessaire pour ce module supplémentaire,est définie dans la section 48 <strong>de</strong> la documentation du SGBD [136], et abordée en section 6.3 <strong>de</strong>ce document.Définir une nouvelle métho<strong>de</strong> d’accès revient à suivre quelques étapes. La première estd’écrire les fonctions requises par l’interface dans un langage <strong>de</strong> programmation respectant lesconventions d’appel et <strong>de</strong> transmission <strong>de</strong> paramètres du langage C. <strong>Le</strong>s fonctions compiléesdoivent être disponibles dans un (ou plusieurs) fichier binaire à chargement dynamique (<strong>de</strong>sDLL – Dynamic Link Libraries – sous Windows, <strong>de</strong>s SO – Shared Objects – sous Linux). La<strong>de</strong>uxième étape consiste à informer le SGBD <strong>de</strong> l’existence <strong>de</strong>s fonctions (voir section 6.3 ciaprès),qui entrent alors dans le catalogue <strong>de</strong>s fonctions connues. La métho<strong>de</strong> d’accès n’estdéfinie qu’après la troisième étape qui spécifie les fonctionnalités offertes et qui regroupe toutesles fonctions en un ensemble logique cohérent lié à la métho<strong>de</strong> d’accès.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!