Semana 3

Page 1

DiseĂąo de Base de Datos Distribuidas


El problema del diseño… • Refiere a operar decisiones sobre la ubicación de datos y programas a través de los diferentes sitios de una red de computadoras. • La decisión de donde colar a las aplicaciones tiene relación tanto con el software de SMBDD como con las aplicaciones que se van a ejecutar sobre la BD.


Diseño de BD Centralizadas • Considera los siguiente puntos:  Diseño del esquema conceptual y del esquema lógico el cual describe la BD integrada, es decir, todos los datos que son utilizados por las aplicaciones que tienen acceso a las bases de datos se encuentran en un sólo lugar.

 Diseño físico de la base de datos, es decir, mapear el esquema lógico a las áreas de almacenamiento y determinar los métodos de acceso a las BD.


Objetivos del diseño de la distribución de los datos • Transparencia de distribución: A. Procesamiento local: la distribución de los datos para maximizar el procesamiento local corresponde al principio simple de colocar los datos tan cerca como sea posible de las aplicaciones que los utilizan.

Se puede realizar el diseño de la distribución de los datos para maximizar el procesamiento local agregando el número de referencias locales y remotas que le correspondan a cada fragmentación candidata y a la localización del fragmento, que de esta manera se elija la mejor solución.


Objetivos del diseño de la distribución de los datos B. Distribución de la carga de trabajo: es una característica importante de los sistemas de cómputo distribuidos. La distribución de la carga se realiza para tomar ventaja de las diferentes características potenciales de las computadoras de cada sitio y para maximizar el grado de ejecución del paralelismo de las aplicaciones. Es importante considerar que la distribución de la carga de trabajo podría afectar negativamente el procesamiento local deseado.


Objetivos del diseĂąo de la distribuciĂłn de los datos C. Costo de almacenamiento y disponibilidad: la distribuciĂłn de la base de datos refleja el costo y disponibilidad del almacenamiento en diferentes sitios. Para lo anterior, es posible tener sitios especializados en la red para el almacenamiento de datos. Sin embargo, el costo de almacenamiento de datos no es tan importante si este se compara con el CPU, I/O y costos de transmisiĂłn de las aplicaciones.


Enfoques al problema de DiseĂąo de Bases de Datos Distribuidas Existen dos estrategias generales para abordar el diseĂąo de bases de datos distribuidas: 1. El enfoque de arriba hacia abajo (top-down).

2. El diseĂąo de abajo hacia arriba (bottom-up).


Enfoque de arriba hacia abajo (top-down) Se continúa con el diseño de la fragmentación de la BD y así se continúa con la localización de los fragmentos en los sitios creando las imágenes físicas.

Dicha aproximación se completa ejecutando en cada sitio, “el diseño físico de los datos que se localizan en este”.


Enfoque de arriba hacia abajo (top-down) - Diagrama


Enfoque de abajo hacia arriba (bottom-up) Se utiliza principalmente a partir de las bases de datos existentes, generando con esto bases de datos DISTRIBUIDAS. Es decir, el bottom-up de una base de datos distribuida requiere de la selección de un modelo de bases de datos común para describir el esquema global de la base de datos. Lo anterior mencionado, se debe a que es posible que se utilicen diferentes SMBG. Posteriormente de realiza la traducción de cada esquema local en el modelo de datos común y finalmente se hace la integración del esquema local en un esquema global común.


• El diseño de una base de datos distribuida, cualquiera que sea el enfoque, debe responder satisfactoriamente a las siguientes preguntas:      

¿Por qué hacer una fragmentación de datos? ¿Cómo realizar la fragmentación? ¿Qué tanto se debe fragmentar? ¿Cómo probar la validez de la fragmentación? ¿Cómo realizar la asignación de fragmentos? ¿Cómo considerar los requerimientos de información?

la


• El diseño de la base de datos distribuida introduce dos nuevos retos:  Cómo particionar la base de datos en fragmentos que puedan ser replicados en diferentes sitios.  Dónde ubicar estos fragmentos.


• La fragmentación de datos y la replicación de estos atacan el primer reto y la ubicación ataca el segundo. • La fragmentación de los datos permite romper un objeto en uno o más segmentos/fragmentos. • El objeto puede ser almacenado en cualquier sitio en la red de computadoras. La información de la fragmentación de datos es guardada en el catálogo de datos distribuidos (DDC), al cual lo accede el procesador de transacciones (TP) para procesar las peticiones de usuarios.


Reglas para validar si la fragmentación es correcta… • Completitud: la descomposición de una relación R en los fragmentos R1, R2…, Rn es completa si y solamente cada elemento de datos en R se encuentra en alguno de los Ri. En el caso de la fragmentación horizontal el elemento de datos, normalmente es un registro, mientras que en el caso de la fragmentación vertical es un campo. Observación: No puede ser que algún elemento de un dato no pertenezca a algún fragmento, ni que algún dato se encuentre duplicado en otro fragmento.


Reglas para validar si la fragmentación es correcta… • Reconstrucción: debe ser posible definir una operación relacional que permita construir la relación R a partir de los fragmentos. Esta regla asegura que se preserven las dependencias funcionales. Observación: Siempre debe ser posible reconstruir cada relación global a partir de sus fragmentos.


Reglas para validar si la fragmentación es correcta… • Disyunción: si la relación R se descompone horizontalmente en una serie de fragmentos R1, R2,…,Rn, entonces no se encuentra en otro fragmento Rk (k<>n). Observación: los fragmentos deben ser disjuntos.


Fragmentación horizontal primaria  Consiste en particionar los registros de una relación global de subconjuntos.  Esto se puede definir expresando cada fragmento como una operación de selección de una relación global R.

Por ejemplo:


Ejemplo…


Fragmentación horizontal derivada • Se define partiendo de una fragmentación horizontal. • Particiona una tabla con base en un atributo o más atributos que están en otra tabla. • En esta operación se requiere de un Semi-Join el cual será de utilidad para derivar las tuplas o registros de dos relaciones.


Empleado (rel, Miembro) numEmp, nombre, titulo

Sueldo (rel. Propietaria) Titulo. Salario

El tabulador de sueldos para empleados es hasta 30,000.

Si desea agrupar a los empleados segĂşn el puesto (fragmentaciĂłn horizontal derivada):


Si se tienen las siguientes tuplas de Empleado y Sueldo

ÂżCĂłmo quedan las tuplas en los fragmentos?


Validando las reglas de correctitud… • Completitud: si cumple con la integridad referencial, es decir, se asegura que los registros de cualquier fragmento de la relación miembro también están en la relación propietaria. • Reconstrucción: mediante la unión de los fragmentos. • Disyunción: un registro de la relación miembro no puede corresponder con dos o más registros de la relación propietaria cuando estos registros están en diferentes fragmentos de la relación propietaria. • DEBE EXISTIR UNA UNIÓN SIMPLE ENTRE LOS FRAGMENTOS DE LA TABLA PROPIETARIA Y LA RELACIÓN DEL MIEMBRO.


Fragmentación vertical

• Es la subdivisión de atributos en grupos.

• Su objetivo es dividir una relación en subconjuntos de relaciones que contengan los atributos a los que normalmente las aplicaciones de usuario acceden de manera simultánea, de forma que estas se ejecuten exclusivamente sobre dichos fragmentos y se reduzca el tiempo de ejecución.


Enfoques para ejecutar la fragmentación vertical • Agrupamiento: inicia asignado un atributo a cada fragmento y se van uniendo dichos fragmentos. • División: a partir de la relación se determinan los fragmentos basándose en el acceso de las aplicaciones a los atributos.


Ejemplo • Se tiene la siguiente relación: Proyecto (numProy, nombre, presupuesto, localización)

• Se requieren las siguientes consultas:  Encontrar el presupuesto de un proyecto dado su número de identificación.  Encontrar los nombres y presupuestos de todos los proyectos.  Encontrar los nombres de los proyectos localizados en una ciudad determinada.  Encontrar el total de presupuesto de cada ciudad.



ÂżEn el ejemplo se cumplen las tres reglas de correctitud?


Respondiendo a lo anterior… • Completitud: cada atributo de la relación global es asignado a alguno de los fragmentos. • Reconstrucción: mediante el join de la clave primaria o id del registro. • Disyunción: el único atributo primario clave de la relación global (id-registro o clave primaria), se puede encontrar en cada uno de los fragmentos resultantes del proceso. Los demás atributos no se deben repetir.


Fragmentación Mixta • Consiste en aplicar las operaciones de fragmentación vistas anteriormente de manera recursiva, satisfaciendo las condiciones de correctitud cada vez que se realiza la fragmentación. • La reconstrucción puede ser obtenida aplicando las reglas de reconstrucción en orden inverso. • De esta forma es posible fragmentar la tabla global en los fragmentos de acuerdo a los requerimientos solicitados. • Es la combinación de fragmentación horizontal y vertical, también llamada fragmentación híbrida o fragmentación anidada.


Una posible fragmentación híbrida sería:

E = relación de empleados


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.