Administración de Base de Datos Manejo de memoria (Parte II) Prof Mercy Ospina Torres
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Contenido Manejo de memoria – Componentes del SMBD – Tipos de memoria – Acceso a la base de datos – Archivos Encabezado Registro Tamaño de un archivo Organizaciones de archivo – Secuencial – Hash – Indexada Vías de acceso Marzo 20122Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organizaciones de Archivo Clase anterior Organización Secuencial – Montículo – Ordenada Organización Directa – Técnicas Hash – Manejo de Colisiones Marzo 20123Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada ¿Qué es un índice? Tipos de índices Organización Secuencial ordenada indexada Organización directa indexada Otras Índices multinivel Estructuras de datos – Listas – Arboles B y B+ – Indices Bitmap Marzo 20124Administración de Base de Datos Manejo de memoria
¿Qué es un índice? Título No pag Marzo 20125Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada ¿Qué es un índice? – Un índice en una BD es similar al índice de un libro, es una estructura que puede consultarse al buscar elementos de datos en una BD. DatosIndice Marzo 20126Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Definición de índice – Es una estructura de datos llamada Archivo de Índice que permite al SMBD localizar registros concretos dentro de un Archivo de datos, de manera más rápida. – Entrada de datos: registro del archivo índice K: campos indexados (clave de búsqueda) P: apuntador a página Si K está compuesto de un solo atributo entonces el índice es simple, Si no el índice es compuesto Marzo 20127Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Organizaciones de índice – Secuenciales ordenados: están ordenados físicamente según el valor de la clave K. – Directos (hash): están organizados según una función hash sobre la clave K. En este curso se trabajara con índices secuenciales ordenados Marzo 20128Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Tipos de Índices – Primario: El índice esta construido sobre un archivo ordenado sobre un campo clave de ordenamiento. – Agrupado: El índice esta construido sobre un archivo ordenado sobre un campo no clave de ordenamiento. – Secundario: El índice esta construido sobre un archivo no ordenado o sobre un campo que no es clave de ordenamiento. Marzo 20129Administración de Base de Datos Manejo de memoria
Índice primario Los títulos está en el mismo orden interno y son únicos dentro del libro Marzo Administración de Base de Datos
Índice Agrupado Los nombres se agrupan por letras, el índice tiene el mismo orden que la guía Marzo Administración de Base de Datos
Índice secundario Las palabras están ordenadas alfabéticamente Indica las páginas donde se encuentra cada palabra Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organizaciones secuencial Indexada Índice primario 1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro López DE 5678 Luis Perez MT 5879 Beatriz Martínez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio León CO ….. Manejo de memoria Archivo de datosArchivo índice fb 8 registros por bloque Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organizaciones secuencial Indexada Índice primario 1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro López DE 5678 Luis Perez MT 5879 Beatriz Martínez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio León CO … …3… Manejo de memoria Archivo de datosArchivo índice fb 8 registros por bloque Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización secuencial Indexada Índice primario > Índices densos – Dispone de un registro de índice para CADA UNO de los valores de la clave de búsqueda del archivo 1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro López DE 5678 Luis Perez MT 5879 Beatriz Martínez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio León CO … …3… Manejo de memoria Archivo de datos Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización secuencial Indexada Índice primario > Índices disperso – Dispone de un registro de índice para ALGUNOS de los valores de la clave de búsqueda del archivo (p.e. uno por página) 1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro López DE 5678 Luis Perez MT 5879 Beatriz Martínez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio León CO …... … … … Manejo de memoria Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización secuencial Indexada Índice agrupado 1657 Ana Paredes CO 6784 Ana Vasquez MT 5879 Beatriz Martínez MT 3456 Jose Perdomo CO 8762 José León CO 1235 José Castillo DE 5678 Luis Perez MT 2432 Luis Ramirez DE 6865 Luis Urbina CO 5555 Luis Ricardo DE Ana Beatriz Jose Luis 112?112?. … Manejo de memoria Archivo de datos Archivo índice Marzo Administración de Base de Datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización secuencial Indexada Este tipo de archivo necesita ser reorganizado periódicamente para mantener la eficiencia La principal desventaja de esta organización es que es preciso mantener el orden a medida que se insertan y borran registros El problema se agrava debido a que se debe mantener el orden en ambos archivos tanto el de datos como en el de índice. Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización directa indexada Índice secundario 6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO 5678 Luis Perez MT 8762 José León CO 5879 Beatriz Martínez MT 1235 José Castillo DE 5555 Luis Ricardo DE …23… Archivo de datos Archivo índice fb 8 registros por bloque Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización directa indexada Índice secundario (atributo no único) 6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO 5678 Luis Perez MT 8762 José León CO 5879 Beatriz Martínez MT 1235 José Castillo DE 5555 Luis Ricardo DE Ana Beatriz Jose Luis … Archivo de datos Registros de tamaño variable Ana Beatriz Jose Luis … 1, 2 4 1, 3, 4 1, 2, 3,4 Archivo índice Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización directa indexada Multilistas N registro relativo registroApun- tador Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 4 (inicio) Ana Paredes CO 6865 Luis Urbina CO Luis Perez MT 8762 José León CO Beatriz Martínez MT 1235 José Castillo DE 5555 Luis Ricardo DE 3 7 null Ana Beatriz Jose Luis … Ana Beatriz Jose Luis … Archivo de datos Archivo índice Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Indice multinivel 6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO 5678 Luis Perez MT 8762 José León CO 5879 Beatriz Martínez MT 1235 José Castillo DE 5555 Luis Ricardo DE …23… Archivo de datos Archivo índice Nivel 1 (interno) Archivo índice Nivel 2 Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ El inconveniente principal de la organización indexada secuencial reside en que el rendimiento, tanto para buscar en el índice se degrada según crece el archivo de datos. Las estructuras de árbol B y B+ mantienen su eficiencia a pesar de la inserción y borrado de datos, y pueden ser usados como índices primarios, secundarios o agrupados Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Son arboles de búsqueda balanceados – La profundidad de cada subarbol difiere en +-1 – Un recorrido en profundidad inorden da los elementos ordenados. Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Cada nodo ocupa una página de disco y tiene la siguiente estructura. K1<K2< ….Km-1 Se puede ver como un índice multinivel, donde cada nodo es un subíndice El orden del árbol será el numero de apuntadores que pueda tener cada nodo – Si tenemos m apuntadores P y (m-1) claves K las cuales ocupan un bloque de tamaño B entonces P1K1P2K2…….Km-1Pm P.m + K(m-1) = B m = (B+K) (P+K) Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Cada nodo, excepto la raiz debe estar lleno al menos hasta la mitad (m/2). La altura del árbol depende de su orden – Altura mínima: – Altura máxima: – n es el numero total de valores distintos de K Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Árbol B – Cada celda apunta al archivo de datos. – La cantidad de accesos para localizar un valor de K es al menos uno y a lo sumo la altura del árbol. Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Árbol B P1K1P2K2…….Km-1Pm Marzo Administración de Base de Datos Manejo de memoria ……. K<K1 ……. K1<K<K2K>Km-1 Apuntador al archivo de datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Árbol B+ – Variación del Árbol B – Solo las hojas apuntan a los datos Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Árbol B+ P1K1P2K2…….Km-1Pm Marzo Administración de Base de Datos Manejo de memoria 12…… K<K1 1112…….15 K1<=K<K2K>Km-1 Apuntador al archivo de datos
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Arboles B y B+ Los árboles B+ son más fáciles de mantener que los árboles B. Son los tipos de índice por defecto en las BD Los árboles B son usados para almacenar datos tipo CLOB o BLOB Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización de Archivos Ejercicio – Dado un archivo de datos para Proveedor con los siguientes campos + un byte para marcado de borrado 1.Si el tamaño del bloque es 2048 bytes, hay registros, y los registros son de tamaño fijo no extensibles Calcular fb y TA de Proveedores. RIFNombreRegiónCiudadDireccióntelefono Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización de Archivos Ejercicio (continuación) 2.Si el archivo Proveedor está ordenado por RIF y se tiene un índice de 2 niveles disperso sobre este campo. Calcule la cantidad de accesos para obtener un RIF dado. 3.Calcule la altura máxima de un índice B+ sobre RIF. 4.Si el archivo está ordenado por ciudades indique que tipo de índices se pueden crear sobre este, para cualquier atributo. (primario, agrupado o secundario) Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Próxima clase Marzo 2012Administración de Base de Datos34 Índices Bitmap Resumen vías de acceso Inicio tema Recuperación Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Índices Bitmap – Índice especial que usa arreglos de bits – Para crear un índice bitmap sobre un campo se crean arreglos de bits por cada valor diferente y se coloca 1 en la posición del registro que cumple dicho valor – Cada bit corresponde a un row id. Marzo Administración de Base de Datos Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Índice Bitmap – Índice bitmap sobre sexo Marzo Administración de Base de Datos Manejo de memoria IdApellidoRegiónGéneroBitmaps FM 1PEREZNORTEF10 2GARCIACENTROM01 3LOPEZSURM01 4MARTINSURNull00 5BROWNCENTROF10 6CANEPANORTEM01
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Índices Bitmap – Índice bitmap sobre región Marzo Administración de Base de Datos Manejo de memoria IdApellidoRegión Géne- ro Bitmap NORTECENTROSUR 1PEREZNORTEF100 2GARCIACENTROM010 3LOPEZSURM001 4MARTINSURNull001 5BROWNCENTROF010 6CANEPANORTEM100
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Índices Bitmap (búsquedas) – Clientes femeninos de región centro AND entre los bitmaps F y Centro – Clientes masculinos de la región norte o sur (M AND Norte) OR (M AND Sur) Marzo Administración de Base de Datos Manejo de memoria IdApellidoRegión Géne- ro Bitmaps FMNORTECENTROSUR 1PEREZNORTEF GARCIACENTROM LOPEZSURM MARTINSURNull BROWNCENTROF CANEPANORTEM01100
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Marzo 2012Administración de Base de Datos39 Cuando usar índices bitmaps – Tablas muy grandes (millones de registros) – Con columnas que tienen baja cardinalidad (pocos valores diferentes) – Consulta con combinaciones de AND y OR en la clausula WHERE – Las columnas clave de los índices son de solo lectura o se actualizan muy poco Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Marzo 2012Administración de Base de Datos40 Creación de índices en SQL – create index on ( ) – El tipo_indice depende del SMBD los más comunes son Hash Bitmap Unique – Si no se indica el tipo del indice creado el del tipo árbol B+ Manejo de memoria
El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Organización indexada Marzo 2012Administración de Base de Datos41 Vías de acceso – Exploración: leer todos los registros del archivo. – Búsqueda con selección de igualdad: Localizar las páginas donde están los registros y cargarlas en memoria principal – Búsqueda por selección de rango: Igual al anterior – Insertar un registro: Identificar la página donde se va a insertar el registro, leerla, modificarla y guardarla de nuevo. – Borrar un registro: Buscar el registro a borrar y marcarlo como borrado. – Actualizar un registro: Buscar el registro a actualizar, leer la página, modificarla y guardarla de nuevo Manejo de memoria