viernes, 20 de marzo de 2015

Actividad#13

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.
TIPOS DE FRAGMENTACION
Horizontal (primaria y derivada)
Vertical
Mixta (HV)
REPLICACION
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).

PARTES DE LA REPLICACION
 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

No hay comentarios:

Publicar un comentario