DB2 - Bufferpools

Ce chapitre vous présente les Bufferpools dans la base de données.

introduction

Le pool de mémoire tampon fait partie d'un espace mémoire principal alloué par le gestionnaire de base de données. Le but des pools de mémoire tampon est de mettre en cache la table et d'indexer les données du disque. Toutes les bases de données ont leurs propres pools de mémoire tampon. Un pool de mémoire tampon par défaut est créé au moment de la création de la nouvelle base de données. Il a appelé comme «IBMDEFAULTBP». Selon les besoins de l'utilisateur, il est possible de créer un certain nombre de pools de mémoire tampon. Dans le pool de mémoire tampon, le gestionnaire de base de données place les données de ligne de table sous forme de page. Cette page reste dans le pool de mémoire tampon jusqu'à l'arrêt de la base de données ou jusqu'à ce que l'espace soit écrit avec de nouvelles données. Les pages du pool de mémoire tampon, qui sont mises à jour avec des données mais ne sont pas écrites sur le disque, sont appelées pages «sales». Une fois que les pages de données mises à jour dans le pool de mémoire tampon sont écrites sur le disque, le pool de mémoire tampon est prêt à prendre d'autres données.

Relation entre les tablespaces et les pools de mémoire tampon

Chaque espace table est associé à un pool de mémoire tampon spécifique dans une base de données. Un tablespace est associé à un pool de mémoire tampon. La taille du pool de mémoire tampon et de l'espace de table doit être identique. Plusieurs pools de mémoire tampon vous permettent de configurer la mémoire utilisée par la base de données pour augmenter ses performances globales.

Tailles des pools de mémoire tampon

La taille de la page de pool de mémoire tampon est définie lorsque vous utilisez la commande «CREATE DATABASE». Si vous ne spécifiez pas la taille de la page, elle prendra la taille de page par défaut, qui est de 4 Ko. Une fois le pool de mémoire tampon créé, il n'est pas possible de modifier la taille de la page ultérieurement

Liste des pools de mémoire tampon disponibles dans le répertoire de base de données actuel

Syntax: [La syntaxe ci-dessous montre tous les pools de mémoire tampon disponibles dans la base de données]

db2 select * from syscat.bufferpools

Example: [Pour voir les pools de mémoire tampon disponibles dans la base de données actuelle]

db2 select * from syscat.bufferpools

Output:

BPNAME      BUFFERPOOLID DBPGNAME   NPAGES      PAGESIZE    ESTORE 
NUMBLOCKPAGES BLOCKSIZE   NGNAME
------------------------------------------------------------ 
IBMDEFAULTBP                                                                                                                
 1 -                                                                                                  
 -2        4096 N                  0           0 -     
 
 1 record(s) selected.

Création du pool de mémoire tampon

Pour créer un nouveau pool de mémoire tampon pour le serveur de base de données, vous avez besoin de deux paramètres à savoir, «nom du pool de mémoire tampon» et «taille de la page». La requête suivante est exécutée pour créer un nouveau pool de mémoire tampon.

Syntaxe: [Dans la syntaxe ci-dessous, 'bp_name' indique le nom du pool de mémoire tampon et 'size' indique la taille de la page que vous devez déclarer pour les pools de mémoire tampon (4K, 8K, 16K, 32K)]

db2 create bufferpool <bp_name> pagesize <size>

Example: [Pour créer un nouveau pool de mémoire tampon avec le nom «bpnew» et la taille «8192» (8 Ko).]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

Suppression du pool de mémoire tampon

Avant de supprimer le pool de mémoire tampon, il est nécessaire de vérifier si un tablespace lui est affecté.

Syntax: [Pour supprimer le pool de mémoire tampon]

drop bufferpool <bp_name>

Example: [Pour supprimer 'bpnew' nommé bufferpool]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.