Bases de Datos Distribuidas

BASES DE DATOS DISTRIBUIDAS Materia: Bases de Datos Contenido Introducción: ..........................................

Views 164 Downloads 0 File size 822KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

BASES DE DATOS DISTRIBUIDAS Materia: Bases de Datos

Contenido Introducción: ................................................................................................................................................. 2 ¿Qué son las Bases de Datos? ................................................................................................................... 2 ¿Qué son las Bases de Datos Distribuidas?............................................................................................... 2 Desarrollo:..................................................................................................................................................... 3 Características de las Bases de Datos Distribuidas: .................................................................................. 3 Ambiente de Bases de Datos Distribuidas: ............................................................................................... 4 Componentes de las Bases de Datos Distribuidas: ................................................................................... 4 Sistema Gestor de Bases de Datos Distribuidas: ...................................................................................... 4 Tipos de Bases de Datos Distribuidas: ...................................................................................................... 5 Objetivos de las Bases de Datos Distribuidas: .......................................................................................... 6 Funciones del cliente y del servidor en las Bases de Datos Distribuidas: ................................................. 7 Ventajas y desventajas de las Bases de Datos Distribuidas: ..................................................................... 8 Tipos de almacenamiento: ........................................................................................................................ 8 Réplica ................................................................................................................................................... 8 Fragmentación ...................................................................................................................................... 9 Conclusión: .................................................................................................................................................. 10 Referencias: ................................................................................................................................................ 11

1

Introducción: ¿Qué son las Bases de Datos? Una base de datos normalmente se denomina una colección de datos y trabaja en conjunto con un SGBD (sistema gestor de bases de datos) para proporcionar una manera de almacenar y recuperar la información de una base de datos para ser práctico y eficiente. Sin embargo, no solo se trata de tener una colección de datos a las que se le puede acceder. Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. Una parte importante de los sistemas de bases de datos es su compromiso de garantizar la fiabilidad de la información almacenada, a pesar que problemas como caídas del sistema o intentos de acceso no autorizados. Debido a que la información es tan importante en la mayoría de las organizaciones, se ha desarrollado un gran cuerpo de conceptos y técnicas para la gestión de los datos. Las bases de datos también se clasifican en dos contextos: variabilidad y contenido. La variabilidad se puede dividir en estática o dinámica, dependiendo de si el dato varía o no. El contenido se divide en bibliográficos, texto completo, directorios y bibliotecas de información científica. Además, hay distintos modelos de bases de datos como jerárquicos, de red, transaccionales, relacionales, multidimensionales, orientado a objetos, documentales, deductivos y distribuidos. ¿Qué son las Bases de Datos Distribuidas? En una base de datos distribuida, se tiene una serie de bases de datos que pueden estar distribuidas geográficamente por todo el mundo. Además, se tiene un sistema de gestión de bases de datos distribuidas que se encarga de gestionar todo de manera que el conjunto aparezca como una sola base de datos para los usuarios. De manera resumida, una base de datos distribuida es una Figura 1. Bases de Datos Distribuidas colección de múltiples bases de datos interconectados que pueden estar extendidas físicamente a través de varios lugares comunicados mediante una red informática Originalmente, los datos se almacenaban de manera centralizada, pero con el tiempo las necesidades aumentaron y surgieron inconvenientes que no fueron posibles de solucionar o volver eficientes de manera centralizada. La globalización y las empresas son cada vez más descentralizadas geográficamente como también la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas. 2

Desarrollo: Características de las Bases de Datos Distribuidas: Interface de aplicación • Permite interactuar con el usuario final y con otros sistemas de administración de base de datos (DBMS) dentro de la base de datos distribuida Validación • Analizar las solicitudes de datos Transformación • Determinar qué componentes de solicitud de datos se distribuyen y cuáles son locales Optimización de consultas • Encontrar la mejor estrategia de acceso. Mapeo • Determinar la ubicación de los datos de fragmentos locales y remotos. Interface de E/S • Leer o escribir datos de o en medios de almacenamiento locales y permanentes Formateo • Presentar los datos para su representación al usuario final o un programa de aplicación Administración de datos • Para el administrador de la base de dato Seguridad • Proporcionar privacidad tanto en bases de datos locales como en remotas. Respaldo y recuperación • Garantizar la disponibilidad y recuperabilidad de la base de datos en caso de una falla Control de concurrencia

• Manejar el acceso simultáneo a los datos y para garantizar su consistencia a través de los fragmentos en el DDBMS. Manejo de transacciones • Garantizar que los datos pasen de un estado consistente a otro. Incluye la sincronización de transacciones locales y remotas, lo mismo que transacciones a través de segmentos múltiples distribuidos. Figura 2. Características de las bases de datos distribuidas 3

Ambiente de Bases de Datos Distribuidas: Se pueden dividir en homogéneas, cuando todos los sitios tienen el mismo sistema gestor de bases de datos, son conscientes de la existencia de los otros sitios y cooperan en el procesamiento de las solicitudes, y heterogéneas, donde cada sitio puede tener un sistema gestor de bases de datos distinto, así como esquemas diferentes. Las heterogéneas puede que algunos sitios no conozcan otros, puede que solo ofrezcan facilidades limitadas para la cooperación en el procesamiento de transacciones. Componentes de las Bases de Datos Distribuidas: El hardware utilizado no difiere mucho del hardware que usa un servidor normal. Al principio, se creía que si los componentes de una base de datos eran especializados serían más eficientes y rápidos, pero se comprobó que el descentralizar todo y adoptar un enfoque de “nada compartido” resultaba más barato y eficaz. Por este motivo, el hardware que compone una base de datos distribuida se reduce a servidores y la red. El software sistema manejador de bases de datos distribuidas, DDBMS, está formado por transacciones y los administradores de la base de datos distribuidas. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un único DDDBMS de una fabricante o podría consistir de una colección de programas de diferentes fuentes. El administrador de transacciones distribuidas (DTM) es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y las traduce en acciones para los administradores de la base de datos. Los DTM en sí se encargan de coordinar y controlar estas acciones, y puede ser propietario o desarrollado en casa. También se puede llamar procesador de transacciones o procesador de aplicaciones. El sistema manejador de bases de datos, DBMS, es un programa que procesa una porción de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y generales de acuerdo con los comandos recibidos de los DTM. Estaciones de trabajo como los nodos y sitios que forman el sistema de red. El sistema de BDD debe ser independiente del hardware del sistema de computadores. Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transacción ejecuta un DTM y un nodo de base de datos ejecuta un DBM.

Sistema Gestor de Bases de Datos Distribuidas: El DDBMS rige el almacenamiento y procesamiento de datos lógicamente relacionados a través de sistemas de computadores interconectadas, en las cuales tanto las funciones de datos como de procesamiento se distribuyen entre varios sitios. Debe de realizar todas las funciones de un sistema de administración de base de datos centralizado y manejar todas las funciones necesarias impuestas por la distribución de los datos y procesamiento; además, debe realizar estas funciones adicionales transparentemente 4

para el usuario. Las funciones transparentes de acceso a los datos del Sistema de Administración de Bases de Datos Distribuidas se ilustran en la figura 3. Esta figura tiene una base de datos que se compone de dos fragmentos, A1 y A2, localizados en los sitios 1 y 2, respectivamente. María puede consultar la base de datos como si fuera local, y también Tomás. Ambos usuarios ven solo una base de datos lógica y no tienen que saber los nombres de los fragmentos, ni que está dividida en dos fragmentos distintos, como tampoco la ubicación de estos. Se pueden dividir en distribuidos homogéneos, Figura 3. Sistema de administración de cuando utilizan el mismo SGBD en múltiples sitios, BD totalmente distribuido y distribuidos heterogéneos, da lugar a los SGB federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonomía local y tienen acceso a varias bases de datos autónomas preexistentes almacenados en los SGBD.

Tipos de Bases de Datos Distribuidas: Centralizada Similar al modelo cliente servidor. Está centralizada en un lugar y los usuarios están distribuidos Replicación Consiste en que cada nodo debe tener su copia completa de la base de datos Híbrida Representa la combinación de esquemas de partición y replicación. Se particiona la relación y a la vez los fragmentos están selectivamente replicados a través del sistema de bases de datos Fragmentada Consiste en que solo hay una copia de cada elemento, pero la información está distribuida a través de los nodos Figura 4. Tipo de Bases de Datos Distribuidas 5

Objetivos de las Bases de Datos Distribuidas: Independencia de sitio local Cada sitio local puede actuar como un sistema de administración de base de datos (DBMS) independiente, autónomo y centralizado. Cada sitio es responsable de la seguridad, el control de concurrencia, el respaldo y la recuperación

Independencia del sitio central Ningún sitio en la red depende de un sitio central o de cualquier otro sitio. Todos los sitios tienen las mismas capacidades.

Independencia de fallas El sistema no se ve afectado por fallas de nodos. El sistema continúa operando, incluso en el caso de una falla de nodo o de una expansión de la red.

Transparencia de ubicación El usuario ve sólo una base de datos lógica. La fragmentación de los datos es transparente para el usuario. El usuario no necesita saber la ubicación de los datos para recuperarlos.

Transparencia de fragmentación El usuario ve sólo una base de datos lógica. La fragmentación de los datos es transparente para el usuario. El usuario no necesita conocer el nombre de los fragmentos de la base de datos para recuperarlos.

Transparencia de replicación El usuario ve sólo una base de datos lógica. El DDBMS selecciona de una manera transparente el fragmento que va a acceder; además, maneja todos los fragmentos transparentemente ante el usuario.

Procesamiento de consulta distribuida Una consulta distribuida puede ser ejecutada en varios sitios diferentes de procesamiento de datos. La optimación de las consultas es realizada transparentemente por el usuario.

6

Procesamiento de transacciones distribuidas Una transacción puede actualizar datos en varios sitios diferentes. La transacción es transparente ejecutada en varios sitios diferentes de procesamiento de datos

Independencia del hardware El sistema debe funcionar en cualquier plataforma de hardware

Independencia del sistema operativo El sistema debe funcionar con cualquier plataforma de software de sistema operativo.

Independencia de red El sistema debe funcionar con cualquier plataforma de red

Independencia de la base de datos El sistema debe soportar cualquier producto de base de datos provisto por

.

cualquier proveedor

Figura 5. Objetivos de las Bases de Datos Distribuidas

Funciones del cliente y del servidor en las Bases de Datos Distribuidas: Funciones del cliente Consultar Modificar Borrar Agregar Copiar Generar la vista del usuario Seguridad

Funciones del servidor Recibe peticiones Procesa Administra Maneja diferentes nodos Interpreta Envía información Seguridad Administra la Concurrencia Mantiene la Integridad Manejo de Bases de Datos

Tabla 1. Funciones del cliente y del servidor en las bases de datos distribuidas 7

Ventajas y desventajas de las Bases de Datos Distribuidas: Ventajas Desventajas Los datos son localizados en un lugar Complejidad más cercano, resultando en acceso rápido Nuevos nodos se pueden agregar fácil y Mayor costo debido a que se requiere rápidamente una mayor mano de obra por la complejidad y la infraestructura necesaria Varios nodos intervienen en el Se vuelve difícil mantener la integridad y procesamiento de una carga de trabajo, aplicar las reglas de integridad a través resultando en un procesamiento rápido de la red puede ser muy caro en términos de transmisión de datos La comunicación entre nodos se mejora Las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados Los costos de operación se reducen Aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido. Son amigables al usuario Además de las dificultades que generalmente se encuentran al diseñar una base de datos, el diseño de una base de datos distribuida debe considerar la fragmentación, replicación y ubicación de los fragmentos en sitios específicos. La probabilidad de que una falla en un No se puede garantizar al 100 % el solo nodo afecte al sistema es baja rendimiento y la fiabilidad Autonomía e independencia entre los Dependencia de la red de nodos comunicaciones, sobrecarga de procesamiento de mensajes Interconexión confiable y flexible con las Funciones de administración compleja, bases de datos existentes sincronización y coordinación Se adapta más naturalmente a la Poca madurez de los productos estructura de las organizaciones comerciales, orientados a replicación Tabla 2. Ventajas y desventajas de las bases de datos distribuidas

Tipos de almacenamiento: Réplica El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente. Esto hace que el sistema sigua funcionando aún en caso de la caída de uno de los nodos. También varios nodos pueden realizar consultas en paralelo sobre la misma tabla; cuantas más réplicas existan de la tabla, mayor será la 8

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. Fragmentación La fragmentación facilita el proceso concurrente de las transacciones y, por lo tanto, la recuperación de información. Con el fin de realizar una fragmentación adecuada es necesario proporcionar información que ayude a realizarla. Esta información normalmente debe ser proporcionada por el usuario y tiene que ver con cuatro tipos: 1. Información sobre el significado de los datos, 2. Información sobre las aplicaciones que los usan, 3. Información acerca de la red de comunicaciones, 4. Información acerca de los sistemas de cómputo. Existen tres tipos de fragmentación: la horizontal, la vertical y la mixta. Debido a que una relación se corresponde esencialmente con una tabla y la cuestión consiste en dividirla en fragmentos menores, surgen dos métodos para llevar a cabo el proceso: división horizontal y división vertical. Sin embargo, existen otras alternativas, hablando de la fragmentación mixta o híbrida cuando el proceso de partición hace uso de los tipos anteriores. Antes de continuar con los tipos de fragmentación, se mencionarán las tres reglas que se deben de cumplir durante el proceso de fragmentación, las cuales asegurarán la ausencia de cambios semánticos en la base de datos durante el proceso. 1. Condición de completitud: La descomposición de una relación R en los fragmentos R1, R2, … R3 es completa si y solo si cada elemento de datos en R se encuentra en uno o varios fragmentos Rf. Esta propiedad se encarga de asegurar que los datos de la relación global se proyecten sobre los fragmentos sin pérdida alguna. 2. Condición de reconstrucción: si la relación R se descompone en los fragmentos, R1, R2, … R3, entonces debe existir algún operador relacional. La reconstrucción de la relación a partir de sus fragmentos asegura la preservación de las restricciones definidas sobre los datos en forma de dependencia. 3. Condición de fragmentos disjuntos: Si la relación R se descompone en los fragmentos R1, R2, … R3, y un elemento de datos está en algún fragmento, entonces no debe estar en ningún otro fragmento. Esta regla asegura que los fragmentos horizontales sean disjuntos. Si una relación R se descompone verticalmente, sus atributos primarios clave normalmente se repiten en todos sus fragmentos. Comenzando con la fragmentación horizontal, ésta se realiza sobre las tuplas de la relación. Cada fragmento será un subconjunto de las tuplas de la relación. Existen dos variantes de la fragmentación horizontal: la primaria y la derivada. La fragmentación horizontal primaria de una relación se desarrolla empleando los predicados definidos en esa relación. Por el contrario, la fragmentación horizontal derivada consiste en dividir una relación partiendo de los predicados definidos sobre alguna otra. Para poder construir una fragmentación, es importante dar información acerca de las relaciones que 9

componen las bases de datos, la cardinalidad de cada relación y las dependencias entre relaciones, como también información acerca de la aplicación que utiliza la base de datos. La fragmentación vertical también se divide en subconjuntos, y esos fragmentos se definen a través de una operación de proyección. Cada fragmento debe incluir la clave primaria de la tabla como también los atributos de R. El objetivo de la fragmentación vertical es particionar una relación en un conjunto de relaciones más pequeñas de manera que varias de las aplicaciones de usuario se ejecutarán sobre un fragmento. En este contexto, una fragmentación óptima es aquella que produce un esquema de fragmentación que minimiza el tiempo de ejecución de las consultas de usuario. Esta fragmentación se ha estudiado dentro del contexto de los sistemas de manejo de bases de datos centralizados como una herramienta de diseño, la cual permite que las consultas de usuario traten con relaciones más pequeñas haciendo, por tanto, un número menor de accesos a páginas. Es más complicado que el particionamiento horizontal, ya que existe un gran número de alternativas para realizarla. Por lo tanto, se utilizan heurísticas para hacer el particionamiento. La fragmentación híbrida o mixta es la forma de más simple de construir fragmentación mixta, aplicando fragmentación horizontal a fragmentos verticales, o aplicar fragmentación vertical a fragmentos horizontales. Aunque se pueden generar árboles de fragmentación muy complejos, normalmente debe ser suficiente con dos niveles. La segunda fragmentación puede ser aplicada a subconjuntos de fragmentos producidos por la primera. Por ejemplo, la fragmentación horizontal se aplica a un solo fragmentos producido por la fragmentación vertical y la fragmentación vertical se aplica a un solo fragmento producido por la fragmentación horizontal. Conclusión: Las bases de datos distribuidas ofrecen ventajas sobre las bases de datos centralizadas, por lo que muchas empresas se han estado cambiando a ellas. Las empresas se están diversificando para reducir las pérdidas ya que, si ocurre una falla en un área de distribución, toda la base de datos no experimenta un retroceso. Son útiles también porque al momento de agregar una nueva ubicación a un negocio, es más simple crear un nodo adicional dentro de la base de datos, volviendo la distribución escalable. Por estos motivos y todas las ventajas mencionadas a lo largo de esta investigación, las organizaciones que tienen numerosas oficinas en distintas ubicaciones geográficas suelen utilizar bases de datos distribuidas. En la vida real, una sucursal interactúa únicamente con los datos que les pertenecen a sus propias operaciones, volviendo los datos generales de la empresa innecesarias. Sin embargo, existe una necesidad de cualquier información central de las sucursales y a la vez, la oficina central de la empresa todavía debe tener un flujo constante de información desde cada ubicación. La solución a este problema es una base de datos distribuida. Una base de datos se divide en el 10

hardware, el software, el administrador de transacciones distribuidas, el sistema manejador de bases de datos y estaciones de trabajo. También son importantes los tipos de bases de datos distribuidas que existen ya que no cualquier base de datos distribuidas es igual. Tienen muchas ventajas las bases de datos distribuidas, pero como se pudo observar en esta investigación, se requiere mucho estudio y conocimiento. Esto se debe a muchos factores, pero la fragmentación es uno de los más interesantes de estudiar. Referencias: Tema 1.2 Características De Las Bases De Datos Distribuidas, Instituto Consorcio Clavijero, https://cursos.clavijero.edu.mx/cursos/080_bdd/modulo1/contenidos/tema1.2.html. “Tema 1.1 Definición De Las Bases De Datos Distribuidas”. Instituto Consorcio Clavijero, https://cursos.clavijero.edu.mx/cursos/080_bdd/modulo1/contenidos/tema1.1.html “Bases De Datos https://www.ecured.cu/Bases_de_datos_distribuidas.

Distribuidas.” EcuRed,

Abreus, Yisel. (2006). Tipos de Fragmentación en bases de datos distribudias. Ingeniería Industrial. 27. Toledo, Vicente, and Israel Miralles. “Bases De Datos Distribuidas.” Iessanvicente.com, https://iessanvicente.com/colaboraciones/BBDDdistribuidas.pdf. “Fragmentación de tablas en bases de datos distribuidas.” Repositorio, Universidad Técnica Del Norte, https://www.google.com/search?q=repositorio. utn&oq=repositorio. utn&aqs=chrome..69i57j0l3j69i60l2.5549j1j7&sourceid=chrome&ie=UTF-8.

11