DB2: agrupaciones de búfer

Este capítulo le presenta las agrupaciones de búfer en la base de datos.

Introducción

La agrupación de almacenamiento intermedio es una parte de un espacio de memoria principal que asigna el administrador de la base de datos. El propósito de las agrupaciones de búfer es almacenar en caché la tabla y los datos de índice del disco. Todas las bases de datos tienen sus propias agrupaciones de búfer. Se crea una agrupación de almacenamientos intermedios predeterminada en el momento de la creación de una nueva base de datos. Se llama como "IBMDEFAULTBP". Dependiendo de los requisitos del usuario, es posible crear varios grupos de búfer. En la agrupación de almacenamientos intermedios, el administrador de la base de datos coloca los datos de la fila de la tabla como una página. Esta página permanece en el búfer hasta que se apaga la base de datos o hasta que se escribe el espacio con nuevos datos. Las páginas de la agrupación de búfer, que se actualizan con datos pero no se escriben en el disco, se denominan páginas “sucias”. Una vez que las páginas de datos actualizadas de la agrupación de búfer se escriben en el disco, la agrupación de almacenamientos intermedios está lista para tomar otros datos.

Relación entre tablespaces y bufferpools

Cada espacio de tabla está asociado con una agrupación de almacenamientos intermedios específica en una base de datos. Un espacio de tabla está asociado con una agrupación de almacenamientos intermedios. El tamaño de la agrupación de almacenamientos intermedios y del espacio de tabla debe ser el mismo. Varias agrupaciones de búfer le permiten configurar la memoria utilizada por la base de datos para aumentar su rendimiento general.

Tamaños de la piscina intermedia

El tamaño de la página de la agrupación de almacenamientos intermedios se establece cuando se utiliza el comando "CREATE DATABASE". Si no especifica el tamaño de página, tomará el tamaño de página predeterminado, que es 4 KB. Una vez que se crea la agrupación de búfer, no es posible modificar el tamaño de la página más adelante

Listado de las agrupaciones de búfer disponibles en el directorio de la base de datos actual

Syntax: [La siguiente sintaxis muestra todas las agrupaciones de búfer disponibles en la base de datos]

db2 select * from syscat.bufferpools

Example: [Para ver agrupaciones de búfer disponibles en la base de datos actual]

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.

Creando el bufferpool

Para crear una nueva agrupación de búfer para el servidor de base de datos, necesita dos parámetros, a saber, “nombre de la agrupación de búfer” y “tamaño de la página”. Se ejecuta la siguiente consulta para crear un nuevo búfer.

Sintaxis: [En la siguiente sintaxis, 'bp_name' indica el nombre de la agrupación de búfer y 'tamaño' indica el tamaño de la página que debe declarar para las agrupaciones de búfer (4K, 8K, 16K, 32K)]

db2 create bufferpool <bp_name> pagesize <size>

Example: [Para crear una nueva agrupación de almacenamiento intermedio con el nombre "bpnew" y el tamaño "8192" (8Kb).]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

Soltando el bufferpool

Antes de eliminar la agrupación de almacenamiento intermedio, es necesario comprobar si se le ha asignado algún espacio de tabla.

Syntax: [Para eliminar el búfer]

drop bufferpool <bp_name>

Example: [Para eliminar 'bpnew' denominado bufferpool]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.