Trabajo Base de Datos Distribuidas

“Año de la Integración Nacional y el Reconocimiento de Nuestra Diversidad” Tema: Base De Datos Distribuidas Profesor: F

Views 162 Downloads 2 File size 644KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

“Año de la Integración Nacional y el Reconocimiento de Nuestra Diversidad” Tema: Base De Datos Distribuidas

Profesor: Fredy Rivera Montero

Alumnos: Calle Quintero William Arroyo Espinoza Rudy Agurto Sanchez Cristhian

INDICE 1.-¿Que son Bases de Datos Distribuidas? -Comparación 2.-Arquitectura de las Bases de Datos -Ejemplo de una Base de Datos Distribuidas 3.-Tipos de almacenamiento 1-Replica 2-Fragmentación 2.1.Fragmentación Horizontal 2.2.Fragmentación Vertical 2.3.Fragmentación Mixta 3.-Replica y Fragmentación 4.-Niveles de Transparencia en una Base de Datos Distribuida 5.-Las Doce Reglas Autonomía local. No dependencia de un sitio central. Operación continua.

Independencia con respecto a la localización. Independencia con respecto a la fragmentación. Independencia de réplica. Procesamiento distribuido de consultas. Manejo distribuido de transacciones. Independencia con respecto al equipo. Independencia con respecto al sistema operativo. Independencia con respecto a la red. Independencia con respecto al DBMS.

6.-Procesamiento Distribuido de Consultas

7.-Recuperación

8.-Ventajas y Desventajas

9.-Conclusiones

10.-Bibliografía

Bases de Datos Distribuidas

¿Que son Bases de Datos Distribuidas? Son un grupo de datos que pertenecen a un sistema pero a su vez esta reapartido entre ordenadores de una misma red, ya sea a nivel local o cada uno en una diferente localización geográfica, cada sitio en la red es autónomo en sus capacidades de procesamiento y es capaz de realizar operaciones locales y en cada uno de estos ordenadores debe estar ejecutándose una aplicación a nivel global que permita la consulta de todos los datos como si se tratase de uno solo. El sistema software que permite gestionar la base de datos distribuida y hace que dicha distribución sea transparente para los usuarios. Un sistema gestor de bases de datos distribuidas (SGBDD) está compuesto por una única base de datos lógica dividida en una serie de fragmentos. Cada fragmento se almacena en una o más computadoras bajo el control de un SGBD independiente, estando dichas computadoras conectadas mediante una red de comunicaciones

•Los usuarios acceden a la base de datos distribuida a través de una serie de aplicaciones: •Aplicaciones locales: aquellas que no requieren datos de otras instalaciones. •Aplicaciones globales: aquellas que si requieren datos de esas otras instalaciones .

Para tener una base de datos distribuida debe cumplirse las condiciones de una Red Computacional. Una red de comunicación provee las capacidades para que un proceso ejecutándose en un sitio de la red envie y reciba mensajes de otro proceso ejecutándose en un sitio distinto. Parámetros a considerar incluyen: Retraso en la entrega de mensajes, Costo de transmisión de un mensaje y Confiabilidad de la red. Diferentes tipos de redes: point-to-point, broadcast, lan, wan.

Arquitectura de las Bases de Datos Integración lógica por medio de diseño top-down (DistDB)

Integración Lógica Por Medio De Bottom-Up (Multidatabase)

como si la bd no fuera distribuida. Consiste de una definición de relaciones globales. Fragmentation Schema: Traducción entre relaciones globales y fragmentos. (Una relación global puede consistir de varios fragmentos pero un fragmento está asociado con sólo una relación global) Allocation Schema: Define el sitio (o sitios) en el cual un fragmennto está localizado. Local Maping Schema: Traduce los fragamentos locales a los objetos que son manejados por el SMBD local Separación entre fragmentación y localización. -Transparencia de Fragmentación -Transparencia de Localización -Control explícito de redundancia -Independencia De BD Locales

Ejemplo de una Base de Datos Distribuidas

Tipos de almacenamiento 1-Replica El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente. Ventajas: Disponibilidad: El sistema sigue funcionando aún en caso de caída de uno de los nodos. Aumento del paralelismo: Varios nodos pueden realizar consultas en paralelo sobre la misma tabla. Cuantas más réplicas existan de la tabla, mayor serála posibilidad de que el dato buscado se encuentre en el nodo desde el que se realiza la consulta, minimizando con ello el tráfico de datos entre nodos. Inconveniente: Aumento de la sobrecarga en las actualizaciones: El sistema debe asegurar que todas las réplicas de la tabla sean consistentes. Cuandose realiza una actualización sobre una de las réplicas, los cambios deben propagarse a todas las réplicas de dicha tabla a lo largo del sistema distribuido.

2.-Fragmentación Reglas para fragmentar 1- Completitud. Si una instancia R de una relación se descompone en fragmentos R1,R2,…,Rn, cada elemento de datos que aparezca en R debe aparecer al menos en un fragmento. Esta regla es necesaria para garantizar que no haya pérdida de datos durante la fragmentación. 2- Reconstrucción. Debe ser posible definir una operación relacional que permita reconstruir la relación R a partir de los fragmentos. Esta regla garantiza que se preserven las dependencias funcionales. 3- Disyunción. Si un elemento de datos di aparece en el fragmento Ri, no debe aparecer en ningún otro fragmento. La fragmentación vertical es la excepción a esta regla, ya que los atributos de clave principal deberán estar repetidos para permitir la reconstrucción de la relación. Esta regla garantiza una redundancia mínima de datos. El elemento de datos es: la tupla para la fragmentación horizontal y atributos para la fragmentación vertical.

Existen tres tipos de fragmentación la horizontal, la vertical y la mixta

1.-Fragmentación Horizontal Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección y su reconstrucción se realizará con una operación de unión de los fragmentos componentes.

Cada fragmento se sitúa en un nodo. Pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.

Ejemplo: Tabla inicial de alumnos

2.-Fragmentación Vertical Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de proyección. Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes, pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.

3.-Fragmentación Mixta Como el mismo nombre indica es una combinación de las dos anteriores vistas he aquí un ejemplo apartir de una tabla fragmentada horizontalmente.

3.-Replica y Fragmentación Las técnicas de réplica y fragmentación se pueden aplicar sucesivamente a la misma relación de partida. Un fragmento se puede replicar y a su vez esa réplica ser fragmentada, para luego replicar alguno de esos fragmentos.

4.-Niveles de Transparencia en una Base de Datos Distribuida

El propósito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información.

La transparencia se define como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sistema y a otros usuarios.

El sistema de bases de datos distribuido permite proporcionar independencia de los datos.

La independencia de datos se puede dar en dos aspectos: lógica y física.

.1Independencia lógica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos. Esto permite que un cambio en la definición de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relación, la creación de una nueva relación, el reordenamiento lógico de algunos atributos.

.2Independencia física de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. la descripción física de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser

movidos de un disco a otro, o la organización de los datos puede cambiar.

La transparencia al nivel de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas: .1Transparencia sobre la localización de datos. el comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo. Por ejemplo, en Unix existen dos comandos para hacer una copia de archivo. Cp se utiliza para copias locales y rcp se utiliza para copias remotas. En este caso no existe transparencia sobre la localización. .2Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido. Así, no se debe mezclar la información de la localización con en el nombre de un objeto.

La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que cuando el usuario se encarga de manejar las réplicas en un sistema, el trabajo de éste es mínimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las réplicas teniendo así datos diferentes. La transparencia a nivel de fragmentación de datos permite que cuando los objetos de la bases de datos están fragmentados, el sistema tiene que manejar la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente. consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.

5.-Las doce reglas 1. Autonomía Local. Los sitios de un sistema distribuido deben ser autónomos . La autonomía local significa que todas las operaciones en un sitio dado se controlan en ese sitio; ningún sitio X deberá depender de algún otro sitio Y para su buen funcionamiento (pues de otra manera el sitio X podría ser incapaz de trabajar, aunque no tenga en sí problema alguno, si cae el sitio Y, situación a todas luces indeseable). La autonomía local implica también un propietario y una administración locales de los datos, con responsabilidad local : todos los datos pertenecen " en realidad" a una base de datos local, aunque sean accesibles desde algún sitio remoto. Por tanto, las cuestiones de seguridad, integridad y representación en almacenamiento de los datos locales permanecen bajo el control de la instalación local. 2. No dependencia de un sitio central. La autonomía local implica que todos los sitios deben tratarse igual; no debe haber dependencia de un sitio central "maestro" para obtener un servicio central, como por ejemplo un procesamiento centralizado de las consultas o una administración centralizada de las transacciones, de modo que todo el sistema dependa de ese sitio central. Este segundo objetivo es por tanto un corolario del primero ( si se logra el primero, se logrará pro fuerza el segundo ) . Pero la "no dependencia de un sitio central" es deseable por sí misma, aun si no se logra la autonomía local completa. Por ello vale la pena expresarlo como un objetivo separado. La dependencia de un sitio central sería indeseable al menos por las siguientes razones : en primer lugar, ese sitio central podrí ser un cuello de botella; en segundo lugar, el sistema sería vulnerable ; si el sitio central sufriera un desperfecto, todo el sistema dejaría de funcionar.

3. Operación continua. En un sistema distribuido, lo mismo que en uno no distribuido, idealmente nunca debería haber necesidad de apagar a propósito el sistema . Es decir, el sistema nunca debería necesitar apagarse para que se pueda realizar alguna función, como añadirse un nuevo sitio o instalar una versión mejorada del DBMS en un sitio ya existente. 4. Independencia con respecto a la localización. La idea básica de la independencia con respecto a la localización (también conocida como transparencia de localización) es simple : no debe ser necesario que los usuarios sepan dónde están almacenados físicamente los datos, sino que más bien deben poder comportarse - al menos desde un punto de vista lógico - como si todos los datos estuvieran almacenados en su propio

sitio local. La independencia con respecto a la localización es deseable porque simplifica los programas de los usuarios y sus actividades en la terminal. En particular, hace posible la migración de datos de un sitio a otro sin anular la validez de ninguno de esos programas o actividades. Esta posibilidad de migración es deseable pues permite modificar la distribución de los datos dentro de la red en respuesta a cambios en los requerimientos de desempeño. 5. Independencia con respecto a la fragmentación. Un sistema maneja fragmentación de los datos si es posible dividir una relación en partes o "fragmentos" para propósitos de almacenamiento físico. La fragmentación es deseable por razones de desempeño: los datos pueden almacenarse en la localidad donde se utilizan con mayor frecuencia, de manera que la mayor parte de las operaciones sean sólo locales y se reduzca al tráfico en la red. Por ejemplo, la relación empleados EMP podría fragmentarse de manera que los registros de los empleados de Nueva York se almacenen en el sitio de Nueva York, en tanto que los registros de los empleados de Londres se almacenan en el sitio de Londres. Existen en esencia dos clases de fragmentación, horizontal y vertical, correspondientes a las operaciones relacionales de restricción y proyección; respectivamente. En términos más generales, un fragmento puede ser cualquier subrelación arbitraria que pueda derivarse de la relación original mediante operaciones de restricción y proyección ( excepto que, en el caso de la proyección es obvio que las proyecciones deben conservar la clave primaria de la relación original ). La reconstrucción de la relación original a partir de los fragmentos se hace mediante operaciones de reunión y unión apropiadas ( reunión en el caso de fragmentación vertical, y la unión en casos de fragmentación horizontal ).

Ahora llegamos a un punto principal: un sistema que maneja la fragmentación de los datos deberá ofrecer también una independencia con respecto a la fragmentación (llamada también transparencia de fragmentación). La independencia con respecto a la fragmentación ( al igual que la independencia

con respecto a la independencia con respecto a la localización) es deseable porque simplifica los programas de los usuarios y sus actividades en la terminal. 6. Independencia de réplica. Un sistema maneja réplica de datos si una relación dada (ó en términos más generales, un fragmento dado en una relación) se puede representar en el nivel físico mediante varias copias almacenadas o réplicas , en muchos sitios distintos.

La réplica es deseable al menos por dos razones : en primer lugar, puede producir un mejor desempeño (las aplicaciones pueden operar sobre copias locales en vez de tener que comunicarse con sitios remotos) ; en segundo lugar, también puede significar una mejor disponibilidad (un objeto estará disponible para su procesamiento en tanto esté disponible por lo menos una copia, al menos para propósitos de recuperación). La desventaja principal de las réplicas es desde luego que cuando se pone al día un cierto objeto copiado, deben ponerse al día todas las réplicas de ese objeto : el problema de la propagación de actualizaciones. La réplica como la fragmentación, debe ser "transparente para el usuario". En otras palabras , un sistema que maneja la réplica de los datos deberá ofrecer también una independencia de réplica (conocida también como transparencia de réplica); es decir, los usuarios deberán poder comportarse como si sólo existiera una copia de los datos. La independencia de réplica es buena porque simplifica los programas de los usuarios y sus actividades en la terminal. En particular, permite la creación y eliminación dinámicas de las réplicas en cualquier momento en respuesta a cambios en los requerimientos, sin anular la validez de esos programas o actividades de los usuarios.

7. Procesamiento distribuido de consultas. En este aspecto debemos mencionar dos puntos amplios. Primero consideremos la consulta "obtener los proveedores de partes rojas en Londres". Supongamos que el usuario está en la instalación de Nueva York y los datos están en el sitio de Londres. Supongamos también que son n