viernes, 24 de agosto de 2018

1.1 CONCEPTOS BÁSICOS

Las Bases de Datos Distribuidas (BDD) son la unión de dos conceptos que, en principio, pueden parecer opuestos: los Sistemas Gestores de Bases de Datos (SGBD), y por otro lado, los sistemas en red. La primera parte, los SGDB, son sistemas, con sus correspondientes aplicaciones y archivos, de gestión y almacenamiento de datos que están disponibles en un solo lugar. Bajo estos sistemas se implantan programas independientes entre sí, los cuales son totalmente indiferentes a cambios en la organización lógica y física de los datos y viceversa. La tecnología de redes de computadores, por otra parte, promueve un modo de trabajo que va en contra de todo esfuerzo de centralización. 

  • Base de Datos (BD)
Una base de datos es un conjunto de datos relacionados entre sí. Por datos se entienden hechos conocidos que pueden registrarse y que tienen un significado implícito. Por ejemplo, considérense los nombres y números de teléfonos de personas. Tal vez estos datos estén registrados en una libreta de direcciones indexada, o quizá en un disquete, utilizando un ordenador y un software. Se trata de un conjunto de datos relacionados entre sí y que tienen un significado implícito; por tanto, constituyen una base de datos. La definición anterior es muy general pero la aceptación común del término base de datos suele ser más restringida. Una BD tiene las siguientes propiedades implícitas
  •  Una BD representa algún aspecto del mundo real, en ocasiones llamado universo del discurso. Las modificaciones del universo del discurso se reflejan en la BD.
  •  Una BD es un conjunto de datos lógicamente coherente, con cierto significado incoherente. Una colección aleatoria de datos no puede considerarse propiamente una BD.
  • Toda BD se diseña, construye y puebla con datos para un propósito específico. Está dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan a dichos usuarios. 

En otras palabras, una BD tiene una fuente de la cual se derivan los datos, cierto grado de interacción con los acontecimientos del mundo real y un público que está activamente interesado en el contenido de la BD. Las BBDD pueden ser de cualquier tamaño y tener diversos grados de complejidad, pero deben organizarse y controlarse para que los usuarios puedan buscar, obtener y actualizar los datos cuando sea necesario.

  • Sistema de Gestión de BD (SGBD)
Un SGBD es un conjunto de programas que permite a los usuarios crear y mantener una BD. Por tanto, el SGBD es un sistema de software de propósito general que facilita el proceso de definir; construir y manipular BBDD para diversas aplicaciones. Par definir una BD hay que especificar los tipos de datos, las estructuras y las restricciones de los datos que se almacenarán en ella. Construir una BD es el proceso de guardar los datos mismos en algún medio de almacenamiento controlado por el SGBD.
En la manipulación de una BD intervienen funciones como consultar la BD para obtener datos específicos, actualizar la BD para reflejar cambios en el minimundo y generar informes a partir de los datos.
No es necesario un software de SGBD de propósito general para implementar una BD computarizada. Se podría escribir un conjunto de programas propio para crear y mantener la BD.

  • Sistema de Computación Distribuido.
Es un número de elementos de procesamiento (no necesariamente homogéneos) que están interconectados por una red de computadoras y que cooperan para realizar las tareas que tienen asignadas.

  • Bases de Datos Distribuidas.
Una Base de Datos Distribuida o BDD es una colección de datos integrados lógicamente en una BD, pero que físicamente pueden ser procesados y almacenados en varios nodos distribuidos sobre una red de ordenadores.

  • Sistema de Gestión de Bases de Datos Distribuido (SGBDD).
Un SGBDD es un producto software que permite el manejo de Bases de Datos Distribuidas (BDD) y hace la distribución transparente a los usuarios. 

1.2 CARACTERISTICAS DE LA BDD

  • Los datos deben estar físicamente en más de un ordenador, es decir, los datos se encuentran almacenados en distintas sedes.
  • Las sedes deben estar interconectadas mediante una red de computadoras (cada sede será un nodo de la red). Para realizar el diseño no se tendrá en cuenta la topología, tipo y rendimiento de la red, aunque estas propiedades tengan relevancia en el buen funcionamiento del sistema.
  • Los datos han de estar lógicamente integrados en una única estructura o esquema lógico global común.
  • Los usuarios han de tener acceso (recuperación y actualización) a los datos pertenecientes a la BDD, ya residan éstos en la misma sede (acceso local) o en otra sede (acceso remoto).
  • Cada nodo o emplazamiento facilita un entorno para la ejecución de transacciones tanto locales como globales.
  •  En una única operación, tanto de consulta como de actualización, se puede acceder a datos que se encuentran en más de una sede sin que el usuario sepa la distribución de los mismos en las distintas sedes. Es decir, que la distribución de la información sea transparente para el usuario.




1.3 VENTAJAS DE LAS BDD

1.- Compartir información y control  sobre los datos.
2.- Disponibilidad de la información.
3.- Permite romper barreras geográficas.
4.- Modularidad, se pueden modificar, agregar o quitar sistemas de bases de datos distribuidas sin afectar  a los demás sistemas (módulos).
5.- Un fallo en una parte del sistema solo afectara  a un fragmento, en lugar de a toda la base de datos.

1.4 DESVENTAJAS DE LAS BDD

  1. Complejidad del sistema, desarrollo de software más costoso, problemas de sincronización, dificultad para conocer la corrección de los algoritmos paralelos, detección de caídas de nodos.
  2. Dependencia de la red de comunicaciones, sobrecarga de procesamiento de mensajes.
  3. Dificultad de diseño y fases adicionales.
  4. Poca madurez de los productos comerciales, orientados a replicación.
  5. Funciones de administración compleja, sincronización y coordinación.
  6. Dificultad de cambio, inexistencia de metodologías.
















1.5 SISTEMAS GESTORES DE BASES DE DATOS DISTRIBUIDAS (SGBDD)


Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto; los SGBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y recuperar la información si el sistema se corrompe.

El inicio de las bases de datos distribuidas

Originalmente se almacenaba la información de manera centralizada, pero con el paso del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no era posible solucionarlos o volverlos eficientes de la forma centralizada. Estos problemas impulsaron la creación de almacenamiento distribuido, los cuales hoy en día proveen características indispensables en el manejo de información; es decir, la combinación de las redes de comunicación y las bases de datos.



Cuadro comparativo de los SGBDD



1.6 CARACTERÍSTICAS Y ARQUITECTURA DE LOS SGBDD

Los SGBDD son un producto software que permiten la gestión de la base de datos y posibilitan una distribución transparente a los usuarios. 

El SGBDD debe contar con funciones de un SGBD centralizado y además con funciones tales como: 
  • Capacidad de acceder a sitios remotos y transmitir consultas y datos entre diversos sitios a través de una red de ordenadores.
  • Capacidad de rastrear la traza de distribución y de replicación de los datos en el catálogo de SGBDD. 
  • Capacidad de elaborar estrategias de ejecución para consultas y transacciones con acceso a datos situados en nodos diferentes.
  • Capacidad de mantener la consistencia en las réplicas de un elemento de información.
  • Capacidad de decidir cuál de las copias de un elemento de información será accedida.
  • Capacidad de recuperación ante caídas de sitios individuales y fallos de un enlace de comunicación.
  • Procesador de datos locales que se encarga de la gestión local de los datos de forma parecida al software de un SGBD centralizado, por lo que además de ejecutar transacciones locales se encarga de la concurrencia y la recuperación ante fallos a nivel local.
  • Diccionario o directorio global donde se guardará información acerca de dónde y cómo se almacenan los datos, el modo de acceso y otras características físicas. En resumen, contiene las especificaciones necesarias para pasar de la representación externa o esquema externo de los datos a la representación interna de los mismos.
  • Procesador de aplicaciones distribuidas que es el responsable de las funciones distribuidas. Accede a la información sobre la ubicación de los datos, que se encuentra en el diccionario, y se ocupa de procesar todas las peticiones que involucran más de una sede para generar un plan de ejecución distribuido. Es el elemento diferenciador en los sistemas distribuidos, dada una operación se encargará de repartir el trabajo a los distintos procesadores locales que intervienen en dicha operación.
  • Software y red de comunicaciones. No forma parte estrictamente del SGBDD sino que provee al procesador de aplicaciones distribuidas primitivas y servicios de comunicaciones para que éste lleve a cabo su labor.
El SGBDD debe contar con los siguientes componentes para poder ofrecer estas funcionalidades descritas:


jueves, 23 de agosto de 2018

1.7 CLASIFICACION DE LOS SGBDD

Un SGBDD se puede clasificar como homogéneo o heterogéneo. En un sistema homogéneo, todas las localizaciones usan el mismo SGBD. En un sistema heterogéneo, las localizaciones pueden ejecutar diferentes SGBD, que no tienen por qué basarse en el mismo modelo de datos subyacente, y el sistema puede estar compuesto de SGBDs relacionales, en red, jerárquicos y orientados a objetos.

Los sistemas homogéneos son más fáciles de diseñar y gestionar. Este enfoque proporciona crecimiento incremental, siendo más fácil añadir nuevas localizaciones al SGBDD, y permitiendo mejorar el funcionamiento explotando la capacidad de procesamiento paralelo en varias localizaciones.


Los sistemas heterogéneos normalmente aparecen cuando localizaciones individuales han implementado sus propias bases de datos y la integración de éstas es muy costosa. En un sistema heterogéneo, se requieren traducciones para permitir la comunicación entre SGBDs diferentes. Para proporcionar transparencia, los usuarios deben poder hacer solicitudes en el lenguaje de su SGBD local. El sistema entonces tiene la tarea de localizar los datos y realizar todas las traducciones necesarias.