Post on 20-Mar-2016
description
Julio de 2005Universidad Autónoma de SinaloaMaestría en Informática Aplicada
Organización Física de Datos
Dr. Inés Fernando Vega López
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 2Julio de 2005
Temario
Organización de archivos Administración de archivos Orden interno de archivos Índices
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 3Julio de 2005
Organización lógica del SABD
Administrador de espacio en disco
Administrador del buffer
Métodos de acceso
Operadores relacionales
Opt. y ejec. de consultas
Consultas
BD
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 4Julio de 2005
Organización de Archivos
Una base de datos se organiza como un conjunto de relaciones
¿Cómo se almacenan estas relaciones en disco? Archivos de registros
El usuario se interesa por registros, no por páginas Un conjunto de registros se almacena en una o mas páginas Estas páginas se organizan en archivos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 5Julio de 2005
Registros y páginas
El concepto de página es adecuado para interactuar con el discoUn archivo como una secuencia de páginasEl usuario no está interesado en páginas
El usuario está interesado en registrosLas capas de alto nivel en el SABD deben
usar la abstracción de registroUna página como un conjunto de registros
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 6Julio de 2005
Estructura de páginas Una página es un conjunto de registros
Registros de longitud fija Registros de longitud variable
Una página como un conjunto de ranuras Los registros se depositan en estas ranuras Se tiene acceso a un registro usando el número de
ranura y el identificador de la página donde se depositó
rid = <pid, sid>
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 7Julio de 2005
Estructura de registros
Longitud fija El número de campos en cada registro es el mismo El tamaño de cada campo es el mismo para todos los
registros La longitud de cada campo se almacena en el
catalogo del sistema Longitud variable
El tamaño de los campos puede variar en cada registro
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 8Julio de 2005
Registros de longitud fija: estructura
C1 C2 C3 C4 C5
C1 C2 C3 C4 C5L1 L2
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 9Julio de 2005
Registros de longitud variable
En el modelo relacional, todos los registros tienen el mismo número de camposSi varía la longitud de un registro es sólo
porque así lo hace la longitud de un campo Dos posibles organizaciones
Con delimitadoresUn arreglo de desplazamientos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 10Julio de 2005
Registros de longitud variable
Usando delimitadores:
C1 $ C3C2 $ $
C1 $ C3C2
$ $
¿Cómo encontrar el campo 3?
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 11Julio de 2005
Registros de longitud variable
Arreglo de desplazamientos:
C1 C2 C3 C4
¿Cómo encontrar el campo 3?
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 12Julio de 2005
Registros de longitud variable
Algunas complicacionesAl modificar la información contenida en un
campo, la longitud del registro se modificaAl modificar un registro éste podría no caber
en su páginaEl tamaño de un registro podría ser tal, que
fuese necesaria más de una página para almacenarlo.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 13Julio de 2005
Pág. con registros de longitud fija
Las ranuras son uniformes Ordenadas en secuencia En cualquier momento hay ranuras vacías y
ranuras ocupadas ¿Cómo se localiza una ranura vacía? ¿Cómo se localiza cada registro en la página?
Dos formas de organizar los registros Registros empaquetados Sin empacar
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 14Julio de 2005
Pág. con registros de longitud fija
Ranura 1
Ranura 2
Ranura N
N
Número de registros
Encabezado de la páginaEspacio libre
Registros empaquetados¿Qué pasa cuando se eliminan registros?
rid = <pid, sid>
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 15Julio de 2005
Pág. con registros de longitud fija
Ranura 1
Ranura 2
Ranura M
M
Número de registros
Encabezado de la página
Espacio libre
Registros sin empacar, mapa de bits
0 11 1 1 0
¿Qué pasa cuando se eliminan registros?
0
rid = <pid, sid>
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 16Julio de 2005
Pág. con registros de longitud variable
Ya no existe un número predeterminado de ranuras
Al insertar un nuevo registro, hay que buscar un hueco (ranura) del tamaño justo para no desperdiciar espacio Fragmentación
Al eliminar un registro hay que compactar para que el espacio disponible sea contiguo
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 17Julio de 2005
Pág. con registros de longitud variable
La forma de administrar estos registros es mediante un directorio
El directorio permite mover los registros sin afectar su rid (<pid, sid>)
Cada elemento del directorio es un par (desplazamiento, longitud) que indican la posición y el tamaño del registro.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 18Julio de 2005
Pág. con registros de longitud variable
N89
rid = (i,1)rid = (i,N) Página i
Espacio libre
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 19Julio de 2005
Temario
Organización de archivos Administración de archivos Orden interno de archivos Índices
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 20Julio de 2005
Administración de archivos
Las capas de bajo nivel manejan páginas Capas de alto nivel manejan registros Los registros se organizan en páginas ¿Cómo se organizan las páginas en
archivos?La organización más básica es considerar
que los registros no siguen un orden en particular.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 21Julio de 2005
Archivos Heap
Archivos sin un orden en particular Operaciones válidas
Crear y eliminar archivos Crear registros Leer todos los registros de un archivo Leer, eliminar y actualizar registros, dado su rid
Dado un rid, se debe poder localizar la página correspondiente
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 22Julio de 2005
Manejo de archivos Por razones de eficiencia, un SABD
normalmente no utiliza el sistema de archivos del sistema operativo. Hay que llevar un control de cuales páginas
corresponden a cual archivo Hay que llevar un control de páginas con espacio
disponible para insertar nuevos registros. Alternativas
Listas ligadas Directorio de páginas
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 23Julio de 2005
Listas ligadas
Página encabezado
Página de datos
Página de datos
Página de datos
Página de datos
Páginas con espacio disponible
Páginas llenas
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 24Julio de 2005
Listas ligadas
ConsideracionesCuando se usan registros de longitud
variable, es muy probable que la mayoría de las páginas se encuentren en la lista de páginas con espacio disponible.
Cuando se inserta un nuevo registro se debe seguir la lista hasta encontrar una página con suficiente espacio disponible.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 25Julio de 2005
Directorio de páginas
Página de datos
Página de datos
Página de datos
Página encabezado
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 26Julio de 2005
Directorio de páginas
Beneficios:No hay necesidad de revisar cada página
hasta encontrar una con espacio disponibleLas páginas de encabezado contienen
información sobre el espacio disponible en cada página.
El directorio de páginas es parte del archivo heap.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 27Julio de 2005
Temario
Organización de archivos Administración de archivos Orden interno de archivos Índices
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 28Julio de 2005
Orden interno de archivos La forma de organizar los registros en un archivo
cuando el archivo se almacena en disco La eficiencia de las operaciones sobre archivos depende
de la organización de estos. Si deseamos una lista alfabética de nuestros empleados,
entonces la organización más conveniente sería que los registros estuviesen ordenados por nombre.
Si queremos encontrar a todos los empleados cuyo salario se encuentre en determinado rango, entonces lo mejor es que el orden de los registros en el archivo sea determinado por el sueldo.
¿Qué pasa si queremos realizar ambas consultas de forma eficiente?
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 29Julio de 2005
Orden interno de archivos
La eficiencia de las operaciones sobre archivos se mide utilizando un modelo de costos.
Modelo de costos¿Cuanto cuesta evaluar la operación x en un
archivo organizado de forma y?
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 30Julio de 2005
Modelo de Costos
¿Cómo se compara la eficiencia de diferentes organizaciones de archivo?
Operaciones en archivosLeer todos los registrosBúsqueda por rangosBúsqueda por igualdad Insertar registrosBorrar registros
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 31Julio de 2005
Modelo de costos
NotaciónUn archivo tiene B páginas de datosCada página contiene R registrosEl tiempo promedio para realizar una
operación de E/S es DEl tiempo para procesar un registro es CEl tiempo necesario para evaluar una función
de hash es H
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 32Julio de 2005
Modelo de costos Valores típicos (en 1998)
D = 25 milisegundos C y H = 1 a 10 microsegundos
Las operaciones de E/S dominan en la función de costo
Este dominio se incrementa con el tiempo Los procesadores se vuelven más rápidos También los discos duros, pero a un ritmo mucho
más lento.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 33Julio de 2005
Orden interno de archivos
Modelo de costos Cuanto cuesta evaluar la operación x en un archivo
organizado de forma y Existen tres formas de organizar a los registros
de un archivo Archivos Heap (sin orden) Archivos ordenados por algún campo Archivos con una función de Hash en algún campo
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 34Julio de 2005
Archivos sin orden (Heap) Leer todos los registros
B(D + RC) Búsqueda por rango
B(D + RC) Búsqueda de igualdad
0.5B(D + RC) Insertar registros (al final del archivo)
2D + C Eliminar registros
0.5B(D + RC) + C + D
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 35Julio de 2005
Archivos ordenados (llave de búsqueda)
Leer todos los registrosB(D + RC)
Búsqueda por rango(log2B)D + (log2R)C + X(D + RC)
Búsqueda por igualdad(log2B)D + (log2R)C
Insertar registros (manteniendo el orden)(log2B)D + (log2R)C + 2(0.5B(D + RC))
Eliminar registros (y compactar)(log2B)D + (log2R)C + 2(0.5B(D + RC))
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 36Julio de 2005
Archivos Hashed (picados)
La función de hash se define con respecta a la llave de búsqueda
Llave de búsqueda llave primaria Las páginas de estos archivos se agrupan por
cubos buckets Los cubos buckets se pueden desbordar Los registros se buscan en solamente en el
cubo bucket definido por la función de hash.
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 37Julio de 2005
Archivos Hashed
Leer todos los registros (ocupación de 80%)1.25B(D + RC)
Búsqueda por igualdadH + D + 0.5RC
Búsqueda por rango1.25B(D + RC)
Insertar registro(H + D) + C + D
Eliminar registro(H + D + 0.5RC) + C + D
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 38Julio de 2005
Orden interno de archivos: resumen
Tipo Leer todo
Por igualdad
Por rango
Insertar Borrar
Heap BD 0.5BD BD 2D 0.5BD + D
Ordenado BD Dlog2B Dlog2B + X
Dlog2B + BD
Dlog2B + BD
Hash 1.25BD H + D +0.5RC
1.25BD 2D H+D+ 0.5RC+D
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 39Julio de 2005
Temario
Organización de archivos Administración de archivos Orden interno de archivos Índices
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 40Julio de 2005
Índices ¿Qué son?
Un archivo auxiliar que se usa para acelerar las operaciones de búsqueda de registros en el archivo de datos
Un conjunto de registros con una forma eficiente de localizar todos los registros, en el archivo de datos, que satisfacen una condición en su llave de búsqueda (k)
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 41Julio de 2005
Índices Las páginas de un índice se organizan de forma
tal que hacen posible encontrar eficientemente la ubicación de un registro de datos en particular
A las distintas organizaciones que puede adoptar un índice se le denominan métodos de acceso. B+tree Hashing R-tree
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 42Julio de 2005
Índices
Algunas preguntas:¿Cuál es la mejor forma de organizar los
registros de un índice de manera que éste permita la recuperación eficiente de registros con respecto a una llave de búsqueda?
¿Qué información debemos almacenar?
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 43Julio de 2005
Registros en el índice
Un registro k* en el índice nos permite recuperar uno o más registros del archivo de datos cuyo valor en el atributo llave sea k
Alternativas:El registro en el índice es el registro de datosEl registro en el índice es el par k, ridEl registro en el índice es el par k, rid-list
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 44Julio de 2005
Índices
López, 44, 3000Pérez, 40, 6003García, 44, 5004
Castro, 25, 3000Ríos, 39, 4003Beltrán, 54, 5007
Juárez, 22, 3001Rocha, 50, 5004
h
Edad00
01
10
h
Salario3000300050045004
4003500760033001
0
1
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 45Julio de 2005
Propiedades de los índices
Agrupados (Clustered) El orden de los registros en el archivo de datos es
igual o casi igual que el orden de los registros en el índice
Sólo puede existir uno de estos No agrupados (Unclustered)
El resto de los índices no pueden ser del tipo clustered Pueden existir tantos como sea necesario
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 46Julio de 2005
Índice del tipo Clustered
Registros de control
Registros índice
Archivo de datos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 47Julio de 2005
Índices del tipo Unclustered
Registros de control
Registros índice
Archivo de datos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 48Julio de 2005
Propiedades de los índices
DensoEl índice tiene al menos un registro por cada
valor distinto de la llave de búsqueda Disperso
El índice tiene un registro por cada página del archivo de datos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 49Julio de 2005
Índices densos y dispersos
Juárez, 44, 3000López, 40, 6003Pérez, 31, 5004
Beltrán, 25, 3000Castro, 9, 4003García, 54, 5007
Ríos, 22, 3001Rocha, 50, 5004
9
22
25
31
40
44
50
54
Beltrán
Juárez
Ríos
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 50Julio de 2005
Propiedades de los índices Índice primario
Un índice definido en un conjunto de atributos que incluye a la llave primaria
No tiene registros repetidos Índice secundario
El que no es primario / tiene registros repetidos Único
Cuando la llave de búsqueda incluye a una llave candidata
Universidad Autónoma de SinaloaMaestría en Informática Aplicada 53Julio de 2005
Referencias
Database Management Systems. R. Ramakrishnan. McGraw-Hill. 1998
Database and Transaction Processing: An Application-Oriented Approach. Lewis et al. Addison Wesley. 2002.