PDF 1 diapositiva por página

Anuncio
3.5 Implementación física de bases de datos relacionales.
Motivación:
independencia de datos
Aunque la arquitectura de niveles de un
SGBD permite manipular una base de datos
sin conocer los detalles de implementación,
estos últimos pueden ser determinantes
para el buen funcionamiento de un sistema
de bases de datos.
3.5 Implementación física de bases de datos relacionales.
Ciclista (dorsal,...
)
Equipo (nomeq,...
)
Etapa (netapa,....
)
Maillot (codigo,...
)
..............
Ciclista
Arquitectura
de niveles
SELECT dorsal, nombre
FROM Ciclista
Esquemas externos
Esquema lógico
(especificación)
Esquema físico
(implementación)
ORACLE
INDEX (dorsal)
DATAFILE Disco1:F1
Equipo
HEAP
........
F1
Disco1
Implementación de la
BD en disco
SO
3.5 Implementación física de bases de datos relacionales.
Técnicas de bases de datos:
9gran volumen de datos
9persistencia en el tiempo
tecnología actual
almacenamiento de la BD en
memoria secundaria (discos)
acceso a memoria secundaria mas lento
que a memoria principal
elegir una implementación de
las relaciones que reduzca el
número de accesos a disco
estudio
9 características de las
estructuras de datos para
memoria secundaria (ficheros)
3.5 Implementación física de bases de datos relacionales.
¿Estructuras de datos
utilizadas para organizar los
datos en memoria secundaria?
tipo de datos “fichero”
3.5 Implementación física de bases de datos relacionales.
fichero ≡ colección de registros
Ficheros ordenados: los registros se guardan en orden
del valor en uno o más campos.
Ficheros desordenados: los registros se guardan sin
orden
Ficheros dispersos: organización de acceso directo.
9 acceso a la localización exacta de un registro por el valor
de un campo (o campos), basada en el uso de funciones de
dispersión (hashing).
5
3.5 Implementación física de bases de datos relacionales.
Fichero ordenado:
2
5
8
12
Ventajas (operaciones eficientes):
9 lectura de los registros en orden
del campo de ordenación.
15
21
Inconvenientes
(operaciones costosas):
24
29
9 búsqueda de un registro basada
en un campo distinto al campo de
ordenación.
35
36
9 inserción y borrado de registros.
39
41
(bloques del fichero: 2 registros/bloque)
3.5 Implementación física de bases de datos relacionales.
Fichero desordenado:
5
2
15
8
12
41
21
39
Ventajas
(operaciones eficientes):
9 inserción de registros.
Inconvenientes
(operaciones costosas):
24
29
36
35
(bloques del fichero: 2 registros/bloque)
9 búsqueda de un registro
basada en una condición de
búsqueda.
3.5 Implementación física de bases de datos relacionales.
Fichero disperso (hashing):
Una función p llamada función de dispersión o de
aleatorización se aplica al valor de un campo(s) del registro
(campo de dispersión) K y devuelve la dirección del
“bloque” de disco en el que se almacena el registro.
Dominio del campo de dispersión K: D
Espacio de direcciones (cubos): Un cubo es o un bloque
del disco o un grupo de bloques contiguos
p : D → 0..N-1 (N cubos)
3.5 Implementación física de bases de datos relacionales.
Cubos principales
cubo 0
360
360
450
210
360 MOD 3
puntero
cubo 1
322
52
211
59
nulo
cubo 2
362
59
311
59 MOD 3
puntero
Función de dispersión típica:
p (K) = K mod N
3.5 Implementación física de bases de datos relacionales.
Fichero disperso (hashing):
Ventajas (operaciones eficientes):
9búsqueda de un registro por el campo de dispersión.
Inconvenientes (operaciones costosas):
9lectura secuencial de los registros por el valor del campo
de dispersión.
9colisiones: al valor del campo de dispersión de un registro
nuevo le corresponde una dirección llena
9crecimiento del fichero.
3.5 Implementación física de bases de datos relacionales.
Índices: estructuras auxiliares de acceso a los registros de
un fichero.
Índice: estructura de datos que permite el acceso a los
registros de un fichero por el valor de un campo (campo
de indización)
Elementos de un índice (entradas del índice):
valor del campo de
+
indización de un registro
“dirección”
del registro
Los índices permiten el acceso directo y el acceso
ordenado a los registros del fichero por el campo de
indización.
3.5 Implementación física de bases de datos relacionales.
Fichero de datos
Índice
123
•
123
Estructura auxiliar para
acceder directamente a los
registros del fichero.
Fichero de datos con una
organización secuencial o dispersa.
3.5 Implementación física de bases de datos relacionales.
• Opciones proporcionadas por los SGBD para la
implementación de BD:
– Distintos tipos de organizaciones básicas: ordenada,
desordenada, dispersa.
– Distintos tipos de dispersión: funciones de dispersión,
tratamiento del desborde, ...
– Varios tipos de indización: tipos de índices.
– Agrupación de tablas relacionadas
– Enlaces a través de punteros de registros relacionados
3.5 Implementación física de bases de datos relacionales.
relación del
esquema relacional
organización de
fichero
+
[índices]
3.5 Implementación física de bases de datos relacionales.
• Factores a tener en cuenta en la implementación
de BD:
– Espacio físico utilizados por los ficheros y sus
estructuras de acceso (índices).
– Tiempo de respuesta esperado.
– Tipo y frecuencia de ejecución de las operaciones de
manipulación del fichero.
3.5 Implementación física de bases de datos relacionales.
Implementación estándar:
– Utilizar un fichero desordenado para almacenar las tuplas
de la relación.
– Crear tantos índices como sean necesarios.
– Si la información va a sufrir muchas inserciones y
borrados hay que intentar minimizar el número de índices.
– El fichero que tiene un índice para cada uno de sus
campos se llama fichero invertido completamente
– Si la recuperación por orden de un campo es muy
frecuente, puede plantearse usar una organización
ordenada para el fichero.
– Si no es frecuente la recuperación ordenada se puede
usar una organización dispersa para el fichero.
3.5 Implementación física de bases de datos relacionales.
Consultas sobre más de una relación: Agrupación
– Dos relaciones tiene sendos atributos que
habitualmente se usan para su concatenación.
– Es deseable guardar físicamente en el mismo
bloque las tuplas relacionadas de ambas
relaciones.
3.5 Implementación física de bases de datos relacionales.
Ventajas de la agrupación:
• Se reduce el tiempo de acceso en las concatenaciones, ya
que el número de bloques accedido es menor.
• La clave de agrupación sólo se almacena una vez.
Desventajas de la agrupación
• Obliga a mantener juntas las tuplas con el mismo valor en
la clave de agrupación.
• Inserciones y modificaciones de la clave de agrupación son
costosas.
Descargar