Sei sulla pagina 1di 22

BASES DE DATOS DISTRIBUIDAS

Oralia corts Grajales

CONTENIDOS

1. DEFINICION BASES DE DATOS DISTRIBUIDAS 2. ESQUEMA DISTRIBUIDO 3. COMPONENTES DE UN SISTEMA GESTOR DISTRIBUIDO 4. CARACTERISTICAS 5. VENTAJAS 6. DESVENTAJAS

7. LOS PASOS A SEGUIR PARA DISEAR UNA BASE DE DATOS DISTRIBUIDA


8. ESQUEMA DE Y DISTRIBUCIN DE DATOS 9. TIPOS DE FRAGMENTACIN

10. EJEMPLO

1.DEFINICION: Base de Datos Distribuida (BDD)


Es un conjunto de mltiples bases de datos lgicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autnomo lo cual indica que puede realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual mltiples sitios de bases de datos estn ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si los datos estuvieran En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: Hay mltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algn tipo de red de comunicaciones para transmitir datos y rdenes entre los sitios.

BD

BD Servidor

BD Servidor Cliente

Cliente
Sitio 1

Cliente
Sitio 2 Sitio 3

Sitio n

Red de Comunicaciones

Componentes de un sistema gestor distribuido


Hardware Los nodos de procesamiento pueden estar formados por mltiples y distintos tipos de hardware. Software El programa principal que necesitamos considerar en un sistema de base de datos distribuida es el DDBMS. En un SGBD distribuido, la base de datos se almacena en varios computadores que se pueden comunicar a su vez por distintos medios de comunicacin ( desde redes de alta velocidad a lneas telefnicas). No comparten memoria ni discos y sus tamaos pueden variar tanto como sus funciones pudiendo abarcar desde PC hasta grandes sistemas. Se denomina con el trmino de emplazamientos o nodos a todos aquellos computadores que pertenecen a un sistema distribuido. Datos Una base de datos distribuida puede no estar duplicada, parcialmente duplicada o totalmente duplicada. Una base de datos parcialmente duplicada contiene ciertos elementos de datos que estn duplicados y algunos que no lo estn. Procedimientos Los sistemas de base de datos distribuidos contienen una multitud de componentes de procesamiento. Qu nodos pueden hacer qu y con qu datos? En los sistemas distribuidos ms sencillos, los datos no estn duplicados, y slo el nodo que almacena los datos puede actualizarlos. Personal Los sistemas con un DDBMS complejo y poderoso imponen pocas demandas especiales sobre los usuarios. De hecho, los usuarios no saben que estn procesando datos distribuidos.

Caractersticas de las Bases de Datos Distribuidas


Autonoma Local: Los sitios distribuido deben ser autnomos, es decir que todas las operaciones en un sitio dado se controlan en ese sitio. No dependencia de un sitio central: No debe de haber dependencia de un sitio central para obtener un servicio. Operacin Continua: Nunca debera apagarse para que se pueda realizar alguna funcin, como aadir un nuevo sitio. Independencia con respecto a la localizacin: No debe de ser necesario que los usuarios sepan dnde estn almacenados fsicamente los datos, sino que ms el usuario lo debe de ver como si solo existiera un sitio local Independencia con respecto a la fragmentacin: La fragmentacin es deseable por razones de desempeo, los datos, pueden almacenarse en la localidad donde se utilizan con mayor frecuencia de manera que la mayor parte de las operaciones sean slo locales y se reduzca el trfico en la red. Independencia de rplica: Si una relacin dada (es decir, un fragmento dado de una relacin ) se puede presentar en el nivel fsico mediante varias copias almacenadas o rplicas, en muchos sitios distintos.

Caractersticas de las Bases de Datos Distribuidas


Procesamiento Distribuido de Consultas: El objetivo es convertir transacciones de usuario en instrucciones para manipulacin de datos, y as reducir el trafico en la red implica que el proceso mismo de optimizacin de consultas debe ser distribuido. Manejo Distribuido de Transacciones: Tiene dos aspectos principales, el control de recuperacin y el control de concurrencia, cada uno de los cuales requiere un tratamiento ms amplio en el ambiente distribuido. Independencia con respecto al equipo Independencia con respecto al Sistema Operativo Independencia con respecto a la red Es que se puede leer o escribir datos localizados en diferentes nodos de la red Todos los usuarios accesan a la BDD a travs de un esquema global en forma transparente al usuario. El mismo SMBD es usado por cada localidad

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.

Los pasos a seguir para disear una base de datos distribuida:


1. Diseo del "esquema conceptual" el cual describe la base de datos integrada (esto es, todos los datos que son utilizados por las aplicaciones que tienen acceso a las bases de datos). 2. Diseo "fsico de la base de datos", esto es, mapear el esquema conceptual a las reas de almacenamiento y determinar los mtodos de acceso a las bases de datos. 3. Diseo de la fragmentacin, este se determina por la forma en que las relaciones globales se subdividen en fragmentos horizontales, verticales o mixtos. 4. Diseo de la asignacin de los fragmentos, esto se determina en la forma en que los fragmentos se mapean a las imgenes fsicas, en esta forma, tambin se determina la solicitud de fragmentos.

Esquema de y Distribucin de datos


La fragmentacin se compone de las entidades que hemos dividido proveniente de un esquema global junto con las condiciones empleadas para esta divisin expresadas en Sql. Para asegurar que la base de datos no sufrir cambios se defines las siguientes 3 normas que determinan la calidad de la fragmentacin de una tabla. Condicin de completitud. La descomposicin de una relacin R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento de datos en R se encuentra en algn fragmento. Condicin de Reconstruccin. Si la relacin R se descompone en los fragmentos R1, R2, ..., Rn, entonces debe existir algn operador que permita reconstruir la base de datos. Condicin de Fragmentos Disjuntos. Si la relacin R se descompone en los fragmentos R1, R2, ..., Rn, y el dato di est en Rj, entonces, no debe estar en ningn otro fragmento. El diseo de abajo hacia arriba (bottom-up). Se utiliza particularmente a partir de bases de datos existentes, generando con esto bases de datos distribuidas. En forma resumida, el diseo bottom-up de una base de datos distribuida requiere de la seleccin de un modelo de bases de datos comn para describir el esquema global de la base de datos.

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

Fragmentacin horizontal Derivada


La fragmentacin derivada horizontal se define partiendo de una fragmentacin horizontal. En esta operacin se requiere de Semi-junta (Semi-Join) el cual nos sirve para derivar las tuplas o registros de dos relaciones. Esta es la horizontal para almacen Almacensur= selct * from almacen where area= sur Almacennorte= selct * from almacen where area= Norte Esta es la horizontal derivada para producto productosur= selct producto.* from producto, almacensur, where producto.cod_almacen = almacensur.cod_alamcen productonorte= selct producto.* from producto, almacennorte where producto.cod_almacen = almacennorte.cod_alamcen Esta es la horizontal derivada para EMP2 EMP2sur= selct EMP2.* from EMP2, almacensur where EMP2.cod_almacen=almacen sur.cod_almacen EMP2norte= selct EMP2.* from EMP2, almacennorte where EMP2.cod_almacen=almacennorte.cod_almacen

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 de asignacin de fragmentos


sitio- Bogota Cali Medelln

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

Potrebbero piacerti anche