CLASES Y ARQUITECTURA DE UNA
SGBDD
La arquitectura de un sistema de
base de datos está influenciada en gran medida por el sistema informático
subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura
de un sistema de base de datos se reflejan aspectos como la conexión en red, el
paralelismo y la distribución
LOCAL SCHEMA.-
Esquema conceptual local,
continua operando de forma autónoma y está bajo el control de su admón. de BD
local. Este podrá tener sus vistas externas pero no se consideran para la Federación
Component Schema.
Cada esquema local tiene su
correspondiente componente, es decir, su traducción a un modelo de datos común
ya que los modelos involucrados puede ser de distinto tipo (relacional, OO, etc...)
EXPORT SCHEMAS.-
Son los esquemas que los admón.
locales ponen disponibles a la federación, es decir, lo que se comparte.
Define la información que puede
ser accedida por consultas y transacciones globales Global Schema:
·
Uno o varios recogen el modelo del conjunto. A
veces
·
Se requieren varios porque no es fácil recoger
toda la
·
Heterogeneidad semántica de los esquemas.
EXTERNAL SCHEMAS.-
Vista sobre esquema global
que contiene la Información que un usuario necesita para una aplicación específica.
DISEÑO DE BDD Y LOS ESQUEMA DE
FRAGMENTACION.-
Hay que decidir en qué nodos
deben residir los datos y las aplicaciones que trabajan con los datos:
- Si existen ya las bases de datos, hay que integrarlas para obtener el esquema global.
- Si no existen, hay que definir el esquema conceptual global y fragmentar y asignar a los nodos.
TIPO DE FRAGMENTACIÓN.-
Dado que una relación se
corresponde esencialmente con una tabla y la cuestión consiste en dividirla en
fragmentos menores, inmediatamente surgen dos alternativas lógicas para llevar
a cabo el proceso: la división horizontal y la división vertical.
GRADO DE FRAGMENTACIÓN.-
Cuando se va a fragmentar una
base de datos deberíamos sopesar qué grado de fragmentación va a alcanzar, ya
que éste será un factor que influirá notablemente en el desarrollo de la
ejecución de las consultas.
TIPOS Y FRAGMENTACIÓN.-
Objetivos de la fragmentación
El objetivo de la fragmentación
consiste en dividir la relación en un conjunto de relaciones más pequeñas tal
que algunas de las aplicaciones de usuario sólo hagan uso de un fragmento.
Sobre este marco, una
fragmentación óptima es aquella que produce un esquema de división que minimiza
el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.
La unidad de fragmentación ideal
no es la tabla sino una subdivisión de ésta.
Esto es debido ha:
· Las aplicaciones usan vistas definidas sobre
varias relaciones, es decir, se forman a partir de "trozos" de varias
tablas. Si conseguimos que cada una de las vistas esté definida sobre subtablas
locales (o en su defecto lo más "cerca" posible) a cada aplicación,
es de esperar un incremento en el rendimiento.
Si múltiples vistas de diferentes
aplicaciones están definidas sobre una tabla no fragmentada, se tiene:
·
Si la tabla no está replicada entonces se
produce generación de tráfico por accesos remotos.
·
Si la tabla está replicada en todos o algunos de
los sitios donde residen cada una de las aplicaciones entonces la generación de
tráfico innecesario es producida por la necesidad de la actualización de las
copias.
VENTAJAS.-
Al descomponer una relación en
fragmentos (unidades de distribución):
- Permitimos el procesamiento concurrente de transacciones ya que no se bloquean tablas enteras sino subtablas, por lo que dos consultas pueden acceder a la misma tabla a fragmentos distintos.
- Permitimos la paralelización de consultas al poder descomponerlas en subconsultas, cada una de la cuales trabajará con un fragmento diferente incrementándose así el rendimiento.
DESVENTAJAS.-
Degradación del rendimiento en
vistas definidas sobre varios fragmentos ubicados en sitios distintos (es
necesario realizar operaciones con esos trozos lo cual es costoso)
El control semántico se dificulta
y el rendimiento se degrada debido que la verificación de restricciones de
integridad (claves ajenas, uniques, etc) implican buscar fragmentos en
múltiples localizaciones.
Por lo tanto división y ubicación
de los fragmentos no es trivial.
TIPOS DE FRAGMENTACIÓN DE DATOS
Existen tres tipos de
fragmentación:
- Fragmentación horizontal
- Fragmentación vertical
- Fragmentación híbrida
Para que una la fragmentación de
una relación sea correcta debe satisfacer las siguientes condiciones:
Condición de completitud.
La descomposición de una relación
R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento
de datos en R se encuentra en alguno de los fragmentos Ri.
Condición de Reconstrucción.
La descomposición de una relación
R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento
de datos en R se encuentra en alguno de los fragmentos Ri.
Condición de Fragmentos
Disjuntos.
Si la relación R se descompone en
los fragmentos R1, R2, ..., Rn, y el dato di está en Rj, entonces, no debe
estar en ningún otro fragmento Rk (k?j).
FRAGMENTACIÓN VERTICAL DE UNA
BASE DE DATOS DISTRIBUIDA
La fragmentación vertical de una
relación R produce una serie de fragmentos R1, R2, ..., Rr cada uno de los
cuales contiene un subconjunto de los atributos de R así como la clave primaria
de R.
FRAGMENTACIÓN HORIZONTAL DE UNA BASE DE DATOS DISTRIBUIDA
La fragmentación horizontal de
una relación R produce una serie de fragmentos R1, R2, ..., Rr, cada uno de los
cuales contiene un subconjunto de las tuplas de R que cumplen determinadas
propiedades (predicados)
Fragmentación horizontal primaria y derivada
La Fragmentación Horizontal
Primaria (FHP) de una relación se obtiene usando predicados que están definidos
en esa relación.
La Fragmentación Horizontal
Derivada (FHD) por otra parte, es el particionamiento de una relación como
resultado de predicados que se definen en otra relación.
FRAGMENTACIÓN MIXTA DE UNA BASE DE DATOS DISTRIBUIDA
Consiste en aplicar las
operaciones de fragmentación vistas anteriormente de manera recursiva,
satisfaciendo las condiciones de correctos cada vez que se realiza la
fragmentación.
La reconstrucción puede ser
obtenida aplicando las reglas de reconstrucción en orden inverso.
De esta forma podemos fragmentar nuestra tabla global en los pedazos que queramos y como queramos.
De esta forma podemos fragmentar nuestra tabla global en los pedazos que queramos y como queramos.
Autores:
Karen Lisbeth Rodriguez Arce.
Dannes Zambrano Mejía.