Organización Física de Datos

51
Julio de 2005 Universidad Autónoma de Sinaloa Maestría en Informática Aplicada Organización Física de Datos Dr. Inés Fernando Vega López

description

Organización Física de Datos. Dr. Inés Fernando Vega López. Temario. Organización de archivos Administración de archivos Orden interno de archivos Índices. Organización lógica del SABD. Consultas. Opt. y ejec. de consultas. Operadores relacionales. Métodos de acceso. - PowerPoint PPT Presentation

Transcript of Organización Física de Datos

Page 1: Organización Física de Datos

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

Page 2: Organización Física de Datos

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

Page 3: Organización Física de Datos

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

Page 4: Organización Física de Datos

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

Page 5: Organización Física de Datos

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

Page 6: Organización Física de Datos

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>

Page 7: Organización Física de Datos

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

Page 8: Organización Física de Datos

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

Page 9: Organización Física de Datos

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

Page 10: Organización Física de Datos

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?

Page 11: Organización Física de Datos

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?

Page 12: Organización Física de Datos

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.

Page 13: Organización Física de Datos

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

Page 14: Organización Física de Datos

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>

Page 15: Organización Física de Datos

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>

Page 16: Organización Física de Datos

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

Page 17: Organización Física de Datos

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.

Page 18: Organización Física de Datos

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

Page 19: Organización Física de Datos

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

Page 20: Organización Física de Datos

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.

Page 21: Organización Física de Datos

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

Page 22: Organización Física de Datos

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

Page 23: Organización Física de Datos

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

Page 24: Organización Física de Datos

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.

Page 25: Organización Física de Datos

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

Page 26: Organización Física de Datos

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.

Page 27: Organización Física de Datos

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

Page 28: Organización Física de Datos

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?

Page 29: Organización Física de Datos

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?

Page 30: Organización Física de Datos

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

Page 31: Organización Física de Datos

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

Page 32: Organización Física de Datos

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.

Page 33: Organización Física de Datos

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

Page 34: Organización Física de Datos

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

Page 35: Organización Física de Datos

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))

Page 36: Organización Física de Datos

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.

Page 37: Organización Física de Datos

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

Page 38: Organización Física de Datos

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

Page 39: Organización Física de Datos

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

Page 40: Organización Física de Datos

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)

Page 41: Organización Física de Datos

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

Page 42: Organización Física de Datos

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?

Page 43: Organización Física de Datos

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

Page 44: Organización Física de Datos

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

Page 45: Organización Física de Datos

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

Page 46: Organización Física de Datos

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

Page 47: Organización Física 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

Page 48: Organización Física 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

Page 49: Organización Física 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

Page 50: Organización Física de Datos

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

Page 51: Organización Física de Datos

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.