Bases de Datos AvanzadasBases de Datos Distribuidas
Bases de Datos Distribuidas-Diseño
Debemos resolver seis preguntas fundamentales ¿Por qué Fragmentar? ¿Como Fragmentar? Fragmentar ¿A que nivel? ¿Que tan correcta o apropiada es la
fragmentación ? ¿Como asignar fragmentos a un sitio? Requisitos de Información para llevar a cabo
la fragmentación
Bases de Datos Distribuidas- Fragmentación
Un fragmento es una porción lógica de relaciones globales. Los fragmentos están físicamente localizados en uno o más sitios de la red.
Un fragmento está definido por una expresión del álgebra relacional que toma relaciones globales como operandos y produce un fragmento
Condiciones para definir fragmentos: Completitud (Completness) Reconstrucción (Reconstruction) Disyunción (Disjoitness)
Bases de Datos Distribuidas-Criterios
Completitud: Si una relación R esta descompuesta en fragmentos R1, R2, ...Rn, cada elemento que puede encontrarse en R también se encuentra en 1 o más Ri’s 1<= i <= n (No hay pérdida de información)
Reconstrucción: Si una relación R está descompuesta en fragmentos R1, R2, ...Rn, debe ser posible definir un operador relacional tal que
R = Ri Ri FR
(Preservación de dependencias)
Bases de Datos Distribuidas-Criterios
Disyunción: Si una relación R está horizontalmente descompuesta en fragmentos R1, R2, ...Rn, y un elemento di está incluido en un fragmento Rj, entonces di no existe en ningún otro fragmento Rk
(Fragmentación horizontal no tiene mismo conjunto de tuplas)
Si la relación R está verticalmente descompuesta esta regla excluye los atributos que forman la llave primaria
(i.e., atributos de la llave primaria aparecen en todos los
fragmentos)
Bases de Datos DistribuidasFragmentación Horizontal (HF) Particiona tuplas de una relación global en
subconjuntos Definidos por una operación de selección, llamada
calificación, sobre una relación global
EJEMPLO
Considere la relación global equipos de béisbol EQUIPO(NomEquipo, Liga, Localidad, Entrenador)Esta relación global puede ser fragmentada
horizontalmente basándose en el valor del atributo Liga:
EQUIPO A = liga=americana EQUIPO
EQUIPO N = liga=nacional EQUIPO
Bases de Datos DistribuidasFragmentación Horizontal Derivada (DHF) Fragmentación que se deriva de la fragmentación
horizontal de otra relaciónEjemplo: Considere la relación global de jugadores de béisbol
JUGADOR(RFC, NombreJ, NombreE, Posición, Contrato, Salario)
Esta fragmentación global puede también ser fragmentada horizontalmente basada en la liga en la cual el jugador participa. La liga sin embargo no es un atributo de jugador.
Jugador A= JUGADOR SJ NombreE = NomEquipo EQUIPO A
Jugador N= JUGADOR SJ NombreE = NomEquipo EQUIPO N
Bases de Datos DistribuidasFragmentación Vertical (VF) Fragmenta una relación global a través de la proyección
de atributos. Ejemplo: Considere la relación global de jugadores de béisbol
JUGADOR(RFC, NombreJ, NombreE, Posición, Contrato, Salario)
Esta relación pude ser fragmentada verticalmente de la siguiente forma
Jugador1= RFC, NombreJ, NombreE, Posición JUGADOR
Jugador2= RFC, Contrato, Salario JUGADOR
La operación de reconstrucción es:
JUGADOR = Jugador1 join Jugador2
Note que esta fragmentación no puede ser disjunta dado que la llave de la relación global debe aparecer en los fragmentos para efectos de reconstrucción.
Bases de Datos DistribuidasFragmentación Mixta Generada a través de la aplicación recursiva de
operadores del álgebra relacional en los fragmentos Ejemplo: Considere (una vez mas!!) la relación global de jugadores
de béisbol
JUGADOR(RFC, NombreJ, NombreE, Posición, Contrato, Salario)Después de la fragmentación vertical en
Jugador1= RFC, NombreJ, NombreE, Posición JUGADOR
Jugador2= RFC, Contrato, Salario JUGADOR
Jugador1 puede tener una fragmentación horizontal derivada
basada en la liga en la que juega el jugador
Jugador1.A= Jugador1 SJ EQUIPOA SJ= SemiJoin
Jugador1.N= Jugador1 SJ EQUIPON
Top Related