Sistemas Gestores de Bases de Datos Distribuidas
“Los usuarios deben actuar de la misma forma tanto si están ante un sistema distribuido como
si están ante uno centralizado”.
Hay diferentes tipos de SGBDD. El factor para categorizarlos es su grado de homogeneidad.
Partiendo de él, tenemos dos tipos de SGBDD.
• Homogéneos: todos los nodos utilizan el mismo SGBD
• Heterogéneos: los nodos pueden utilizar distintos SGBD. Base de Datos Distribuidas
Los sistemas homogéneos son mucho más fáciles de diseñar y mantener. Esta técnica permite el crecimiento incremental, haciendo que la adición de un nuevo nodo al SGBDD sea sencilla, y también permite conseguir unas mayores prestaciones, al aprovechar las capacidades de procesamiento paralelo de los múltiples nodos.
• INGRES/STAR de Relational Technology, Inc.
• SQL*STAR, de Oracle Corp.
• DB2 versión 2 Edición 2, de IBM.
BASE DE DATOS DISTRIBUIDAS
sistema distribuido:
se define como un conjunto de elementos
de procesamiento que cooperan juntos para llevar acabo tareas, estos
elementos están conectados entre si por una red.
Base de Datos Distribuida: conjunto de bases de datos que se
relacionan lógicamente pero se encuentran situadas en diferentes sitios de la
red.
Sistema Gestor de Bases de Datos Distribuido: similar al
SGBD la diferencia del distribuido es que gestiona todas las bases de datos distribuidas como si
estuviesen centralizadas es decir, situadas en un mismo nodo.
Algunas de las ventajas de las bases de datos distribuidas
son la transparencia en localización, en los nombres y de fragmentación, así también
como fiabilidad, disponibilidad, mejor rendimiento y expansión mas sencilla.
PARTES FUNDAMENTALES DE LA FRANGMENTACION
Directorio global: catalogo que utiliza el sistema gestor de
base de datos, contiene la información gral
de la fragmentación.
Fragmentar: es la parte en la que se decide donde se
situaran las BDD es decir en que nodo de la red, ya que deben estar situadas en
diferentes nodos.
Horizontal (primaria y derivada)
La replicación nos ayuda a mejorar la disponibilidad de los
datos
En Caso extremo: tener una réplica de la BD completa en cada sitio (ordenador).
Algunas ventajas de la replicación son mejora el rendimiento local y global además de la disponibilidad (con un sitio
activo se accede a toda la BD)
Las desventajas que se tiene al aplicar la replicacion son actualizaciones
más costosas (se deben realizar en todas las réplicas para mantener la coherencia).
El control de concurrencia y recuperación es también más costoso.
En caso extremo es no tener ninguna replicación (salvo las
claves primarias en fragmentos verticales).
Esquema de
replicación: describe qué se replica
Asignación: dónde se
sitúan los fragmentos y réplicas
– La elección del lugar y el grado de replicación depende de
los objetivos de rendimiento y disponibilidad. También del tipo de
transacciones y su frecuencia.
– Encontrar una solución óptima o incluso una buena es un
problema complejo
DESCOMPOSICION DE ACTUALIZACIONES Y CONSULTAS
SGBD sin transparencia de distribución: se debe indicar el sitio y la tabla sobre la que se realiza la
consulta.
SGBD sin transparencia de replicación: debe mantener a mano la consistencia de los datos
ARQUITECTURA DE DOS NIVELES
La forma habitual de dividir la funcionalidad del SGBD entre
cliente y servidor ha sido la arquitectura de 2 niveles:
Servidor (o servidor SQL): donde se sitúa el SGBD. Una
BDD se situaría en varios servidores.
Clientes: Envían consultas/actualizaciones a servidores, tienen interfaces SQL, de usuario y funciones de
interfaz del lenguaje de programación, consultan en el diccionario de datos la información
sobre la distribución de la BD entre los servidores, tienen módulos que descomponen consultas globales
en varias locales a cada servidor, interacción cliente-servidor (arquitectura de 2 niveles):
– El cliente analiza la consulta del usuario. La descompone en varias subconsultas y envía cada una a un servidor. (También puede hacerlo el usuario a mano)
– Cada servidor ejecuta su subconsulta y devuelve el resultado al cliente
– El cliente combina los resultados recibidos y muestra al usuario el resultado de su consulta. En este enfoque al servidor se le llama máquina back-end (o subyacente) y al cliente máquina front-end (de la parte visible). Al servidor también se le llama servidor de transacciones y procesador de BD y al cliente procesador de aplicaciones.
ARQUITECTURA DE TRES NIVELES
Las 3 niveles son:
Cliente (Presentación):
Es la interfaz (interfaces web, formularios, …), Suelen usar navegadores web y lenguajes como HTML,
JavaScript, PERL, gestiona las entradas, salidas y la navegación con
páginas web estáticas o, cuando accede a BD, con
páginas dinámicas (ASP, JSP, …).
Servidor de aplicaciones (SA) (lógica de negocio): Incluye, por ejemplo, consultas basadas en datos
introducidos por el usuario, o resultados de consultas a
los que da formato y envía para su presentación, puede incluir otro tipo de funcionalidad como
comprobaciones de seguridad o de la identidad, puede acceder a varias BD conectándose mediante
ODBC, JDBC u otras técnicas
Servidor de BD (SBD): Procesa consultas y actualizaciones solicitadas por la
capa de aplicación, puede devolver los resultados en formato XML.
DISEÑO DE UN SGBDD
De las primeras bases de datos centralizadas, ha habido una
evolución hacia la descentralización, paralela al desarrollo de redes informáticas, dando
lugar a arquitecturas como cliente-servidor, bases de datos paralelas, y bases de datos
distribuidas. Esta estructura de organización de la información empresarial
imita a la propia estructura organizativa de la empresa, que está estructurada en unidades
como divisiones, cada una de las cuales mantiene sus propios datos
operacionales. Los sistemas gestores de bases de datos distribuidos se han
diseñado para cubrir dos objetivos: la compartición de los datos y la eficiencia de acceso a ellos, ubicando la información en aquellos nodos donde se acceda con más frecuencia,
pero haciéndola a la vez disponible al resto de los nodos.
Se considera una BDD (base de datos distribuida) a “una colección lógicamente
interrelacionada de datos compartidos (junto con una descripción de estos datos)
fisicamente distribuidas por una red informática”, [CONOLLY 2005].
Un SGBDD se compone de una única base de datos lógica, que físicamente está
dividida en fragmentos ubicados en nodos distintos e interconectados mediante una red
de comunicaciones. Así, existirán aplicaciones locales, que solo accederán a los datos
almacenados en el mismo nodo, y aplicaciones globales, que accederán a datos de varios
nodos. El SGBDD ejecutará así las funciones requeridas para dar servicio a este último
tipo de aplicaciones.
fuentes:
http://moodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/BE/AM/05/Modelos_avanzados_de_bd.pdf