Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONTENIDOS
1. DEFINICION BASES DE DATOS DISTRIBUIDAS 2. ESQUEMA DISTRIBUIDO 3. COMPONENTES DE UN SISTEMA GESTOR DISTRIBUIDO 4. CARACTERISTICAS 5. VENTAJAS 6. DESVENTAJAS
10. EJEMPLO
BD
BD Servidor
BD Servidor Cliente
Cliente
Sitio 1
Cliente
Sitio 2 Sitio 3
Sitio n
Red de Comunicaciones
Ventajas
1. Los datos se pueden colocar fsicamente en el lugar donde se accesan ms frecuentemente, haciendo que los usuarios tengan control local de los datos con los que interactan. 2. La naturaleza distribuida de algunas aplicaciones de Bases de Datos: Muchas de estas aplicaciones estn distribuidas naturalmente en diferentes lugares. Por ejemplo, una compaa puede tener oficinas en varias ciudades, un banco puede tener mltiples sucursales. 3. Mayor fiabilidad y disponibilidad: Estas son dos de las ventajas potenciales de las Bases de Datos Distribuidas que se citan comnmente la fiabilidad se define a grandes rasgos como la probabilidad de que un sistema este en funciones en un momento determinado, y la disponibilidad es la probabilidad de que el sistema est disponible continuamente durante un intervalo de tiempo. 4. Posibilidad de compartir los datos al tiempo que se mantiene un cierto de grado de control local. 5. Mejor rendimiento: Cuando una base de datos grande esta muy distribuida en mltiples sitios, hay bases de datos mas pequeas en cada uno de estos. En consecuencia, las consultas locales y las transacciones que tienen acceso a datos a un solo sitio tienen un mejor rendimiento porque las bases de datos son ms pequeas adems, cada sitio tiene un mejor nmero de transacciones en ejecucin que si todas las transacciones se enviaran a una sola base de datos centralizada
Desventajas
La principal desventaja se refiere al control y manejo de los datos. Dado que stos residen en muchos nodos diferentes y se pueden consultar por nodos diversos de la red, la probabilidad de violaciones de seguridad es creciente si no se toman las precauciones debidas. La habilidad para asegurar la integridad de la informacin en presencia de fallas no predecibles tanto de componentes de hardware como de software es compleja. La integridad se refiere a la consistencia, validez y exactitud de la informacin. Dado que los datos pueden estar replicados, el control de concurrencia y los mecanismos de recuperacin son mucho ms complejos que en un sistema centralizado. La distribucin produce un aumento en la complejidad del diseo y en la implementacin del sistema.
Tipos de fragmentacin:
vertical, horizontal horizontal
Fragmentacin vertical
La fragmentacin vertical es la subdivisin de atributos en grupos. Los fragmentos se obtienen proyectando la relacin global sobre cada grupo. Ejemplo: se tiene el siguiente modelo relacional Almacen(cod_almacen, direccin, telfono, rea) EMP( cedula, nombre, direccin, telfono, funcin, localizacin, extensin,cod_almacen) Producto(ref, nombre, descripcin, cod_almacen) Se desea distribuir los datos personales en la sede norte y los otros datos de los empleados en las sedes ubicadas en el rea norte y sur Una fragmentacin vertical de esta relacin puede ser definida como: EMP1 = select cedula, nombre, direccin, telfono From EMP EMP2 = select cedula, funcin, localizacin, extensin , cod_almacen From EMP Se desea distribuir los datos de EMP1 en la sede norte, los dems datos de EMP2 se llevan a las dos localidades de la sede norte y sur.
Fragmentacin horizontal
Consiste del particionamiento en tuplas de una relacin global en subconjuntos, donde cada subconjunto puede contener datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operacin de seleccin sobre la relacin global. Ejemplo 3.4. Las siguientes relaciones definen una fragmentacin horizontal derivada de la relacin. Almacen(cod_almacen, direccin, telfono, rea) Se desea distribuir los datos en dos sedes ubicadas en el rea norte y sur Almacensur= selct * from almacen where area= sur Almacensur= selct * from almacen where area= Norte
Ejemplo:
Una institucin con su base de datos centralizada en Bogot debido a su crecimiento abre otras dos sucursales en Medelln y Cali y monta una red para comunicar los tres sitios en las tres ciudades por este motivo desea disear una base de datos distribuida con las siguientes condiciones: En cada ciudad desea tener informacin de sus programas, ctedras y profesores. En la ciudad de Bogot se mantendr la cdula el salario y la deduccin del profesor para el clculo de su nmina. El diseo de la base de datos centralizada es el siguiente:
CATEDRA(cod_cat, nom_cat, nivel, num_prog) PROFESOR(cedula, nombre, ciudad, valor_hora, Num_horas, deduccion) CAT_PROF(cod_cat, cedula, fecha_ini) PROGRAMA(num_prog, nom_prog)
Disear los esquemas de fragmentacin y la tabla de asignacin fragmentos de la base de datos distribuida.
Fragmentacin vertical tabla profesor Prof1= select cedula, valor_hora, num_hora, deduccion from profesor Prof2= select cedula, nombre, ciudad from profesor Fragmentacin Horizontal tabla profesor Prof2_bog= select * from profesor where ciudad=Bogota Prof2_Cali= select * from profesor where ciudad=Cali Prof2_med= select * from profesor where ciudad=Medellin
Fragmentacin Horizontal derivada tabla cat_prof cat_profB = select cat_prof.* from cat_prof, Prof2_bog where cat_prof.cedula= prof2_bog.cedula cat_profC= select cat_prof.* from cat_prof, Prof2_cali where cat_prof.cedula= Prof2_cali.cedula cat_profM = select cat_prof.* from cat_prof, Prof2_med where cat_prof.cedula= Prof2_med.cedula Fragmentacin Horizontal derivada tabla ctedra catedraB = select catedra.* from cat_profB, catedra where cat_profB.cod_cat= catedra.cod_cat catedraC = select catedra.* from cat_profC, catedra where cat_profC.cod_cat= catedra.cod_cat catedraM = select catedra.* from cat_profM, catedra where cat_profM.cod_cat= catedra.cod_cat Fragmentacin Horizontal derivada tabla programa ProgramaB = select programa.* from programa, catedraB where programa.num.progt= catedraB.num_prog ProgramaC = select programa.* from programa, catedraC where programa.num.progt= catedraC.num_prog ProgramaM = select programa.* from programa, catedraM where programa.num.progt= catedraM.num_prog
tabla
profesor Prof2 Prof1 Prof2_bog Prof2_cali Prof2_med
Cat_prof
catedra programa
Cat_profB
catedraB programaB
Cat_profC
catedraC programaC
Cat_profM
catedraM programaM
Bibliografa
ESCOM, fundamentos tericas de bases de datos distribuidas, Obtenida en la Fecha: Noviembre 16 de 2008 hora: 14.36 http://www.geocities.com/ddbqp/#_ 1.1_Introduccin