Ahora vamos a hablar de espacios de tabla. Mencionamos los

Anuncio
Ahora vamos a hablar de espacios de tabla.
Mencionamos los espacios de tabla en el curso “DB2 Essential Training 1”,
cuando se describió el entorno de DB2
se dijo que un espacio de tabla es una capa lógica
entre las tablas lógicas y los discos físicos y la memoria.
En esta figura, hemos creado el espacio de tabla MYTBLS1,
asociado con el disco 2 y el bufferpool 1.
A continuación, hemos creado o modificado la tabla B,
indicando que esta tabla se asocia con el espacio de tabla MYTBLS1.
Así es como se le puede decir a DB2 que dispositivos
físicos se desean utilizar para almacenar las tablas lógicas.
En el curso “DB2 Essential Training 1”, también hablamos
de los diferentes espacios de tabla creados por defecto cuando se crea una base de datos
SYSCATSPACE, TEMPSPACE1 y USERSPACE1.
En este video se proporcionaré más detalles sobre la creación de tus propios espacios de tabla.
Como se dije antes, un espacio de tabla básicamente
nos abstrae de los detalles del almacenamiento físico
y es donde se almacenan las tablas
se compone de uno o más contenedores
un contenedor puede ser un archivo, un directorio o un dispositivo no particionado
y como mostré en un ejemplo anterior, hay que especificar un tamaño de página
y esos son los tamaños de página que he mencionado antes, 4, 8, 16 y 32 KB.
Cuando se crea un espacio de tabla
tiene que haber un bufferpool con el mismo tamaño de página.
Y el otro parámetro que es necesario especificar cuando se crea
un espacio de tabla es el nombre del bufferpool que se le asocia
a este espacio de tabla. También hay que especificar el tamaño de la extensión.
Si no se especifica hay un valor por defecto para esto
por ejemplo, si no se ha especificado un tamaño de extensión
lo mismo ocurre con el tamaño de captación previa (pre-fetch), si no se especifica que hay uno
por defecto
el número de páginas de captación previa significa básicamente que
cuando se recupera desde el disco y se mueven las páginas desde el disco
al bufferpool, y tu tienes necesidad de pre captar más páginas, entonces DB2
utiliza el tamaño de captación previa
anticipando que se utilizarán más páginas que las requeridas.
Para captación previa, aquí es donde se especifica el número de páginas
captación previa significa que DB2
captará o moverá más páginas desde el disco
al bufferpool, de las que fueron requeridas.
DB2 mueve más páginas de las que fueron requeridas al
bufferpool y lo hace por razones de rendimiento
DB2 anticipa que van a utilizar más páginas
por ello es que envía más al bufferpool
y el tamaño de la captación previa
en lo que determinará la cantidad de páginas de más que se enviarán al bufferpool.
Dependiendo de tu aplicación,
si especificas un tamaño de captación previa muy grande
no obtendrás buen rendimiento porque se enviarán demasiadas páginas
y esto ocasiona que se eliminen del bufferpool otras que son útiles
para que entren estas nuevas. Así que a veces depende
de tu aplicación el tamaño de captación previa que deberás especificar.
Ahora hablaremos de los tipos de espacio de tabla. Hay tres tipos de espacios de tabla.
Regular: para tablas de usuario, un ejemplo típico es USERSPACE1 que es
el que se crea por defecto cuando se crea una nueva base de datos
Large: también se utiliza para tablas de usuario, pero
se puede almacenar objetos grandes en XML
Temporary:como su nombre lo dice
es utilizado para las tablas temporales
Dentro de los espacios de tabla temporales tenemos dos tipos: temporales del sistema
por ejemplo, tenemos el espacio de tabla TEMPSPACE1
que es creado por defecto cuando se crea una nueva base de datos.
y siempre debe haber al menos un
espacio de tabla temporal de sistema. Este tipo es utilizado
por el sistema, es decir, DB2
cuando no hay suficiente espacio en la memoria de DB2 creará las tablas dentro de
este espacio de tabla temporal de sistema para finalizar los cálculos
una vez finalizados los cálculos, las tablas serán eliminadas
por ejemplo, DB2 puede hacer esto para ordenamientos, uniones
y para otras operaciones internas de DB2.
Luego tenemos los espacios de tabla temporales del usuario
estos se utilizan para las tablas temporales creadas con la
instrucción “declare global temporary table”
o la instrucción “create temporary table”.
Hablaremos más acerca de las tablas temporales
en la lección “Trabajando con los objetos de la Base de Datos”.
Los espacios de tabla temporales de usuario y sistema
son confundidos a menudo por los usuarios DB2.
Solo debes recordar que los espacios de tabla temporales del sistema
son del sistema, eso significa que los gestiona DB2.
mientras que el temporal de usuario es gestionado por el usuario
es decir, un usuario habitual de DB2 que
explícitamente crea estos espacios de tablas temporales
para trabajar con tablas temporales para su propia aplicación.
Descargar