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