Facultad de Estadística e Informática
BASES DE DATOS AVANZADAS
Facultad de Estadística e Informática
Clase 5. Repaso Tema Bases de Datos Distribuidas▪Tema 2. Bases de Datos Distribuidas (BDD)▪Definición BDD
▪Componentes del Sistema de Administración de Base de Datos Distribuida
▪Características de SMBD BDD
▪Clasificación de las BDD
▪Características de las BDD (Ventajas, Desventajas)
▪Características de Transparencia en los Sistemas Manejadores de Bases de Datos Distribuidos (SMBDD)
▪Arquitectura de los sistemas de administración de base de datos distribuida
▪Diseño de una base de datos distribuidas
Facultad de Estadística e Informática
Bases de Datos Distribuidas
BibliografíaBell, David (1992). Distributed database systems. Wokingham, Eng. : Addison-Wesley.
Connolly, Thomas M. (2005). Sistemas de bases de datos: un enfoque práctico para diseño, implementacion y gestión. (4ta ed.). Madrid : Pearson Educación Limited.
Date, C. J. (2001). Introducción a los sistemas de bases de datos. (7ma ed.). México: Pearson Educación: Addison Wesley.
Marqués, M. (2001). Apuntes de ficheros y bases de datos. Universitat Jaume I, Campus de Riu Sec. España. consultado el 13 de noviembre de 2007, en: http://www3.uji.es/~mmarques/f47/apun/apun.html Si no encuentras el documento, pulsa aquí.
Rob, Peter (2004). Sistemas de bases de datos: diseño, implementación y administración. (5ta ed.). México, D.F.: Thomson.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
DefiniciónUna Base de Datos Distribuida o por sus siglas en inglés DDB(Distributed Database), la podemos entender como una base de datos tradicional, dividida en diferentes partes físicamente dispersas y que se acceden de forma lógica, tal como se accede a una base de datos centralizada por medio de un Sistema de Administración de Bases de Datos.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
DefiniciónUn sistema de administración de bases de datos distribuida o por sus siglas en inglés DDBMS (Distributed Database ManagmentSystem), rige el almacenamiento y procesamiento de datos lógicamente relacionados a través de sistemas de computadoras interconectadas en las cuáles, tanto las funciones de datos como de procesamiento, se distribuyen entre varios sitios (Rob, Peter 2004).
Facultad de Estadística e Informática
Bases de Datos DistribuidasComponentes del Sistema de Administración de Base de Datos Distribuida➢Estaciones de trabajo (sitios y nodos)
➢Componentes de software y hardware
➢Medios de comunicación
➢El procesador de transacciones
➢El procesador de datos
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Características de un SMBD BDD1. Recibe la solicitud de una aplicación (o de un usuario).2. Valida, analiza y descompone la solicitud. Operaciones
matemáticas o lógicas, o ambas, tales como, seleccionar a todos los clientes con saldos de más de $1000. Datos de una sola tabla, o acceso a varias.
3. Descompone la solicitud en varias operaciones I/O de disco.
4. Busca, localiza, lee y valida los datos.5. Garantiza la consistencia, la seguridad y la integridad.6. Valida los datos de conformidad con las condiciones, si
las hay, especificadas por la solicitud.7. Presenta los datos seleccionando en el formato
requerido.8. Todas estas actividades son transparentes para el
usuario.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Clasificación de las BDD❖Clasificación de Peter Rob (Rob, 2004) los sistemas de
administración de base de datos generalizado.
❖Las BD se clasifican con base en cómo la distribución de los procesos y datos son soportados: DB centralizada, DB distribuida; procesamiento de datos en un solo sitio o en varios.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Clasificación de las BDD
DATOS EN UN SOLO SITIO
DATOS EN SITIOS MÚLTIPLES
Proceso en un solo sitio Un sólo DBMS anfitriónNo aplicable
(requiere procesos múltiples)
Proceso en múltiples sitios
Servidor de archivosVarios DBMS de LAN
DDBMS Cliente/Servidortotalmente distribuido
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Clasificación de las BDD. Procesamiento en un solo sitio y datos en un solo sitio SPSD.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Clasificación de las BDD. ❖Procesamiento en sitios múltiples y datos en un solo sitio MPSD
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Escenario procesamiento en sitios múltiples y datos en sitios múltiples. ❖Describe un Sistema de administración de base de datos (SMBDD) totalmente distribuida con soporte para múltiples procesadores de datos y de transacciones en diversos sitios.❖Homogéneas y Heterogéneas
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Procesamiento en sitios múltiples y datos en sitios múltiples. ❖SMBDD Homogéneas
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Procesamiento en sitios múltiples y datos en sitios múltiples. ❖SMBDD Heterogéneas
Facultad de Estadística e Informática
Bases de Datos DistribuidasVentajas de los sistemas de administración de base de datos distribuida (DDBMS).1. Los datos se localizan cerca del sitio de "mayor demanda". 2. Acceso más rápido a los datos. 3. Procesamiento más rápido de los datos4. Facilita el crecimiento5. Comunicaciones mejoradas6. Costos de operación reducidos7. Interface de usuario fácil de usar. 8. Menos peligro de falla en un solo punto9. Independencia del procesador
Facultad de Estadística e Informática
Bases de Datos DistribuidasProblemas que se presentan en las bases de datos distribuidasi. El rendimiento puede afectarse por la carga de trabajo
ii. La confiabilidad de los sistemas distribuidos, por la complejidad de los componentes: ordenadores, red, almacenamiento, transacciones, replicación, etc.
iii. Por mayor complejidad, altos gastos de construcción y mantenimiento.
iv. Mayor complejidad en el diseño e implementación del sistema.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida
La transparencia se puede entender como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo.
Las características de transparencia del sistema de administración de bases de datos distribuida(DDBMS) tienen la propiedad común de permitir que el usuario sienta que es el único que está utilizando la base de datos
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida❖Transparencia de distribución.❖Transparencia de transacción.❖Transparencia de replicación.❖Transparencia de falla.❖Transparencia de desempeño.❖Transparencia de heterogeneidad.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖La transparencia de distribución permite manejar una base de datos físicamente dispersa como si fuera centralizada. ❖Se reconocen tres niveles de transparencia de distribución (Rob, 2004):❖La transparencia de fragmentación.❖La transparencia de ubicación.
❖La transparencia de ubicación local.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Ejemplo:Tabla EMPLEADO que contiene los atributos:
EMP_NOMBRE, EMP_NAC, EMP_DIR, EMP_DEP y EMP_SALARIO.
Los datos EMPLEADO están distribuidos en tres lugares: Veracruz, Monterrey y DF.
La tabla está dividida por ubicación, es decir, todos los datos de los empleados de Veracruz están guardados en el fragmento E1, los datos de los empleados de Monterrey en el fragmento E2 y los de DF en el fragmento E3.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Listar todos los empleados con fecha de nacimiento anterior al 1 de enero de 1980.
➢Supongamos que la tabla EMPLEADO está fragmentada y que cada fragmento es único (la condición de fragmento único indica que todas las filas son únicas, sin poner atención en qué fragmento esté localizado).
➢Ninguna parte de la base de datos está replicada en algún otro sitio de la red.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Según el nivel de soporte de la transparencia de distribución, pueden examinarse tres casos de consulta:
CASO 1: LA BASE DE DATOS SOPORTA TRANSPARENCIA DEFRAGMENTACIÓN:
SELECT * FROM EMPLEADOWHERE EMP_NAC < '01-ENE-1940';
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
CASO 2: LA BASE DE DATOS SOPORTA TRANSPARENCIA DE UBICACIÓN
SELECT * FROM E1WHERE EMP_NAC < '01-ENE-1940';UNIONSELECT * FROM E2WHERE EMP_NAC < '01-ENE-1940';UNIONSELECT * FROM E3WHERE EMP_NAC < '01-ENE-1940';
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
CASO 3: LA BASE DE DATOS SOPORTA TRANSPARENCIA DE UBICACIÓN LOCAL
SELECT * FROM E1 NODE VERACRUZWHERE EMP_NAC < '01-ENE-1940';
UNIONSELECT * FROM E2 NODE MONTERREYWHERE EMP_NAC < '01-ENE-1940';
UNIONSELECT * FROM E3 NODE DFWHERE EMP_NAC < '01-ENE-1940';
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
La transparencia de distribución es soportada
Catálogo de datos distribuidos (DDC, Data Distributed Catalog por sus siglas en inglés).
El DDC contiene la descripción de toda la base de datos tal como la ve su administrador. Está replicado en los nodos de red, debe mantener consistencia mediante la actualización en todos los sitios.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida❖Transparencia de distribución.❖Transparencia de transacción.❖Transparencia de replicación.❖Transparencia de falla.❖Transparencia de desempeño.❖Transparencia de heterogeneidad.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
La transparencia de transacción permite que una transacción actualice datos en varios sitios de la red. La transparencia de transacción garantiza que la transacción se realizará o completada en su totalidad o abortada, con lo cual se mantiene la integridad de la base de datos.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Formato de una transacción:
BEGIN WORK
Select bla bla bla
Update bla bla bla
Delete bla bla bla
COMMIT WORK
Inicio de la transacción
Solicitudes
Fin de la transacción
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Transacción No Distribuida
❖Transacción Distribuida. Actualiza y solicita datos de varios sitios remotos en una red.
❖Transacción Remota. Está compuesta de varias solicitudes remotas y puede acceder datos en sólo un sitio.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Solicitud remota:
❖Permite acceder datos que serán procesados por un sólo procesador de base de datos remoto.
❖La sentencia o solicitud SQL puede hacer referencia a datos en un solo sitio remoto.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Solicitud remota:
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Transacción remota: La transacción actualiza las tablas CLIENTE y FACTURA.Ambas tablas están en el sitio B.La transacción puede hacer referencia solamente a un procesador de datos remoto.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Transacción remota: Cada sentencia o solicitud SQL puede hacer referencia solamente a un procesador de datos remoto (el mismo) a la vez, y toda la transacción puede hacer referencia a y ser ejecutada sólo en un procesador de datos remoto.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Transacción distribuida permite que una transacción haga referencia a varios sitios de procesamiento de datos diferentes (locales y remotos).
❖Cada solicitud puede hacer referencia a sólo un sitio de procesamiento de datos remotos.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖La transacción distribuida como un todo puede hacer referencia a varios sitios de procesamiento de datos, porque cada solicitud puede hacer referencia a un sitio diferente.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
¿Qué pasa si la tabla PRODUCTO está dividida en dos fragmentos, PROD1 y PROD2, localizados en los sitios B y C, respectivamente?
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
❖Una solicitud distribuida permite hacer referencia a datos de varios sitios de procesamiento de datos remotos.
❖Proporciona capacidades de procesamiento de base de datos totalmente distribuida:❖Dividir una tabla en varios fragmentos.
❖Hacer referencia a uno o más de esos fragmentos solamente con una solicitud. Se tiene transparencia de fragmentación.
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Solicitud
distribuida
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
¿Y si la tabla CLIENTE está dividida en dos fragmentos, C1 y C2, localizados en los sitios B y C?
¿Si queremos los clientes cuyos saldos sean de más de $250?
Facultad de Estadística e Informática
Bases de Datos Distribuidas. Niveles de transparencia de una base de datos distribuida
Solicitud
distribuida
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida❖Transparencia de replicación.
La transparencia de replicación de datos se refiere a que, si
existen copias de objetos de la base de datos, su existencia
debe ser controlada por el sistema no por el usuario.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida❖Transparencia de falla.
La transparencia de falla permite que el sistema continúe
operando en el caso de una falla de nodo. Las funciones que
se perdieron a causa de la falla serán recobradas por otro
nodo de la red.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida
❖Transparencia de falla y replicación.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida❖Transparencia de distribución.❖Transparencia de transacción.❖Transparencia de replicación.❖Transparencia de falla.❖Transparencia de desempeño.❖Transparencia de heterogeneidad.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida❖Transparencia de desempeño.
La transparencia de desempeño permite que cuando los objetos de la base de
datos están fragmentados, el sistema maneja la conversión de consultas de
usuario definidas sobre relaciones globales a consultas definidas sobre
fragmentos. Así también, mezcla las respuestas a consultas fragmentadas para
obtener una sola respuesta a una consulta global.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida. Transparencia de desempeño.❖Optimización de consultas
Reducir al mínimo el costo total asociado con la ejecución de una solicitud.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
¿Qué costo se desea reducir?
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
Los costos asociados con una solicitud son una función (Rob, 2004):
▪Del costo del tiempo de acceso (E/S) implicado al acceder los datos físicos guardados en disco.
▪Del costo de comunicación asociado con la transmisión de datos entre nodos en sistemas de base de datos distribuidos.
▪Del costo de tiempo de CPU asociado con la sobrecarga de procesamiento de manejar transacciones distribuidas.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
La mayoría de los algoritmos propuestos para una optimización de consultas se basan en dos principios:
▪La selección del orden de ejecución óptimo.
▪La selección de los sitios a ser accedidos para reducir al mínimo los costos de comunicación.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
¿Cómo se evalúan los algoritmos de optimización?
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
Un algoritmo de optimización de consulta puede ser evaluado con base en su modo de operación o en la temporización de su optimización
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.❖Optimización de consultas
Los modos de operación se clasifican como manuales o automáticos. ▪Optimización de consulta automática: el DDBMS localiza la ruta de acceso más barata sin la intervención del usuario. ▪Optimización de consulta manual: requiere que la optimización sea seleccionada y programada por el usuario o programador.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
Los algoritmos de optimización de consultas también se clasifican de acuerdo con el momento en el que se realiza la optimización:
◦Estáticos◦Dinámicos
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.❖Optimización de consultas
▪En la optimización de consulta estática, la mejor estrategia de optimización se selecciona cuando la consulta es compilada por el DBMS.
▪Cuando el programa se somete para su compilación, crea el plan necesario para acceder a la base de datos. Cuando se ejecuta el programa, el DBMS utiliza ese plan para acceder a la base de datos.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.❖Optimización de consultas
▪La optimización de consulta dinámica ocurre en tiempo de ejecución.
▪La estrategia de acceso a la base de datos se define cuando se ejecuta el programa.
▪Es eficiente, su costo se mide por sobrecarga de procesamiento en tiempo de ejecución.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
¿Cómo se optimizan las consultas?
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
▪ Las técnicas de optimización de consultas se clasifican
de acuerdo con el tipo de información emitida para
optimizar la consulta
▪Basado en estadísticas
▪Basado en reglas
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
▪Basado en estadísticas.
Las estadísticas proporcionan información sobre características de la
base de datos tales como tamaño, número de registros, tiempo de
acceso promedio, número de solicitudes atendidas, número de
usuarios con derechos de acceso, etc.
Posteriormente estas estadísticas son utilizadas por el DBMS para
determinar la mejor estrategia de acceso.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida. Transparencia de desempeño.
❖Optimización de consultas
▪Basado en reglas.
Se basa en un conjunto de reglas definidas por el usuario para
determinar la mejor estrategia de acceso a la consulta.
Las reglas son ingresadas por el usuario o el administrador de la
base de datos, y casi siempre son de naturaleza muy general.
Facultad de Estadística e Informática
Bases de Datos DistribuidasNiveles de transparencia de una base de datos distribuida❖Transparencia de distribución.❖Transparencia de transacción.❖Transparencia de replicación.❖Transparencia de falla.❖Transparencia de desempeño.❖Transparencia de heterogeneidad.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida❖Transparencia de heterogeneidad.La transparencia de heterogeneidad permite la integración de varios sistemas de administración de bases de datos locales diferentes (relacional, de red, jerárquicos, multimedia, etc.) conforme un esquema global común.
Facultad de Estadística e Informática
Bases de Datos Distribuidas
Niveles de transparencia de una base de datos distribuida❖Transparencia de heterogeneidad.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
Arquitectura de los sistemas de administración de base de datos
distribuida
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). ▪Arquitectura de los sistemas de administración de base de datos distribuida
▪Arquitectura de los Sistemas Manejadores de Bases de Datos ANSI-SPARC divide a un sistema en tres niveles: interno, conceptual y externo.
▪Surgió en 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
▪Arquitectura ANSI-SPARC de los sistemas de administración de base de datos (SMBD)
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI-SPARC de los sistemas de administración de base de datos
▪En el nivel interno: Describe la estructura física de la base de datos mediante un esquema interno.
▪Nivel conceptual: Se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones.
▪Nivel externo: Describe varios esquemas externos o vistas de usuario.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
Arquitectura ANSI-SPARC de los sistemas de administración de base de datos
▪ Los únicos datos que existen realmente están a nivel físico, almacenados en un dispositivo como puede ser un disco.
Facultad de Estadística e Informática
SISTEMA MANEJADOR DE BASE DE DATOS
Clase 8. Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI-SPARC de los sistemas de administración de base de datos
Solicitud Esquema Externo (VISTAS)
Esquema Interno(FISICO)
Esquema Conceptual
(RELACIONES)
Base de datos
correspondencia o transformación
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
Arquitectura ANSI/SPARC de un sistema distribuido
▪Basado en datos. Se identifican los diferentes tipos de descripción de datos.
▪Define las unidades funcionales que realizarán y/o usarán los datos de acuerdo con las diferentes vistas.
Este es el enfoque seguido por el modelo ANSI/SPARC.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI/SPARC de un sistema distribuido
▪ Sistemas de administración de bases de datos distribuidas homogéneos.▪Tiene múltiples colecciones de datos.▪Integra múltiples recursos de datos ▪Se parecen a un sistema centralizado. Datos en varios sitios
comunicados por la red.▪No existen usuarios locales y todos ellos acceden la base de datos a
través de una interfaz global.▪El esquema global es la unión de toda las descripciones de datos locales.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
Arquitectura ANSI/SPARC de un sistema distribuido▪Para manejar los aspectos de la distribución, se deben agregar dos niveles a la arquitectura estándar ANSI-SPARC:▪El esquema de fragmentación describe la forma en que las relaciones
globales se dividen entre las bases de datos locales
▪El esquema de asignamiento especifica el lugar en el cual cada fragmento es almacenado.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI/SPARC de un sistema distribuido
▪Sistemas de administración de bases de datos distribuidas homogéneos.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI/SPARC de un sistema distribuido
▪ Sistemas de administración de bases de datos distribuidas heterogéneos.▪Según David Bell (Bell, 1992), se caracterizan por manejar diferentes
sistemas de administración de base de datos (DBMS) en los nodos locales.
▪Una subclase son los sistemas de administración de multi-bases de datos.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Arquitectura ANSI/SPARC de un sistema distribuido
▪ Sistemas de administración de bases de datos distribuidas heterogéneos.▪Un sistema multi-bases de datos (Smulti-BD) tiene múltiples sistemas
manejadores de base de datos, que pueden ser de tipos diferentes y múltiples bases de datos existentes. La integración de todos ellos se realiza mediante subsistemas de software.
▪Existen usuarios locales y globales. Los usuarios locales acceden sus bases de datos locales sin verse afectados por la presencia del sistema administrador de multi-base de datos.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD).
Arquitectura ANSI/SPARC de un sistema distribuido
▪ Sistemas de administración de bases de datos distribuidas heterogéneos.
Facultad de Estadística e InformáticaSMBDD homogéneo SMBDD heterogéneo
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
▪ Se basa en los principios del diseño de una base de datos centralizada y contempla los tres puntos siguientes (Marqués, 2001):
i. Diseño conceptual de la base de datos.
ii. Diseño lógico de la base de datos.
iii. Diseño físico de la base de datos
* La ubicación de datos y programas a través de los diferentes sitios de una red de computadoras.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
i. Diseño físico de la base de datos.
• En el caso de las bases de datos distribuidas se tienen que considerar adicionalmente los tres problemas siguientes (Rob, 2004):
I. Cómo dividir la base de datos en fragmentos.
II. Qué fragmentos replicar.
III. Dónde localizar estos fragmentos y réplicas.
• La fragmentación y replicación de los datos se ocupa de los dos primeros problemas, mientras que la colocación de los datos con el tercero.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
¿Cuáles son los objetivos del diseño de la
distribución de los datos?
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasObjetivos del diseño de la distribución de los datos(Bell, 1992):
✓Procesamiento local.
✓Distribución de la carga de trabajo.
✓Costo de almacenamiento y disponibilidad.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasObjetivos del diseño de la distribución de los datos(Bell, 1992):
✓Procesamiento local.
Para maximizar el procesamiento local, colocar los datos tan cerca como sea posible de las aplicaciones que los utilizan.
En el diseño de la distribución de los datos se puede agregar el número de referencias locales y remotas que le corresponden a cada fragmentación candidata y la localización del fragmento, y de esta forma se seleccione la mejor solución de ellas.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasObjetivos del diseño de la distribución de los datos(Bell, 1992):
✓Distribución de la carga de trabajo.
Se realiza para tomar ventaja de las diferentes características (potenciales) o utilizaciones de las computadoras de cada sitio, y maximizar el grado de ejecución de paralelismo de las aplicaciones.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasObjetivos del diseño de la distribución de los datos(Bell, 1992):
✓Costo de almacenamiento
Es posible tener sitios especializados en la red para el almacenamiento de datos.
El costo de almacenamiento de datos no es tan relevante si éste se compara con el del CPU, I/O y costos de transmisión de las aplicaciones y disponibilidad.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
El problema de la fragmentación
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
El problema de la fragmentación.
Se refiere al particionamiento de la información para distribuir cada parte en los diferentes sitios de la red.
El diseño de una base de datos distribuida, cualquiera que sea el enfoque que se siga, debe responder satisfactoriamente las siguientes preguntas:
a. ¿Por qué hacer una fragmentación de datos?
b. ¿Cómo realizar la fragmentación?
c. ¿Qué tanto se debe fragmentar?
d. ¿Cómo probar la validez de una fragmentación?
e. ¿Cómo realizar el asignamiento de fragmentos?
f. ¿Cómo considerar los requerimientos de la información?
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasEl problema de la fragmentación.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación de una base de datos distribuida.
Peter Rob (Rob, 2004), afirma que la fragmentación de los datospermite dividir un objeto en dos o más segmentos o fragmentos.
Objeto:
▪Base de datos de usuario
▪Base de datos de sistema
▪Una tabla.
Cada fragmento puede guardarse en cualquier sitio en una red de computadoras.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La información de la fragmentación de los datos se guarda en un Catálogo de Datos Distribuidos (DDC, Distributed Data Catalogpor sus siglas en inglés), desde donde es accedida por el procesador de transacciones para procesar las solicitudes de los usuarios.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación de una base de datos distribuida.
▪Las estrategias de fragmentación de los datos a estudiar, están basadas a nivel de tabla.
▪La tabla se divide en fragmentos lógicos.
oFragmentación horizontal
oFragmentación vertical
oFragmentación mezclada
Una tabla fragmentada siempre puede recrearse con sus partes fragmentadas mediante una combinación de uniones y articulaciones.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación horizontal se refiere a la división de una relación en subconjunto (fragmentos) de tuplas (filas).
Cada fragmento se guarda en un nodo diferente, y cada uno de ellos tiene filas únicas.
Todas las filas únicas tienen los mismos atributos (columnas). En suma, cada fragmento equivale a una sentencia SELECT, con la cláusula WHERE en un solo atributo.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación vertical se refiere a la división de una relación en subconjuntos de atributos (columna).
Cada subconjunto (fragmento) se guarda en un nodo diferente, y cada fragmento tiene columnas únicas, con la excepción de la columna clave, la cuál es común a todos los fragmentos.
Esto es el equivalente de la sentencia SELECT columna1, columna2 INTO Nueva_Tabla FROM Tabla.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación mezclada se refiere a una combinación de estrategias horizontales y verticales.
En otras palabras, una tabla puede dividirse en varios subconjuntos horizontales (filas), y cada una tiene un subconjunto de los atributos (columnas).
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
Tabla a fragmentar
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación horizontal de una base de datos distribuida.
Tabla CLIENTE de la compañia XYZ, ilustrada en la figura. La tabla contiene los atributos CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación horizontal se refiere a la división de una relación en subconjunto (fragmentos) de tuplas (filas).
Cada fragmento se guarda en un nodo diferente, y cada uno de ellos tiene filas únicas.
Todas las filas únicas tienen los mismos atributos (columnas). En suma, cada fragmento equivale a una sentencia SELECT, con la cláusula WHERE en un solo atributo.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación horizontal de una base de datos distribuida.
La Compañia XYZ requiere información sobre sus clientes en los tres estados, pero las ubicaciones de la compañía en cada estado (DF, VE y MY) solamente requieren datos con respecto a clientes locales.
Con base en esos requerimientos, se decide distribuir los datos por estado. Por consiguiente, se definen los fragmentos horizontales de acuerdo con la estructura mostrada en la tabla 1.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación horizontal de una base de datos distribuida.
NOMBRE DEL FRAGMENTO
UBICACIÓN CONDICIÓNNOMBRE DEL NODO
NÚMEROS DE CLIENTE
NÚMERO DE REGISTROS
CLI_H1Distrito Federal
CLI_EST = 'DF'
DF 1, 3 2
CLI_H2 Nuevo LeónCLI_EST = 'NL'
MY 6 1
CLI_H2 VeracruzCLI_EST = 'VE'
XAL 2, 4, 5 3
Cada fragmento horizontal puede tener un número diferente de filas, pero cada uno de ellos DEBEtener los mismos atributos. Los fragmentos resultantes producen las tres tablas siguientes.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación horizontal de una base de datos distribuida.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación vertical de una base de datos distribuida.
Tabla CLIENTE de la compañia XYZ, ilustrada en la figura 1. La tabla contiene los atributos CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación vertical se refiere a la división de una relación en subconjuntos de atributos (columna).
Cada subconjunto (fragmento) se guarda en un nodo diferente, y cada fragmento tiene columnas únicas, con la excepción de la columna clave, la cuál es común a todos los fragmentos.
Esto es el equivalente de la sentencia SELECT columna1, columna2 INTO Nueva_Tabla FROM Tabla.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación vertical de una base de datos distribuida.
Supongamos que la compañía está dividida en dos fragmentos, el de servicio y el de colecciones.
Cada departamento está ubicado en un edificio distinto, y cada uno tiene interés solamente en unos cuantos de los atributos de la tabla CLIENTE.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación vertical de una base de datos distribuida.
Cada fragmento vertical debe tener el mismo número de filas, pero la inclusión de los diferentes atributos depende de la columna clave.
NOMBRE DEL FRAGMENTO
UBICACIÓNNOMBRE DEL NODO
NOMBRES DE ATRIBUTO
CLI_V1 Edif. de servicio ESCLI_NUM, CLI_NOM, CLI_DIR, CLI_EST
CLI_V2 Edif. de colección ECCLI_NUM, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación vertical de una base de datos distribuida.
Observemos que el atributo clave (CLI_NUM) es común en ambos fragmentos CLI_V1 y CLI_V2.
NOMBRE DEL FRAGMENTO
UBICACIÓNNOMBRE DEL NODO
NOMBRES DE ATRIBUTO
CLI_V1 Edif. de servicio ESCLI_NUM, CLI_NOM, CLI_DIR, CLI_EST
CLI_V2Edif. de
colecciónEC
CLI_NUM, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación
vertical de una base de datos distribuida.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación mezclada de una base de datos distribuida.
Tabla CLIENTE de la compañia XYZ, ilustrada en la figura. La tabla contiene los atributos CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidasFragmentación de una base de datos distribuida.
La fragmentación mezclada se refiere a una combinación de estrategias horizontales y verticales.
En otras palabras, una tabla puede dividirse en varios subconjuntos horizontales (filas), y cada una tiene un subconjunto de los atributos (columnas).
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación mezclada de una base de datos distribuida.
La compañía XYZ requiere que los datos CLIENTE se fragmenten horizontalmente para acomodar las diferentes ubicaciones de la compañía; dentro de las ubicaciones, los datos deben ser fragmentados verticalmente para acomodar los diferentes departamentos (servicio y colección).
En suma, la tabla CLIENTE requiere una fragmentación mezclada.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación mezclada de una base de datos distribuida.
La fragmentación mezclada requiere un procedimiento de dos pasos.
Primero, se introduce la fragmentación horizontal por cada sitio, con base en la ubicación dentro de un estado (CLI_EST).
La fragmentación horizontal produce los subconjuntos de tuplascliente (fragmentos horizontales) localizados en cada sitio.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación mezclada de una base de datos distribuida.
Como los departamentos están localizados en edificios diferentes; se utiliza una fragmentación vertical dentro de cada fragmento horizontal para dividir los atributos, con lo cual se satisfacen las necesidades de información de cada departamento en cada sub sitio.
Facultad de Estadística e Informática
Clase 8Tema 2. Bases de Datos Distribuidas (BDD). Diseño de una base de datos distribuidas
Fragmentación mezclada de una base de datos distribuida.NOMBRE DEL FRAGMENTO
UBICACIÓNCRITERIOS HORIZONTALES
NOMBRE DEL NODO
FILAS RESULTANTES EN EL SITIO
NOMBRES DE ATRIBUTO
CLI_M1 DF-Servicio CLI_EST = 'DF' DF-S 1, 3CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST
CLI_M2 DF-Colección CLI_EST = 'DF' DF-C 1, 3CLI_NUM, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA
CLI_M3 NL-Servicio CLI_EST = 'NL' MY-S 6CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST
CLI_M4 NL-Colección CLI_EST = 'NL' MY-C 6CLI_NUM, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA
CLI_M5 'VE'-Servicio CLI_EST = 'VE' XAL-S 2, 4, 5CLI_NUM, CLI_NOM, CLI_DIR, CLI_EST
CLI_M6 'VE'-Colección CLI_EST = 'VE' XAL-C 2, 4, 5CLI_NUM, CLI_LIM, CLI_BAL, CLI_NIVEL, CLI_DEUDA
Cada fragmento mostrado contiene datos de clientes por estado y, dentro de cada estado, por ubicación de departamento, para adaptarse a los requerimientos de datos de cada departamento
Facultad de Estadística e Informática
Fragmentación
mezclada de una base de datos distribuida.