Base de Datos Distribuidas - Ejercicio Procesamiento de Transacciones
Base de Datos Distribuidas - Ejercicio Procesamiento de Transacciones
Base de Datos Distribuidas - Ejercicio Procesamiento de Transacciones
Vamos a ilustrar este tema con dos sencillas consultas de ejemplo. Supongamos que las
relaciones EMPLEADO y DEPARTAMENTO están distribuidas tal y como aparece en la
siguiente figura:
Asumiremos que ninguna de las dos relaciones está fragmentada. Según la figura anterior, el
tamaño de la relación EMPLEADO es de 100 ∗ 10.000 = 1.000.000 bytes, mientras que la de
DEPARTAMENTO es de 35 ∗ 100 = 3.500 bytes.
Consideremos la consulta C: por cada empleado, recuperar su nombre y el del departamento
para el cual trabaja.
Esto puede formularse del siguiente modo en el álgebra relacional:
Si asumimos que cada empleado está relacionado con un departamento, el resultado de esta
consulta incluirá 10.000 registros. Supongamos que cada registro tiene 40 bytes de longitud. La
consulta es enviada a un sitio 3 distinto, llamado sitio resultado porque es el lugar en el que se
precisan los resultados. Ni la relación EMPLEADO ni DEPARTAMENTO residen en este sitio.
Para ejecutar esta consulta distribuida existen tres tipos de estrategias simples:
Ahora vamos a considerar una nueva consulta C': por cada departamento, recuperar su
nombre y el de su director. Esto quedaría del siguiente modo en el álgebra relacional:
De nuevo, suponemos que la consulta se envía al sitio 3. En este caso, aplicaremos las
mismas estrategias que las empleadas para la consulta C, excepto por el hecho de que el
resultado de C' sólo incluye 100 registros, asumiendo que cada departamento tiene un único
director:
De nuevo elegimos la tercera estrategia (en este caso, por un abrumador margen con relación
a las otras dos).
Las tres metodologías anteriores son las más obvias cuando se trata de enviar el resultado a
un sitio diferente (sitio 3) del que se encuentran los ficheros involucrados en la consulta (sitios 1
y 2). Sin embargo, supongamos que el sitio resultado es el 2; en este caso tenemos dos
estrategias: