Capítulo 4

Contexto diseño físico

Diseño físico

Busca elegir las estructuras de almacenamiento específicas y caminos de acceso para los archivos (o tablas), con objetivo de un buen rendimiento de las apps que hacen uso de las bd.

  • Estructuras de almacenamiento: hace referencia a las alternativas que ofrecen los DBMS para organizar el almacenamiento de memoria secundaria.

  • Caminos de acceso: qué ofrece para después ir a recuperar esos datos.

 

Aspectos a considerar:

Aspectos a considerar:

Como diseñador de BD se debe realizar análisis sobre las consultas (una operación única) y transacciones (conjunto de operaciones).

Estos análisis implican realizar estudios sobre:

El DBMS es relevante en el diseño físico.

Organización de archivos

Archivos secuenciales

Una de las organizaciones de archivos más tradicionales es la secuencial. Se basa en almacenar cada registro de un archivo o fila de una tabla, una al lado de la otra. Se agrupan estas filas en bloques para una mejor recuperación de los datos. Hay de dos tipos: secuencial ordenado y desordenado.

  • En el secuencial desordenado, se almacenan las filas como se van llegando, una detrás de la otra, almacenándose los bloques de forma cosecutiva.

  • En el secuencial ordenado, se almacenan las filas manteniendo un orden propio en base a algún atributo.

Se recomienda este tipo de organización en aplicaciones con alta tasa de volatilidad de insersión, alta tasa de actividad y particularmente ordenados, en consultas como

Archivos hashing (directos)

Lo contrario a una organización secuencias sería una organización directa que permita encontrar un regristro o fila sin necesidad de tener que pasar por los que están almacenados antes de él. Esto se logra gracias a que el archivo o tabla tiene un atributo como clave primaria, el cual se le aplica algún algoritmo hashing que es capaz de convertir el valor del atributo en una dirección dde algún bloque dentro del área del almacenamiento, para que sea más directo. Tendremos de dos tipos: estático y con expansión dinámica.

  • En el hashing estático se almacenan las filas como van llegando en algún bloque que el algoritmo hashing le indique. El algoritmo requiere tener def. el tamaño total del área de datos para poder generar direcciones dentro de tal área.

  • En el hashing con expansión dinámica se requiero de un área de datos y un directorio o área de índices. Se almacenan las filas como van llegando en algún bloque que el algoritmo hashing le indique. El agoritmo, a través de un árbol binario que maneja el área de índices, que le permite encontrar la ubicación de los bloques donde está cada registro y va asignando en forma dinámica nuevos bloques.

Se recomienda el hashing en apps con:

Archivos organizados como árboles

Cada nodo almacena una fila en la tabla, y tiene dos punteros, uno hacia el lado izquiero y el otro hacia el derecho. Vamos, un arbol B. Es importante en esta organización de archivos tener algún atributo que sea PK, y que los datos sean almacenados en forma ordenada por ese atributo.

Se recomienda el uso de estos en apps con:

Clusters

Los clusters permiten almacenar 2 o más tablas lo más cercanas posibles, de tal manera de aprovechar el acceso que se hace al medio de almacenacenamiento.

Se recomiendan cuando:

Archivos particionados

Los archivos particionados reducen el tiempo necesario para recuperar los datos de un archivo, repartiéndolos en partes de menor tamaño (y posiblemente en dstintos discos).

Índices

Un índice es una estruct. de datos adicional que se le agrega a un archivo para agilizar el acceso a los datos contenidos en él. En ese sentido al crear un índice para una tabla, se aumenta el espacio de almacenamiento requerido y generan dos áreas de almacenamiento, el área de datos y el área de índices.

Según el atributo sobre el cual se construye se denomina:

Según su estructura, pueden ser dinámico o bitmap.

Métodos para el sideño físico de una BDR

image-20241023043449930

image-20241023043500181

Capítulo 5

Componentes del DBMS

RDBMS es un DBMS pero basado en el modelo relacional.

La normalización y las propiedades ACID (Atomicidad, Consistencia, Isolation, Durabilidad) estpan presente en los RDBMS

Funciones generales del DBMS

Integridad en las transacciones

Evita que las transacciones finalicen en un estado intermedio.

En la RDBMS, la integridad en las transacciones posee los siguientes elementos:

Un DBMS debe proveer las funciones necesarias para que las transacciones sean ACID.

Servicios de respaldo

Aspectos a considerar en un plan de respaldo:

Modalidad de las copias

Tipos de respaldos

Los dos primeros dependen del tipo de coneción que tenga el respaldo con la BD en producción (sin o con conexión). Los otros 2 dependen de la cantidad de registros a copiar.

Mecanismos de recuperación

Funcionan a partir del momento en el que se produce un daño a la BD, ya sea físico o lógico.

Control concurrente

Permite evitar que se produzcan inconsistencias en la BD cuando más de una transacción accede a un mismo dato para actualizarlo.

Mecanismos de seguridad