BASE DE DATOS DISTRIBUIDAS

25,842 views
25,532 views

Published on

BASE DE DATOS DISTRIBUIDAS

Published in: Technology
3 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total views
25,842
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
996
Comments
3
Likes
4
Embeds 0
No embeds

No notes for slide

BASE DE DATOS DISTRIBUIDAS

  1. 1. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ 2010 BASE DE DATOS DISTRIBUIDAS BASE DE DATOS Son aquellos fragmentos que se encuentran almacenados en lugares distintos. Estos sitios constan con una computadora y una DBMS (Sistema de gestión de base de datos), para administrar la base local situada conectándose entre sí aquellos fragmentos de una base distribuida por medio de una red de comunicación. JORGE LUIS NARVAEZ NUÑEZ 6TO SEMESTRE ING. SISTEMAS UNIVERSIDAD ESTATAL DE MILAGRO Personal 6TO ING. SISTEMAS UNEMI
  2. 2. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ BASE DE DATOS DISTRIBUIDAS En el mundo actual, diversos tipos de personas, en varios lugares a nivel mundial, querrán compartir un gran base de datos, estas empresas que tienen la finalidad de garantizar el compartimiento de los archivos de los usuarios optan por dividir esta base de datos en unas más pequeñas denominados fragmentos, los cuales se pueden colocar en distintas ubicaciones. Entonces llamamos base de datos distribuidas a los fragmentos que se encuentran almacenados en lugares distintos. Estos sitios constan con una computadora y una DBMS (Sistema de gestión de base de datos), para administrar la base local situada conectándose entre sí aquellos fragmentos de una base distribuida por medio de una red de comunicación. Al momento de surgir una petición de consulta de cualquier sitio, el administrador general de la base de datos, analiza esta petición y determina qué tipo de base de datos distribuidas (fragmentos) se puede necesitar. Las bases de datos locales pueden conectarse físicamente de diversas formas:  Red totalmente conectada  Red prácticamente conectada  Red con estructura de árbol  Red de estrella  Red de anillo Las principales diferencias entre estos tipos de configuraciones podemos tener lo siguiente:  Costo de la instalación: El costo de conectar físicamente las localidades del sistema  Costo de la comunicación: El costo del tiempo y el dinero que interviene en enviar un mensaje desde una localidad a otra.  Fiabilidad: La frecuencia con que falla una línea de comunicación o una localidad.  Disponibilidad: La posibilidad de acceder a la información a pesar que podrían existir los fallos en algunas localidades o líneas de comunicación. Se han llegado a necesitar y desarrollar diversas implantaciones:  SDD-1 (Sistema para la distribución de base de datos) de la corporación americana: sistemas relacionales en distintos lugares conectados por medio de las redes de comunicación  IMS / MSC (Sistema de gestión de la información / Múltiples sistemas de acoplamiento) de IMB: el MSC permite la intercomunicación de dos o más sistemas de base de datos de IMS  CICS / ISC (Sistema del control de la información del cliente / Sistema de comunicación Internacional) de IBM: ISC conecta dos o más sistemas CICS Construcción de una base de datos distribuidos  Base distribuida particionada: una base de datos global se divide en tres partes (A, B, C), donde cada una de las bases se almacena en lugares diferentes. 6TO ING. SISTEMAS UNEMI
  3. 3. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ  Base de datos multiplicada y distribuida: las bases de datos se duplican en cada sitio, con el objetivo de reducir costos de comunicación y aumentar el desempeño del sistema, eliminando la necesidad de la transmisión de datos en las diferentes ubicaciones. Este sistema es raro por su costo de las replicas de sus bases y el proceso de la actualización de los datos  Distribución de la base de datos combinando replicas y particiones: en la actualidad este tipo de distribución se emplea con mayor frecuencia. El archivo se divide basándose en el patrón que usa, es decir los datos se guardan en los lugares donde puede ser accesado con más frecuencia, pero si requiere un dato en más de un sitio, este fragmento puede estar almacenado en cada uno de estos sitios. Los usuarios que utilizan este tipo de sistema no necesitan saber que el almacenamiento se encuentra distribuido en distintos sitios, o que algunos de estos fragmentos se encuentran repetidos en algunos sitios. El objetivo principal de este tipo de distribución es proteger a los programas de cualquier tipo de cambio cuando los fragmentos se mueven de un lugar a otro, todo este tipo de procedimientos se los llama transparencia de la ubicación y transparencia de la réplica. Ventajas de las bases de datos distribuidas  Compartimiento de datos: los usuarios de una base pueden tener acceso a los datos de otra base. Por ejemplo desde una oficina de una empresa matriz en el caso del gerente puede tener acceso a los datos de todos sus trabajadores y de otros también en una empresa sucursal de la misma. 6TO ING. SISTEMAS UNEMI
  4. 4. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ PLANTA A ALMACEN PLANTA B PLANTA C  Autonomía: existe un administrador del sistema responsable del nivel de seguridad global cada base tiene un cierto grado de control, en cada base hay otro administrador local que puede tener a llegar un cierto nivel de autonomía diferente  Disponibilidad: si en sistema de base de datos distribuidos llega a fallar un fragmento los otros fragmentos pueden seguir funcionando. Los datos también pueden llegar a duplicarse en los fragmento llegando a encontrar los datos con más facilidad. El sistema debe detectar el fallo y tomar medidas necesarias para reparar el fallo, en este momento el sistema no debe utilizar la base dañada, una vez arreglado el fallo debe necesitar un mecanismo para integrarla al sistema de nuevo, pero con menos complicaciones. Desventajas de las bases de datos distribuidas  Costo del desarrollo del software: sistema complejo para mantener la coordinación y estabilidad entre los fragmentos provoca que este desarrollo sea costoso  Mayor probabilidad de errores: como las bases locales funcionan en paralelo, es más difícil asegurar el funcionamiento correcto y los procedimientos de recuperación de fallos del sistema.  Mayor sobrecarga de procesamiento: el intercambio de archivos, mensajes y la ejecución de algoritmos que constituyen el funcionamiento de las bases locales da como resultado una sobrecarga que no se da en los sistemas centralizados.  Actualización de los datos duplicados: algunos datos pueden estar duplicados en varios sitios, por lo tanto este tipo de actualización se debe llegar a cabo en todos los lugares que exista datos duplicados  Transparencia de ubicación: la mayoría de este tipo de sistemas no alcanzan su completa transferencia de su ubicación, por lo tanto requieren de la ayuda del usuario, transfiriendo archivos para su procesamiento local.  Optimización de los procesos de consulta: cuando existe una consulta en un sistema distribuido, existe muchas manera de que esta consulta se divida en subpreguntas para recuperar los datos en las diferentes bases locales, este tiempo varía dependiendo de la ruta donde este el procedimiento Diseño de la base de datos distribuidas El diseño de un sistema de base de datos distribuido implica la toma de decisiones sobre la ubicación de los programas que accederán a la base de datos y sobre los propios datos que constituyen a esta base. La ubicación de los programas que accedieron a la base no debería tener un excesivo problema porque se puede tener una copia de ellos en cada máquina de la red. Tradicionalmente se ha clasificado a los sistemas de bases de datos distribuidos en tres dimensiones: el nivel de compartición, las características de acceso a los datos y el nivel de conocimiento de las características de acceso. 6TO ING. SISTEMAS UNEMI
  5. 5. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ Transparencia y autonomía Es importante que el sistema reduzca al mínimo la necesidad de que el usuario se dé cuenta de cómo está almacenada una relación. El sistema puede ocultar los detalles de la información en la red. Esto se denomina transparencia de la red. La transparencia de la red se relaciona con la autonomía local. La transparencia de la red es el método por el cual los usuarios del sistema pueden ignorar los detalles del diseño distribuido. La autonomía local es el método por el cual el diseñador o administrador de una localidad pueden ser independientes del resto del sistema distribuido.  Nombre de los datos.  Repetición de los datos.  Fragmentación de los datos.  Localización de las bases locales y sus copias. Almacenamiento distribuido de datos  Replica: el sistema consiste en varias copias iguales, donde cada copia se guarda en una base diferente, lo que significa la réplica de los datos.  Disponibilidad  Distribución de la base de datos combinando replicas y particiones  Actualización de los datos duplicados  Fragmentación de datos: si una base se encuentra fragmentada, esta base se dividirá en numerosos fragmentos. Los fragmentos contienen suficiente información para permitir la reconstrucción de la base original.  Fragmentación horizontal: divide la base asignando a cada división a uno o varios fragmentos.  Fragmentación vertical: divide la base de un modo especial, igual que una descomposición, implica el concepto de varios subconjuntos.  Fragmentación mixta: la base se divide por medio de una serie de relaciones de fragmentos, donde cada fragmento tiene como resultado los procedimientos de las fragmentaciones horizontales y mixtas  Replica y fragmentación de datos: la réplica y fragmentación de datos se puede aplicar de manera continua, es decir de una pequeña división que anteriormente se ha fragmentado también se puede hacer una réplica y estos fragmentos también se pueden volver a fragmentar. Transparencia de la red Los datos se pueden guardar de muchas maneras en el sistema de bases distribuidas, pero también es de suma importancia que este sistema disminuya cualquier información que los usuarios necesitan saber cómo se guarda el dato en la base. Entonces el sistema pude ocultar este tipo de detalle de la distribución de los datos en la red a esto se lo llama transparencia de red:  Denominación de los elementos de datos: todos los elementos de los datos, las divisiones, y las copias de las bases, deben tener nombres únicos, pero en este tipo de sistemas hay que asegurarse de que dos procedimientos no utilicen el mismo nombre para distintos elementos de datos. Cada copia y cada fragmento de un elemento deben tener también un nombre único, es muy importante diferenciar cuales copias y fragmentos de las bases del mismo elemento.  Transparencia y actualizaciones: es muy importante asegurar que todas las copias de un elemento o una base y que todas sus fragmentaciones se actualicen constantemente, pero también puede que exista muchos problemas si hay constantemente acceso a alguna base en especifica, lo que da lugar a que se actualice una base antes que otra. Transparencia de localización Si el sistema es transparente en cuanto a la repetición y fragmentación de las bases donde se ocultará al usuario gran parte del esquema de la base de datos distribuida. Sin embargo, el componente de los nombres que identifican a la base obliga al usuario a darse cuenta del hecho de que el sistema está distribuido. 6TO ING. SISTEMAS UNEMI
  6. 6. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ La transparencia de localización se logra creando un conjunto de claves o alias para cada usuario. Así, el usuario puede referirse a los datos usando nombres sencillos que el sistema los traduce a nombres completos. Con el uso de los alias, no será necesario que el usuario conozca la localización física de un dato. Además, el administrador de la base de datos puede cambiar un dato de una base a otra sin afectar a los usuarios. Modelo de transacciones distribuidas El acceso a los diferentes elementos de las bases en los sistemas de bases distribuidas se puede realizar mediante transacciones donde se debe conservar las propiedades ACID ( conjunto de características que se necesitan para que una serie de instrucciones puedan ser consideradas como transacciones ) Hay que tener en cuenta dos tipos de transacciones.  Transacciones locales: tienen total acceso y actualización de datos en una sola de las bases locales  Transacciones globales: tienen total acceso y actualización en varias bases de datos en varias bases de datos locales  Arquitectura del sistema: Cada procedimiento tiene su propio gestor de transacciones locales, cuya función es asegurar las propiedades ACID, los diferentes gestores de transacciones ayudan para la ejecución de las transacciones globales, por lo tanto cada procedimiento del sistema contiene en si dos subsistemas:  Gestor de transacciones: gestiona la ejecución de las transacciones que tienen el total acceso a los datos guardados en la base local, pero tomando en cuenta que las transacciones de este tipo solo pueden ser locales.  El coordinador de transacciones: coordina la ejecución de las diferentes transacciones tanto locales como globales. Cada gestor de transacciones es responsable de conservar un registro con la finalidad de poder recuperar información en caso de emergencia.  Modos de fallos del sistema: los sistemas de bases de datos distribuidos pueden tener los mismos fallos que los sistemas de base de datos centralizados, por ejemplo: errores de software, hardware, o fallos graves del disco, pero existen otros fallos muy importantes en este tipo de sistema.  Fallos de un procedimiento  Perdida de mensajes: es muy usual en este tipo de sistemas distribuidos, utilizan protocolos de control de la transmisión, como TCP/IP.  Fallos de un enlace de comunicaciones  División de la red 6TO ING. SISTEMAS UNEMI
  7. 7. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ Robustez de las bases de datos distribuidas Para que este tipo de sistema sea robusto debe primeramente detectar los fallos, volver a su configuración del sistema para que pueda recuperarse el enlace. Los diferentes tipos de errores se tratan cada uno de manera diferente.  La perdida de mensaje se trata mediante la retransmisión  La retransmisión de un mensaje se trata por medio de un enlace El sistema puede que detecte que se ha producido un tipo de fallo, pero no será posible determinar el tipo de fallo y si estaban activadas las transacciones en las bases averiadas en el momento del error, hay que abortarlas, es decir es necesario que aborten este tipo de transacciones lo antes posible, porque pueden que exista bloqueos sobre las bases que sigan activos. Si la base que se encuentra averiada es el servidor central de alguna base local, se debe hacer un tipo se elección para determinar el nuevo servidor, pero la reincorporación de una nuevas base al sistema requiere que se tome precauciones. Cuando se recupera una base averiada, se debe realizar una serie de procedimientos para actualizar la base y mostrar los cambios realizados mientras estaba inactiva, y si la base tenia copias de algunos de los elementos, deberá obtener los valores actualizados de dichos datos, y sobre todo asegurarse que recibirá las actualizaciones posteriores. La reincorporación de base puede llegar a ser muy complicado, una solución para reincorporación de la base es detener temporalmente todo el sistema, mientras se arregla el error, pero una detención temporal del sistema puede llegar a ocasionar problemas, por tal motivo se han desarrollado técnicas que permitan que las bases averiadas se reincorporen mientras se actualiza los datos correspondientes. 6TO ING. SISTEMAS UNEMI
  8. 8. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ FUENTES DE INFORMACIÓN  Sistemas de base de datos, administración y uso Alice Y. H.  Fundamentos de base de datos Tercera edición Abraham Silberschatz, Henry F. Korth, S. Sudarshan  http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas  http://www.slideshare.net/jguerra42/base-de-datos-distribuidas-presentation 6TO ING. SISTEMAS UNEMI

×