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

Administration Oracle Discussion :

Buffer, buffer header, data block, LRU, cache buffer chain


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut Buffer, buffer header, data block, LRU, cache buffer chain
    Hello tout le monde,

    J'ai quelques soucis à visualiser comment s'articulent les objets suivants : Buffer, buffer header, data block, LRU, cache buffer chain...
    Les articles ou la doc d'Oracle ne sont pas toujours clairs, surtout que plusieurs personnes confondent buffer et buffer header.

    Voici ce que j'ai compris : merci de me dire si je me trompe.

    Database Buffer Cache : un ensemble d'objets appelés Buffers, situé dans la SGA. C'est comparable à un parking.
    Buffer : un emplacement réservé dans le Database Buffer Cache où Oracle va copier un data block depuis le disque dur. C'est comparable à une place de parking et la voiture représente le data block.
    Buffer Header : équivalent pour un buffer du data block header pour un data block. MAIS, à la différence du data block header qui fait partie du data block, le buffer header est détaché du buffer et réside dans la Shared Pool et non pas dans le Database Buffer Cache. Un buffer header contient un pointeur vers un buffer et pas de data block.
    LRU : liste de buffers headers et non pas de buffers ni de data blocks. Dans la LRU se trouvent les buffers headers des buffers gérant les data blocks accédés dernièrement par l'application.
    Cache Buffer Chain : liste chaînée de buffers comme son nom l'indique (et non pas de buffers headers). Le database buffer cache est composé de milliers de Cache Buffer Chain. Quand Oracle recherche si un data block est déjà en mémoire, il parcourt un Cache Buffer Chain précis : celui-ci est identifié à partir d'une fonction de hash appliquée sur le DBA (Data Block Address) du bloc de données recherché.

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Les buffers sont les données en mémoire, qui sont lus/écrit sur disque en blocs
    les meta-données (infos relative à ces buffers en mémoire) de ces buffers sont les buffer headers (cf. V$BH)
    la structure de recherche d'un buffer à partir de son DBA (block address) est le cache buffer chain: accès par hash puis parcours de la liste.
    LRU est un algorithme pour garder en cache les buffers les plus souvent manipulés.

    [FONT=Verdana, sans-serif]Cordialement,
    Franck.
    [/FONT]

  3. #3
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Je te remercie pour ta réponse Pachot mais j'ai besoin de multiples précisions pour bien comprendre comment s'organisent les différents objets.

    "Les buffers sont les données en mémoire" : pour moi les buffers sont des espaces vides du database buffer cache, qui peuvent accepter les data blocks lus sur disque dur. Sommes-nous d'accord? En d'autre terme, le buffer renferme un data block mais buffer et data block sont deux concepts différents pour moi.

    cache buffer chain : peux-tu me confirmer que le database buffer cache est composé de milliers de cache buffer chain?

    "LRU est un algorithme pour garder en cache les buffers les plus souvent manipulés." : certes LRU est un algorithme aussi mais pour moi c'est avant tout une liste de buffers headers pointant vers les buffers les plus souvent manipulés..

    Par avance, merci pour tes précisions.

    [EDIT 30/09/2016]
    Visiblement, après avoir relu plusieurs articles, ce qu'on appelle "cache buffer chain" serait en réalité un "cache buffer header chain". Et donc il existerait des milliers ou dizaines de milliers de "cache buffer chain" composés de buffer header dont chacun pointe vers un buffer du database buffer cache contenant un data bloc.

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Hello,

    Je me permets de remonter le post.
    Merci de me dire si je suis dans le juste ou non par rapport à mes précédents posts.

  5. #5
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Vous avez regarder dans Oracle Core, il me semble que vous l'avez?

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Je me suis rappelé à avoir lu il y a quelques mois de cela, c'est article Cache Buffer Chains Demystified

Discussions similaires

  1. Hit ratio cache buffer
    Par sellfe dans le forum Administration
    Réponses: 3
    Dernier message: 16/12/2009, 16h37
  2. Réponses: 19
    Dernier message: 19/06/2009, 21h59
  3. Générer un header de bitmap pour un buffer de bytes
    Par user 56gt8 dans le forum Composants VCL
    Réponses: 0
    Dernier message: 23/09/2007, 21h30
  4. [forms] Data Block Lov Plusieurs tables jointure
    Par loupin dans le forum Forms
    Réponses: 5
    Dernier message: 13/09/2006, 21h39
  5. [Noyau] Accès aux blocks dans le buffer cache
    Par gtaoufik dans le forum Oracle
    Réponses: 12
    Dernier message: 26/08/2005, 14h17

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