Вы находитесь на странице: 1из 61

Almacenamiento y Estructura de Archivos

Database System Concepts, 5th Ed.


Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use

Almacenamiento y estructura de archivos


Visin general de los medios fsicos Disco magnticos RAID Almacenamiento terciario Acceso al almacenamiento Organizacin de los archivos Organizacin de los registros en archivos Almacenamiento con diccionario de datos Estructuras de almacenamiento para bases de datos orientada a

objetos

Database System Concepts - 5th Edition, Oct 23, 2005.

11.2

Silberschatz, Korth and Sudarshan

Clasificacin de los medios de almacenamiento fsico


Velocidad con la que se puede acceder a los datos Coste por unidad de datos Confiabilidad

La prdida de datos en caso de fallo de alimentacin o por fallo del sistema Fallo fsico del dispositivo de almacenamiento Almacenamiento voltil: Se pierde el contenido cuando se apaga el equipo. Almacenamiento no voltil:

El almacenamiento se puede diferenciar en:


Contenido persistente incluso cuando se apaga el equipo. Incluye almacenamiento secundario y terciario, as como copia de seguridad.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.3

Silberschatz, Korth and Sudarshan

Medios fsicos de almacenamiento


Cache Ms rpido y costoso. La memoria cach es pequea; su

uso lo gestiona el Hardware del sistema informtico.


Memoria principal:

Acceso rpido (10s a 100s de nanosegundos; 1 nanosegundo = 109 segundos) Demasiado pequea (o demasiado cara) para almacenar una base de datos completa. Voltil contenido de la memoria se pierde si la fuente de poder falla o problemas con el sistema.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.4

Silberschatz, Korth and Sudarshan

Medios fsicos de almacenamiento(Cont.)


Memoria flash

Los datos sobreviven a la falta de energa Los datos pueden escribirse una vez, pero no se pueden sobrescribir de manera directa.

Ciclos de borrado limitado

Es un tipo de memoria slo de lectura programable y borrable elctricamente. Llaves USB

Database System Concepts - 5th Edition, Oct 23, 2005.

11.5

Silberschatz, Korth and Sudarshan

Medios fsicos de almacenamiento(Cont.)


Almacenamiento en discos magnticos

El principal medio de almacenamiento persistente.


Generalmente se guarda en ellos toda la base datos. Para acceder a los datos es necesario trasladarlos desde el disco a la memoria principal. Despus de realizar la operacin deseada se deben escribir en el disco los datos que se hayan modificado.

El almacenamiento en disco resiste los fallos del suministro elctrico y las cadas del sistema.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.6

Silberschatz, Korth and Sudarshan

Medios fsicos de almacenamiento (Cont.)


Almacenamiento ptico

Los datos se almacenan pticamente en el disco y se leen mediante un laser. La mas popular forma de discos pticos es: CD-ROM (640 MB) y DVD (4.7 a 17 GB)

Escritura nica y lectura mltiple (WORM): CD-R, DVD-R, DVD+R)


Para escribir muchas veces: (CD-RW, DVD-RW, DVD+RW, and DVD-RAM) Los cambiadores automticos - Juke-box Discos pticos que contienen varias unidades y numerosos discos que pueden cargarse de manera automtica en las diferentes unidades (mediante un brazo robotizado) a peticin de los usuarios.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.7

Silberschatz, Korth and Sudarshan

Medios fsicos de almacenamiento (Cont.)


Almacenamiento en cinta

No voltil, utilizado inicialmente para copia de seguridad Acceso secuencial mas lento que los discos Capacidad elevada (40 a 300 GB) Removibles de la unidad de lectura Los jukeboxes disponibles para grandes cantidades de datos

Cientos de terabytes (1 terabyte = 109 bytes) o tambin petabyte (1 petabyte = 1012 bytes)

Datos

satelitales.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.8

Silberschatz, Korth and Sudarshan

Jerarqua de almacenamiento

Database System Concepts - 5th Edition, Oct 23, 2005.

11.9

Silberschatz, Korth and Sudarshan

Jerarqua de almacenamiento (Cont.)


Almacenamiento primario: Rpido pero voltil (cache,

memoria principal).
Almacenamiento secundario: El siguiente nivel de la

Jerarqua, no-voltil, tiempo de acceso a los datos relativamente rpido.


Tambin llamado almacenamiento on-line Ejemplo memoria flash, Discos magnticos.

Almacenamiento terciario: Es el nivel mas bajo de la

jerarqua, no voltil, Tiempo de acceso lento.


Tambin llamado Almacenamiento off-line Ejemplo. Cintas magnticas, almacenamiento ptico

Database System Concepts - 5th Edition, Oct 23, 2005.

11.10

Silberschatz, Korth and Sudarshan

Caractersticas fsicas de los discos duros magnticos

NOTA: Esquema simple de los discos duros


Database System Concepts - 5th Edition, Oct 23, 2005. 11.11 Silberschatz, Korth and Sudarshan

Discos magnticos

Cabeza de Lectura - Escritura


Se mantienen tan prximas como sea posible a la superficie de los discos para aumentar la densidad de grabacin. Lee o escribe magnticamente informacin codificada Encima de los 50K-100K pistas por plato para un disco tpico Un sector es una pequea unidad de datos donde podemos leer o escribir Tamao tpico de un Sector es 512 bytes Tpicamente la cantidad de sectores por pista es: 500 (en las pistas internas) a 1000 (en las pistas externas)

La superficie del plato esta dividido en pistas (tracks) circulares

Cada pista esta dividido en sectores.


Cilindro i consiste de ith pistas de todos los platos

Database System Concepts - 5th Edition, Oct 23, 2005.

11.12

Silberschatz, Korth and Sudarshan

Subsistema de disco

Mltiples discos conectados a un sistema de computo a travs de un controlador

Funcionalidad de controlador (checksum, remapping de sectores malos)


ATA (AT adaptor) rango de estndares SATA (Serial ATA) SCSI (Small Computer System Interconnect) rango de estndar Variantes de cada estndar (diferentes velocidades y capacidades)
11.13 Silberschatz, Korth and Sudarshan

Interface estandar entre familias de discos


Database System Concepts - 5th Edition, Oct 23, 2005.

Medida del rendimiento de los discos


Las principales medidas de la calidad de

los discos son:


Capacidad Tiempo de acceso Es la suma de:


Tiempo
Tiempo

de bsqueda (4 10 ms.).

de latencia rotacional (4500 rpm 4 11 ms/rotacin).

Velocidad de transferencia de datos (25-100 MB/s) Fiabilidad (tiempo medio entre fallos): 500,000 1200,00o horas. (57 136 aos)

Database System Concepts - 5th Edition, Oct 23, 2005. 11.14 Silberschatz, Korth and Sudarshan

Optimizacin del acceso a los bloques de disco


Las solicitudes de E/S al disco las generan tanto

el sistema de archivos como el gestor de la memoria virtual de los sistemas operativos. Los datos se transfieren por bloques de sectores. Algunas tcnicas para mejorar el acceso a los bloques son:

Planificacin del brazo del disco (ej. Algoritmo del ascensor). Organizacin de archivos. Memoria intermedia de escritura no voltil (NV-RAM) Disco de registro histrico (utilizados en sistemas de archivos de diario)

Database System Concepts - 5th Edition, Oct 23, 2005.

11.15

Silberschatz, Korth and Sudarshan

RAID
Para conseguir mayor rendimiento y fiabilidad

se han propuesto varias tcnicas de organizacin de los discos denominadas colectivamente disposicin redundante de discos independientes: RAID. Aunque existen seis niveles distintos de RAID, los niveles ms comnmente usados son:

RAID 0: Conjunto dividido

RAID 1: Conjunto en espejo RAID 5: Conjunto dividido con paridad distribuida

Database System Concepts - 5th Edition, Oct 23, 2005.

11.16

Silberschatz, Korth and Sudarshan

Mejora de la fiabilidad mediante la redundancia (imgenes o sombras)

La solucin al problema de la fiabilidad es

introducir la redundancia. Cada unidad lgica puede tener 2 unidades fsicas. Cada operacin de escritura se realiza por duplicado. El tiempo medio entre fallos (prdida de datos) de un disco con imagen depende del tiempo medio entre fallos de cada disco y del tiempo medio de reparacin (sustitucin del disco averiado).

Database System Concepts - 5th Edition, Oct 23, 2005.

11.17

Silberschatz, Korth and Sudarshan

Mejora del rendimiento mediante el paralelismo


Se puede mejorar la velocidad de transferencia

con varios discos distribuyendo los datos entre ellos. Se puede dar:

Distribucin a nivel de bits. Distribucin a nivel de bloques.


Nmero

de discos = n El bloque lgico i se almacena en el disco fsico (i mod n)+1, en el bloque fsico (i/n).

En un sistema de discos, el paralelismo busca: Equilibrar la carga de varios accesos de pequeo tamao. Convertir en paralelos los accesos de gran tamao.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.18

Silberschatz, Korth and Sudarshan

RAID 0: Data Stripping without parity (DSA)


Banda de discos sin paridad y sin

correccin de errores. No incorpora redundancia de datos. Mejor rendimiento de lectura y escritura. No proporciona tolerancia a fallas. Mnimo 2 discos. Toda la capacidad del disco se emplea. No es verdaderamente un RAID, no tiene integridad de datos. Un error en un disco implica perdida de toda la data. Se utiliza donde sea ms importante el rendimiento que la seguridad (edicin, produccin de videos, imgenes, cualquier comunicacin que requiera ancho de banda).

Database System Concepts - 5th Edition, Oct 23, 2005.

11.19

Silberschatz, Korth and Sudarshan

RAID 1: Mirrored Disk Array (MDA)


Conjunto de discos en espejo

Crea una copia exacta de un

conjunto de datos en dos o ms discos (array). Resulta til cuando el rendimiento en lectura es ms importante que la capacidad y tambin desde el punto de vista de la seguridad. Diseado para sistemas en donde la disponibilidad de informacin es esencial y su reemplazo resultara difcil y costoso.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.20

Silberschatz, Korth and Sudarshan

RAID 2: Hamming Code for Error Correction (ECC)


Divide los datos a nivel de bits en lugar de a nivel de bloques y

usa un cdigo de Hamming para la correccin de errores. Permite tasas de trasferencias extremadamente altas.
Se emplea para mejorar de demanda y tambin la velocidad

de transferencia.
Podemos recuperar los datos gracias a los discos de cdigo de

error.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.21

Silberschatz, Korth and Sudarshan

RAID 3: Parallel transfer with parity


Usa divisin a nivel de

bytes con un disco de paridad dedicado. Permite un menor nmero de operaciones de E/S por segundo, ya que todos los discos tienen que participar en cada solicitud de E/S, por lo cual no es adecuado para operaciones concurrentes. Resultan mas adecuados para sistemas en los que transfieren grandes cantidades de datos secuencialmente , ejemplo audio y video.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.22

Silberschatz, Korth and Sudarshan

RAID 4: Independient Disk Array (IDA)


Sistemas de discos

independientes con disco de control de errores. Usa divisin a nivel de bloques con un disco de paridad dedicado. El RAID 4 es parecido al RAID 3 excepto porque divide a nivel de bloques en lugar de a nivel de bytes. Esto permite que cada miembro del conjunto funcione independientemente cuando se solicita un nico bloque. La operacin de escritura se realiza en forma secuencial y la lectura en paralelo.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.23

Silberschatz, Korth and Sudarshan

RAID 5: Independent Data disks with distributed parity blocks


Sistemas de discos

independientes con integracin de cdigo de error mediante paridad distribuida. Usa divisin de datos a nivel de bloques. Distribuye informacin de paridad entre todos los discos. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el clculo de la paridad. Se necesita un mnimo de tres unidades.
11.24 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, Oct 23, 2005.

RAID 6: Independent Data disks with two independent distributed parity schemes
Sistemas independientes de

disco con integracin de cdigo de error mediante una doble paridad . Conocido como esquema de redundancia P+Q. Es esencialmente una extensin del RAID 5 , para ello guarda , una segunda paridad. No solamente se puede recuperar un error de entre dos discos , sino que es posible recuperar muchos errores de 3 discos.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.25

Silberschatz, Korth and Sudarshan

RAID anidados Los RAIDs anidados se indican normalmente uniendo en un slo nmero los correspondientes a los niveles RAID usados, aadiendo a veces un + entre ellos. Por ejemplo, el RAID 10 ( RAID 1+0) consiste conceptualmente en mltiples conjuntos de nivel 1 almacenados en discos fsicos con un nivel 0 encima, agrupando los anteriores niveles 1.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.26

Silberschatz, Korth and Sudarshan

Los niveles RAID anidados ms comnmente usados son:


RAID 0+1: Un espejo de

divisiones
RAID 10: Una divisin de

espejos
RAID 30: Una divisin de

niveles RAID con paridad dedicada


RAID 100: Una divisin

de una divisin de espejos

Database System Concepts - 5th Edition, Oct 23, 2005.

11.27

Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, Oct 23, 2005.

11.28

Silberschatz, Korth and Sudarshan

Resumen de niveles de RAID

P: bits de correccin de errores C: segunda copia de los datos


Database System Concepts - 5th Edition, Oct 23, 2005. 11.29 Silberschatz, Korth and Sudarshan

Eleccin del nivel de RAID adecuado


Los factores que se deben tomar en

cuenta para elegir el nivel RAID son:


El

coste econmico de los requisitos adicionales de almacenamiento en disco.

Los
El El

requisitos de rendimiento en trminos de nmero de operaciones de E/S.


rendimiento cuando un disco falla. rendimiento durante la reconstruccin.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.30

Silberschatz, Korth and Sudarshan

Aspectos hardware
RAID se puede implementar como:

RAID software RAID hardware: pueden utilizar RAM no voltil.

Algunas implementaciones RAID permiten el

intercambio en caliente.

Muchas implementaciones RAID asignan un disco de repuesto.

La fuente de alimentacin, el controlador de

disco o la interconexin del sistema pueden ser el punto de fallo que detiene el funcionamiento de un sistema RAID.
31
Database System Concepts - 5th Edition, Oct 23, 2005. 11.31 Silberschatz, Korth and Sudarshan

Acceso al almacenamiento
Cada base de datos se corresponde con

varios archivos diferentes que el sistema operativo subyacente mantiene.


Cada archivo est dividido en unidades de

almacenamiento de longitud constante denominadas bloques.


Cada bloque puede contener varios

elementos de datos que viene determinado por la forma de organizacin fsica de los datos que se utilice.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.32

Silberschatz, Korth and Sudarshan

La memoria intermedia
Un objetivo del SBD es minimizar el

nmero de transferencias de bloques entre el disco y la memoria. La memoria intermedia (buffer) es la parte de la memoria principal disponible para el almacenamiento de las copias de los bloques del disco. El subsistema responsable de la asignacin del espacio de la memoria intermedia se denomina gestor de la

memoria intermedia.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.33

Silberschatz, Korth and Sudarshan

Gestor de la memoria intermedia


Para dar un buen servicio al sistema de bases de datos,

el gestor de la memoria intermedia debe utilizar tcnicas complejas, como son:


Estrategia de sustitucin

Ej. El menos recientemente utilizado

Bloques clavados: Para que el sistema de bases de datos pueda recuperarse de las cadas resulta necesario limitar las ocasiones en que se puede volver a escribir el bloque en el disco. Se dice que un bloque al que no se le permite que se vuelva a escribir en el disco est clavado. Salida forzada de bloques: Hay situaciones en las que resulta necesario volver a escribir el bloque en el disco, aunque no se necesite el espacio de memoria intermedia que ocupa. Este proceso de escritura se denomina salida forzada del bloque.

El contenido de la memoria intermedia se pierde en las cadas, mientras que los datos del disco suelen sobrevivir a ellos.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.34

Silberschatz, Korth and Sudarshan

Polticas para la sustitucin de la memoria intermedia


El objetivo de las estrategias de sustitucin de los

bloques de la memoria intermedia es la minimizacin de los accesos al disco. Suposicin para sustituir un bloque: es probable que se vuelva a hacer referencia a los bloques a los que se ha hecho referencia recientemente. Por tanto, si hay que sustituir un bloque, se sustituye el bloque al que se ha hecho referencia menos recientemente. Este enfoque se denomina esquema de sustitucin de bloques LRU (Least Recently Used). los sistemas operativos utilizan la pauta anterior de las referencias a los bloques como forma de predecir las referencias futuras.

No resulta posible predecir con precisin los bloques a los que se har referencia.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.35

Silberschatz, Korth and Sudarshan

LRU y Bases de Datos


Los sistemas de bases de datos pueden

predecir la pauta de referencias futuras con ms precisin que los sistemas operativos. Los SO confan en el pasado para predecir el futuro; los SBD pueden tener informacin relativa al futuro a corto plazo.
Las peticiones de los usuarios al SBD

comprende varias etapas. El SBD suele determinar con antelacin los bloques que se necesitarn examinando cada una de las etapas necesarias para llevar a cabo la operacin solicitada por el usuario.
Database System Concepts - 5th Edition, Oct 23, 2005. 11.36 Silberschatz, Korth and Sudarshan

Ejemplo
Consideremos la siguiente operacin del lgebra

relacional:
prestatario |X| cliente
Supngase que la estrategia para procesar la

solicitud viene dada por el siguiente algoritmo:

Database System Concepts - 5th Edition, Oct 23, 2005.

11.37

Silberschatz, Korth and Sudarshan

En el ejemplo anterior, se utiliza:


Para
Para

las tuplas de prestatario: estrategia de extraccin inmediata.


las tuplas de cliente: estrategia del ms recientemente utilizado (MRU: Most Recently Used).
Para

que MRU funcione correctamente, el sistema debe clavar el bloque de cliente que se est procesando.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.38

Silberschatz, Korth and Sudarshan

ORGANIZACIN DE LOS ARCHIVOS


Los archivos se organizan lgicamente

como secuencias de registros.


Los registros se corresponden con los

bloques de disco.
Existen diversas maneras de

representar los modelos lgicos de datos en trminos de archivos:


Registros Registros

de longitud fija de longitud variable


11.39 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, Oct 23, 2005.

Registros de longitud fija


Considrese un archivo de cuentas

bancarias con la siguiente especificacin:


type depsito = record

nmero-cuenta: char(10);

nombre-sucursal: char (22);


saldo: real; end;
Cada carcter = 1 byte; el tipo real = 8 bytes Cada registro ocupa 40 bytes
Database System Concepts - 5th Edition, Oct 23, 2005. 11.40 Silberschatz, Korth and Sudarshan

Problemas con la longitud fija


Resulta difcil borrar un registro de esta

estructura. Se debe rellenar el espacio ocupado por el registro que hay que borrar con algn otro registro del archivo o tener algn medio de marcar los registros borrados para que puedan pasarse por alto. A menos que el tamao de los bloques sea un mltiplo de cuarenta (lo que resulta improbable) algunos de los registros se saltarn los lmites de los bloques. Es decir, parte del registro se guardar en un bloque y parte en otro. Harn falta, por tanto, dos accesos a bloques para leer o escribir ese tipo de registros.
Database System Concepts - 5th Edition, Oct 23, 2005. 11.41 Silberschatz, Korth and Sudarshan

Fig. 1 - Archivo que contiene los archivos de cuenta

Fig. 2 Borrado de registro 2 con desplazamiento de todos los registros

Fig. 3 Borrado de registro 2 y desplazamiento de ltimo registro


Database System Concepts - 5th Edition, Oct 23, 2005. 11.42

Fig. 4 Borrado de los registros 1, 4 y 6 utilizando estructura de lista libre


Silberschatz, Korth and Sudarshan

Registros de longitud variable


Surgen de varias maneras en los

sistemas de bases de datos:


Almacenamiento

de varios tipos de registros en un mismo archivo.

Tipos
Tipos

de registro que permiten longitudes variables para uno o varios campos.


de registro que permiten campos repetidos, como los arrays o multiconjuntos.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.43

Silberschatz, Korth and Sudarshan

Tcnicas para implementar los registros de longitud variable


1.

Representacin en cadena de bytes


Adjunta smbolos especiales de fin de registro
Cada registro se guarda como una cadena de bytes consecutivos Inconvenientes:

Utilizacin del espacio dejado por un registro borrado. Gran cantidad de fragmentos de disco desaprovechados.
No queda espacio para el aumento de tamao de registros (campos variables), lo cual ocasiona desplazamiento fsico del registro.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.44

Silberschatz, Korth and Sudarshan

2.

Pginas con ranuras: contiene una cabecera con la siguiente informacin:


Nmero de elementos de registro de la cabecera El final del espacio vaco del bloque Un array cuyas entradas contienen la ubicacin y el tamao de cada registro.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.45

Silberschatz, Korth and Sudarshan

A menudo las bases de datos

almacenan datos que pueden ser mucho ms grandes que los bloques del disco.
Las BD Relacionales suelen limitar el

tamao de los registros para que no superen el tamao de los bloques.


Los objetos de gran tamao se suelen

representar en organizaciones de archivos de rboles B+.


Database System Concepts - 5th Edition, Oct 23, 2005. 11.46 Silberschatz, Korth and Sudarshan

3. Representacin en longitud fija


a.

Espacio reservado

Database System Concepts - 5th Edition, Oct 23, 2005.

11.47

Silberschatz, Korth and Sudarshan

b.

Representacin con listas

Database System Concepts - 5th Edition, Oct 23, 2005.

11.48

Silberschatz, Korth and Sudarshan

c.

Representacin con listas, utilizando bloques ancla y bloques de desbordamiento

Database System Concepts - 5th Edition, Oct 23, 2005.

11.49

Silberschatz, Korth and Sudarshan

ORGANIZACIN DE LOS REGISTROS EN ARCHIVOS

Organizacin de los archivos en montculos

Cualquier registro en cualquier parte del archivo Los registros no se ordenan Un archivo por cada relacin
Registros guardados de manera secuencial segn el valor de la clave de bsqueda Se calcula una funcin de asociacin para algn atributo de cada registro que indica el bloque del archivo donde se debe colocar el registro

Organizacin secuencial de los archivos

Organizacin asociativa (hash) de los archivos

Database System Concepts - 5th Edition, Oct 23, 2005.

11.50

Silberschatz, Korth and Sudarshan

Organizacin de archivos secuenciales


Diseados para el procesamiento

eficiente de los registros con un orden basado en alguna clave de bsqueda.


La clave de bsqueda es cualquier

atributo.
Los registros se vinculan mediante

punteros.
Los registros se guardan fsicamente

en el orden indicado por la clave de bsqueda o lo ms cercano posible


Database System Concepts - 5th Edition, Oct 23, 2005. 11.51 Silberschatz, Korth and Sudarshan

Caractersticas de archivos secuenciales


Permite que los registros se lean de forma

ordenada. Resulta difcil mantener el orden fsico secuencial por el costo de desplazamiento de varios registros. Para la insercin se aplican las siguientes reglas:

Localizar el registro que precede al que se va a insertar segn el orden de la clave de bsqueda. Si existe algn espacio libre dentro del mismo bloque, el nuevo registro se insertar ah. Caso contrario se inserta en un bloque de desbordamiento. Luego de insertar, ajustar los punteros.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.52

Silberschatz, Korth and Sudarshan

Clave de bsqueda

Fig. 1 Archivo secuencial para los registros de cuenta

Fig. 2 El archivo secuencial despus de una insercin

Este enfoque funciona bien si hay que guardar un nmero relativamente pequeo de registros en los bloques de desbordamiento. Cuando se pierde la correspondencia entre el orden de la clave de bsqueda y el fsico, el archivo debe ser reorganizado.
Database System Concepts - 5th Edition, Oct 23, 2005. 11.53 Silberschatz, Korth and Sudarshan

Organizacin de archivos en agrupaciones de varias tablas


Los archivos secuenciales son tiles en SBD

pequeos que pueden organizar un archivo por cada relacin con los servicios del SO.
Muchos SBD de gran tamao no utilizan

directamente el sistema operativo subyacente para la gestin de los archivos.


Se asigna al SBD un archivo de gran tamao del

SO. En este archivo el SGBD guarda y administra todas las relaciones.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.54

Silberschatz, Korth and Sudarshan

55

Ejemplo de guardar muchas relaciones en un solo archivo

Relacin: Impositor

Relacin: Cliente

select nmero-cuenta, nombre-cliente, calle-cliente, ciudad-cliente from impositor, cliente where impositor.nombrecliente = cliente.nombrecliente
Database System Concepts - 5th Edition, Oct 23, 2005. 11.55

Estructura de archivo eficiente para consultas que involucren a Impositor |X| Cliente
Silberschatz, Korth and Sudarshan

Ventajas de archivos con agrupaciones de varias tablas

56

Una organizacin de archivos en

agrupaciones de varias tablas es una organizacin de archivos que almacena registros relacionados de dos o ms relaciones en cada bloque.
Este tipo de organizacin de archivos

permite leer registros que satisfacen la condicin de reunin en un solo proceso de lectura de bloques.
Database System Concepts - 5th Edition, Oct 23, 2005. 11.56 Silberschatz, Korth and Sudarshan

Desventajas de archivos con agrupaciones de varias tablas

Retarda el procesamiento de algunos tipos

de consultas, como:
Select * from Cliente

Los registros se hallan en bloques diferentes.

Para encontrar todas las tuplas de la relacin cliente, se pueden enlazar todos los registros de esta relacin mediante punteros.

57
Database System Concepts - 5th Edition, Oct 23, 2005. 11.57 Silberschatz, Korth and Sudarshan

Almacenamiento con diccionario de datos


Un SBD relacionales necesita tener datos

sobre las relaciones, como puede ser su esquema. Esta informacin se denomina diccionario de datos o catlogo del sistema. Contiene, entre otras cosas:
El nombre de las relaciones El nombre de los atributos de cada relacin. El dominio y la longitud de los archivos. El nombre y la definicin de las vistas. Restricciones de integridad.

Database System Concepts - 5th Edition, Oct 23, 2005.

11.58

Silberschatz, Korth and Sudarshan

Datos de usuario
Nombre

de los usuarios autorizados


e informacin sobre las (formas de autentificacin)

Autorizacin

cuentas.
Contraseas

Informacin estadstica y descriptiva


Nmero
Mtodo

de tuplas de cada relacin

de almacenamiento utilizado para cada relacin (Ej. con agrupaciones o sin agrupaciones)
11.59 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, Oct 23, 2005.

Organizacin del almacenamiento

(secuencial, asociativa o en montculos) de las relaciones y la ubicacin donde se guarda cada relacin:

Si las relaciones se guardan en archivos del SO, el diccionario guarda los nombres y direcciones de los archivos. Si la BD almacena todas las relaciones en un solo archivo, el SBD puede guardar los bloques que contienen los registros a travs de estructuras de datos, como por ejemplo, las listas.
60
11.60 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, Oct 23, 2005.

Informacin sobre ndices


Nombre del ndice Nombre de la relacin para la que se crea. Atributos sobre los que se define. Tipo de ndice formado.

Metadatos-relacin = (nombre-relacin, nmero-atributos) Metadatos-atributos = (nombre-atributo, nombre-relacin, tipodominio, posicin, longitud) Metadatos-usuarios = (nombre-usuario, contrasea-cifrada, grupo) Metadatos-ndices = (nombre-ndice, nombre-relacin, tipo-ndice, atributos-ndice) Metadatos-vistas = (nombre-vista, definicin)
Base de datos de los metadatos del sistema

61
Database System Concepts - 5th Edition, Oct 23, 2005. 11.61 Silberschatz, Korth and Sudarshan

Вам также может понравиться