1 / 21

Diseño de Bases de Datos Distribuidas (3era Parte)

Diseño de Bases de Datos Distribuidas (3era Parte). Lic. Bárbara da Silva. Sistemas de Bases de Datos Distribuidas - UCV. Esquema de la Clase. Fragmentación Horizontal Fragmentación Horizontal Derivada Fragmentación Vertical Fragmentación Mixta. Reglas de Correctitud de Fragmentación.

blanca
Download Presentation

Diseño de Bases de Datos Distribuidas (3era Parte)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diseño de Bases de Datos Distribuidas(3era Parte) Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV

  2. Esquema de la Clase • Fragmentación Horizontal • Fragmentación Horizontal Derivada • Fragmentación Vertical • Fragmentación Mixta

  3. Reglas de Correctitud de Fragmentación • Completitud:La descomposición de una relación R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento de datos en R se encuentra en algún de los Ri. En el caso de fragmentación horizontal el elemento de datos, normalmente, es una tupla, mientras que en el caso de fragmentación vertical es un atributo. • Reconstrucción:Debe ser posible definir una operación relacional que permita reconstruir la relación R a partir de los fragmentos. Esta regla asegura que se preserven las dependencias funcionales. • Disyunción:Si una relación R se descompone horizontalmente en una serie de fragmentos R1, R2, ..., Rn, y un elemento de datos Di se encuentra en algún fragmento Rj, entonces no se encuentra en otro fragmento Rk (k<> j).

  4. Fragmentación Horizontal Derivada En la FHD los predicados son definidos sobre otra relación. Es definida sobre una relación miembro de un enlace de acuerdo a la operación de selección especificada en su propietario. Dado un enlace L donde propietario (L) = S y el miembro (L) = R, los fragmentos de R son definidos como Ri = R SJ Si , 1  i w Donde: • w es el máximo número de fragmentos de R • Si = SLFi (S) donde Fi es la fórmula de la FHP que determinó Si.

  5. Fragmentación Horizontal Derivada Sueldo Empleado L numEmp, nombre, titulo Titulo, Salario Se tienen agrupados los empleados según el salario así: Sueldo1 = SL Salario  3000 Sueldo Sueldo2 = SL Salario >3000 Sueldo Un ejemplo de FHD seria: Empleado1 = Empleado SJtitulo Sueldo1 Empleado2 = Empleado SJtitulo Sueldo2 Propietaria Miembro

  6. Fragmentación Horizontal Derivada Si se tienen las siguientes tuplas de Empleado y Sueldo ¿Cómo quedan las tuplas en los fragmentos? Empleado Sueldo

  7. Fragmentación Horizontal Derivada ¿Qué se necesita para hacer la FHD? • Los fragmentos de la relación propietaria • La relación miembro • Predicados de SemiJoin entre la relación propietaria y la relación miembro.

  8. Fragmentación Horizontal Derivada El punto complicado es que comúnmente en una relación se tienen más de un enlace, por lo tanto más de una posible FHD. Se tienes dos criterios para evaluar las posibilidades: • La fragmentación usada por más aplicaciones • Procesamiento de querys -> joins -> tratar de colocar los fragmentos de la relación propietaria y miembro que correspondan en el mismo nodo.

  9. Fragmentación Horizontal Derivada Verificando las Reglas de Correctitud • Completitud: Si cumple con la Integridad Referencial, es decir se asegura que las tuplas 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: Una tupla de la relación miembro no puede corresponder con dos o más tuplas de la relación propietaria cuando estas tuplas están en diferentes fragmentos de la relación propietaria. Debe existir un grafo de unión simple entre los fragmentos de la tabla propietaria y la relación miembro.

  10. Fragmentación Vertical La fragmentación vertical es la subdivisión de atributos en grupos. El objetivo de la fragmentación vertical 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 éstas corran solamente sobre esos fragmentos y reduzcan su tiempo de ejecución.

  11. Fragmentación Vertical Dos de los enfoques para hacer fragmentación vertical son: Agrupamiento: inicia asignando un atributo a cada fragmento y se va iterando 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.

  12. Fragmentación Vertical Ejemplo: Se tiene la relación: Proyecto (numProy, nombre, presupuesto, localización) Y sobre ella corren las siguientes aplicaciones: • 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 dada • Encontrar el total de presupuestos de cada ciudad

  13. Fragmentación Vertical Proyecto Proyecto1 Proyecto2 ¿En el ejemplo se cumplen las tres reglas de correctitud?

  14. Fragmentación Vertical Verificando las Reglas de Correctitud • Completitud:cada atributo de la relación global es asignado a alguno de los fragmentos • Reconstrucción:mediante el join de la clave primaria ó id de la tupla. • Disyunción: el único atributo primario clave de la relación global (Id-tupla ó clave primaria), se puede encontrar en cada uno de los fragmentos resultantes del proceso. Los demás atributos no se deben repetir.

  15. Fragmentación Mixta Es la combinación de fragmentación horizontal y vertical, también llamada fragmentación híbrida ó fragmentación anidada. Ejemplo: Proyecto (numProy, nombre, presupuesto, localización) FV de Proyecto: Proyecto1 (numProy, nombre, localización) Proyecto2 (numProy, presupuesto) FH de Proyecto1: Proyecto11 = SL localización=‘Caracas’ Proyecto1 Proyecto12 = SL localización=‘Valencia’ Proyecto1

  16. Fragmentación Mixta Con respecto al ejemplo: ¿Cómo es el árbol de fragmentación? ¿Cómo se reconstruye la relación proyecto?

  17. Fragmentación Mixta Niveles de fragmentación En la FH se detiene la fragmentación cuando cada fragmento sólo posee una tupla y en FV cuando cada fragmento posee un atributo. Pero a nivel práctico lo adecuando es no tener más de 2 niveles de fragmentación debido a: • Reconstrucción de una relación global normalizada. • Alto costo de los join en caso de mucha FV.

  18. Ejercicio de Fragmentación Se tiene el siguiente esquema conceptual global: EMP (EmpNum, Nombre, Salario, impuesto, Numdep, cargo) DEPT (NumDep, Nombre, Área) SUPLIDOR (Snum, Nombre, Ciudad) PRODUCTO (Pnum, Snum, NumDep, Cantidad)

  19. Ejercicio de Fragmentación Asuma que unas aplicaciones importantes requieren información acerca de empleados miembros de proyectos. Sea cada departamento un nodo de la base de datos distribuida. Las aplicaciones pueden ser emitidas por cualquier departamento, sin embargo, cuando ellas son emitidas por un departamento dado, refieren a tuplas de empleados de ese departamento con mayor probabilidad que las tuplas de otros empleados. Esto pasa porque los empleados están distribuidos en departamentos.

  20. Ejercicio de Fragmentación Asuma que otras aplicaciones requieren sólo datos de aquellos empleados que son programadores. Estas últimas aplicaciones pueden ser emitidas en cualquier nodo de la base de datos distribuida y hacen referencia a todos los programadores con la misma probabilidad. Asumamos que tenemos sólo dos departamentos 1 y 2. Algunas aplicaciones requieren información acerca de Productos suplidos por un suplidor dado. Sólo en el departamento 1 se realizan los cálculos de nómina que necesitan los campos salario e impuesto. Ninguna otra aplicación lo necesita.

  21. Tarea Recuperar el nombre del proveedor de un producto. Se asume que: El número del producto es dado por el usuario. Un producto es suplido por un solo proveedor. Escriba la consulta para cada uno de los niveles de transparencia

More Related