otras técnicas diseño: bdd, datawarehouse

107
Otras técnicas de Diseño: BDD, Datawarehouse

Upload: others

Post on 15-Oct-2021

7 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Otras técnicas Diseño: BDD, Datawarehouse

Otras técnicas de Diseño: BDD, Datawarehouse

Page 2: Otras técnicas Diseño: BDD, Datawarehouse

Índice

• Bases de Datos Distribuidas– Definición– Objetivo– Técnicas de Diseño– Procesamiento de Preguntas

• Almacenes de Datos– Características Generales– Modelado de Datos– Construcción de Almacenes de Datos– Servidores

Page 3: Otras técnicas Diseño: BDD, Datawarehouse

3

BD DistribuidasTecnología de Bases de Datos (tradicional)

Centralización de datosVarios Ficheros Una Base de Datos

Redes de ComputadoresDistribución/Compartición de recursos

BD centralizada BD distribuida (¿varias BDs?)BD Distribuidas: unión de estas dos aproximaciones (aparentemente opuestas)

La tecnología de BD busca la INTEGRACIÓN de los datos y no la CENTRALIZACIÓN

Page 4: Otras técnicas Diseño: BDD, Datawarehouse

• BD que no esta almacenada en una única posición física, sino que esta repartida en distintos lugares geográficamente dispersos y conectados vía enlaces de comunicación, pudiendo los usuarios de cada nodo acceder a todos los datos.

• Colección de datos que pertenecen lógicamente al mismo sistema pero 

físicamente están dispersos en distintos lugares de una red.

4

Definición de BD Distribuida

Page 5: Otras técnicas Diseño: BDD, Datawarehouse

5

Ejemplo de BDD

Red deComunicaciones

BARCELONAEMPLEADOS (Barcelona)PROYECTOS (Barcelona)

SEVILLAEMPLEADOS (Sevilla)PROYECTOS (Sevilla)

MADRID (sede central)EMPLEADOS (todos)PROYECTOS (todos)

BILBAOEMPLEADOS (Bilbao)PROYECTOS (Bilbao)

Page 6: Otras técnicas Diseño: BDD, Datawarehouse

6

SGBDD

• Un sistema de gestión de bases de datos distribuidas (SGBDD) es el software que permite el manejo de bases de datos distribuidas y que hace dicha distribución transparente al usuario.

Transparente significa: las aplicaciones trabajaran, desde un punto de vista lógico, como sí un solo SGBD ejecutado en una sola máquina, administrara esos datos.

Page 7: Otras técnicas Diseño: BDD, Datawarehouse

7

BD remotas vs BD distribuidas

• BD remotas: El usuario especifica los comandos de comunicación

• BD distribuidas: Proporcionan transparencia de la distribución. Los usuarios formulan las preguntas como si se tratara de una BD centralizada.

Page 8: Otras técnicas Diseño: BDD, Datawarehouse

• Transparencia: Separación del nivel semántico del sistema (nivel alto) de los aspectos de implementación (bajo nivel)

8

Objetivo de las BD Distribuidas

Proporcionar INDEPENDENCIA DE DATOS

Tipos de transparencia:– en la distribución (o en la red)– en las copias– en la fragmentación

Page 9: Otras técnicas Diseño: BDD, Datawarehouse

• El usuario no debe conocer detalles operacionales de la red. Se divide en:– Transparencia en la localización: El comando usado 

para realizar la tarea es independiente de la localización de los datos y del lugar donde se escriba el comando.

– Transparencia en los nombres. Cuando se asignan nombres a los objetos, estos se pueden acceder de forma no ambigua.

• Un esquema de localización describe el lugar donde está almacenados los datos (fragmentos)

9

Transparencia en la distribución

Page 10: Otras técnicas Diseño: BDD, Datawarehouse

• Todos los detalles para localizar y mantener copias deben ser tratados por el sistema. Se duplican los fragmentos.

– Ventajas: Seguridad (disponibilidad), menor nº de comunicaciones(aumento de paralelismo)

– Inconvenientes: Modificaciones, más espacio de almacenamiento

10

Transparencia en las copias

Page 11: Otras técnicas Diseño: BDD, Datawarehouse

• Diferentes situaciones:a) Copiar toda la BD en cada nodo. Se crea una BDD totalmente repetida.

• Ventajas: El sistema funciona mientras funciona alguno de los nodos(Disponibilidad). Paralelismo Incrementado.Las recuperaciones de los datos son más rápidas para las preguntas globales.

• Desventajas: Modificaciones mas costosas.Mecanismos de control de concurrencia y recuperación ante fallos mas complejas.

11

Copias de los Datos

Page 12: Otras técnicas Diseño: BDD, Datawarehouse

b) No tener ninguna copia de los datos, solo los originales. Cada fragmento está en un solo sitio. Distribución no redundante.

12

Copias de los Datos

Page 13: Otras técnicas Diseño: BDD, Datawarehouse

c) Repeticiones parciales. Algunos fragmentos se duplican y otros no.Se duplican en un nodo, dos,... o en tantos como existan.

Una descripción de los fragmentos duplicados se denomina esquema de duplicación.

13

Copias de los datos

La selección de los lugares y el grado de duplicación depende:de los objetivos deseados en cuanto a rendimiento y disponibilidad del sistema y de los tipos y frecuencias de las preguntas enviadas a cada nodo

Page 14: Otras técnicas Diseño: BDD, Datawarehouse

• Fragmento: Unidad lógica de BD (ejemplo relación)

• Tipos de Fragmentación:– Horizontal– Vertical– Mixta

14

Tipos de fragmentación

Page 15: Otras técnicas Diseño: BDD, Datawarehouse

• La fragmentación de una relación R es correcta si son válidas las siguientes propiedades:

– Completitud: cada elemento de R debe aparecer en alguno de los fragmentos Ri.

– Restauración: el contenido de R se debe poder obtener a partir de los fragmentos de Ri.

15

Fragmentación

Page 16: Otras técnicas Diseño: BDD, Datawarehouse

• Ventajas:– Mejorar el rendimiento de las aplicaciones al trabajar con 

subconjuntos de relaciones– Poder dar una respuesta eficiente a aplicaciones que trabajan 

con los mismos datos (subconjuntos de relación) en diferentes nodos

– Los fragmentos permiten aumentar el número de ejecuciones concurrentes.

• Desventajas:– Disminuye la eficiencia en las aplicaciones que trabajan con 

varios fragmentos– La comprobación de las restricciones de integridad puede ser 

más costosa.

16

¿Por qué Fragmentar?

Page 17: Otras técnicas Diseño: BDD, Datawarehouse

• Una fragmentación horizontal de una relación lo constituyen un subconjunto de tuplas de dicha relación. Las tuplas que pertenecen al fragmento horizontal se especifican por una condición en uno o más atributos de la relación.

• Operador: Selección.  (Condición de guardia)

17

Fragmentación Horizontal

Page 18: Otras técnicas Diseño: BDD, Datawarehouse

• Propiedades:– Completa. Cada tupla de la relación original R está en alguno de los fragmentos (C1 or C2 or Cn)

– Disjunta. Para cualquier i # j ninguna tupla esta en Ci and Cj

Si es completa y disjunta se puede utilizar la operación UNION para reconstruir la relación original.

18

Fragmentación Horizontal

Page 19: Otras técnicas Diseño: BDD, Datawarehouse

• Un fragmento vertical de una relación contiene solo ciertos atributos de la relación que están relacionados entre si de alguna forma.

• Operador: Proyección

19

Fragmentación Vertical

Es necesario incluir en cada fragmento el atributo clave primaria.

Page 20: Otras técnicas Diseño: BDD, Datawarehouse

• La fragmentación vertical es completa si se cumple que:el conjunto de fragmentos verticales incluyen todos los atributos de la 

relación original y comparten el atributo clave primaria.

L1 U L2 ....U Ln = Atributos (R) yLi and Lj = Pk(R) para todo i # j

clave primaria de R

Para reconstruir la relación original se debe aplicar la operación OUTER UNION.

20

Fragmentación Vertical

Page 21: Otras técnicas Diseño: BDD, Datawarehouse

21

Fragmentación

Fragmentación vertical: basada en encontrar conjuntos de atributos a proyectar

Fragmentación horizontal: basada en encontrar condiciones de selección

Page 22: Otras técnicas Diseño: BDD, Datawarehouse

• Combinación de los tipos de fragmentación Horizontal y Vertical.

22

Fragmentación Mixta

Page 23: Otras técnicas Diseño: BDD, Datawarehouse

• En general un fragmento de relación se puede especificar por la combinación de las operaciones SELECT‐PROJECT.

Si C = true and  L # ATR(R)  Fragmento verticalSi C # true and L =ATR(R)  Fragmento horizontalSi C #true and L # ATR(R) Fragmento MixtoSi C =true and L = ATR(R) Relación Original 

23

Fragmentación

Page 24: Otras técnicas Diseño: BDD, Datawarehouse

• Un esquema de fragmentación de una BD contiene la definición del conjunto de fragmentos que incluyen todos los atributos y tuplas de la BD y que cumple la condición de que toda la BD puede ser reconstruida a partir de los fragmentos mediante alguna secuencia de operaciones

24

Fragmentación

Page 25: Otras técnicas Diseño: BDD, Datawarehouse

Transparencia en la localización + Transparencia en las copias +Trasparencia en la fragmentación 

• Permiten que el sistema distribuido parezca al usuario un sistema centralizado

25

Objetivo

Page 26: Otras técnicas Diseño: BDD, Datawarehouse

Además,

• la transparencia en la localización permite desplazar relaciones entre nodos sin alterar las aplicaciones

• la transparencia en las copias permite incrementar el factor de disponibilidad de los datos y el del rendimiento del sistema

• la transparencia en la fragmentación también permite incrementar el factor de rendimiento del sistema.

26

Objetivos

Page 27: Otras técnicas Diseño: BDD, Datawarehouse

27

Nuevas funciones del SGBDD

• Manejar un catálogo global que contiene los esquemas de localización, duplicación y fragmentación.

• Obtener estrategias de ejecución para preguntas globales.

• Transmitir preguntas y datos entre varios nodos a través de la red.

• Decidir a qué copia duplicada acceder• Mantener la consistencia entre copias duplicadas.• Recuperación ante fallos en los nodos o en la red.

Page 28: Otras técnicas Diseño: BDD, Datawarehouse

28

Diseño de BDs DistribuidasHay que decidir en qué nodos deben residir

1) los datos Diseño de BD DistribuidasNo si las BD ya existen (SBDF). En ese caso hay que integrarlas para obtener el esquema global.En otro caso (SBDD), tras obtener el esquema conceptual global se debe fragmentar y asignar

2) las aplicaciones que trabajan con los datos

Es necesario un sistema de gestión de BD Distribuidas que realice lo siguiente:

procesamiento de preguntas, mantenimiento de la consistencia si hay replicación de datos, control de transacciones, etc.

Page 29: Otras técnicas Diseño: BDD, Datawarehouse

29

Diseño

Page 30: Otras técnicas Diseño: BDD, Datawarehouse

• ¿Cómo distribuir los datos entre diferentes sitios?

• Objetivos del Diseño:– Procesamiento Local– Distribución de la carga de trabajo– Costo de almacenamiento y disponibilidad

• Problemas:– Fragmentación– Asignación

30

Diseño de BD Distribuidas

Page 31: Otras técnicas Diseño: BDD, Datawarehouse

31

Diseño top-down de BDD (Rel.)Esquema Global Información de Acceso

(transacciones)

Esquema Local 1 Esquema Local N

Esquema Físico 1 Esquema Físico N

DISEÑO FÍSICODISEÑO FÍSICO

ASIGNACIÓN

Esquema Global Fragmentado

FRAGMENTACION

Page 32: Otras técnicas Diseño: BDD, Datawarehouse

32

Diseño Bottom‐Up de BDD

Esquema Local 1 Esquema Local N

Esquema Local 1 en un modelo canónico

TRADUCCIÓN TRADUCCIÓN

Esquema Local N en un modelo canónico

INTEGRACIÓN

Esquema Global en un modelo canónico(Vista unificada de los datos)

Page 33: Otras técnicas Diseño: BDD, Datawarehouse

Clasificación de las BDD

• Homogéneas– Todos los nodos emplean idéntico SGBD, son conscientes de la existencia de los demás sitios y acuerdan cooperar en el procesamiento de las solicitudes

• Heterogéneas– Puede que los diferentes nodos utilicen SGBD diferentes, puede que algunos no tengan información de la existencia de otros nodos y que solo proporcionen facilidades limitadas para la cooperación en el procesamiento de las solicitudes.

Page 34: Otras técnicas Diseño: BDD, Datawarehouse

1. Diseño Esquema Global2. Fragmentar y Asignar3. Diseños Físicos

34

Diseño top-down de BDD (Rel.). Etapas

Page 35: Otras técnicas Diseño: BDD, Datawarehouse

35

Diseño Top‐Down

El problema de obtener los esquemas locales a partir del global se divide en dos:

Fragmentación: partir las tablas en fragmentos.Asignación: distribuir los fragmentos entre los esquemas locales.

El fragmento es la unidad a distribuirventaja: incrementa el nivel de concurrencia de transacciones.desventaja: algunas transacciones se degradarán si tienen que trabajar con varios fragmentos.

Page 36: Otras técnicas Diseño: BDD, Datawarehouse

• Con el fin de realizar una fragmentación adecuada es necesario trabajar con la siguiente información:– Sobre el significado de los datos– Sobre las aplicaciones que los usan– Acerca de la red de comunicaciones

36

Fragmentación

Page 37: Otras técnicas Diseño: BDD, Datawarehouse

• ¿Cómo asignar los fragmentos a los nodos?

La elección de los lugares y el grado de repetición de los datos dependerá:– del rendimiento que se quiera obtener del sistema

– del grado de disponibilidad de los datos que se desee y 

– del tipo y frecuencia de las transacciones en cada nodo.

37

Diseño. Asignación

Page 38: Otras técnicas Diseño: BDD, Datawarehouse

• En la fase de asignación se necesita conocer información cuantitativa relativa a:

– la BD, – las aplicaciones que se usaran, – la red de comunicación,– las capacidades de procesamiento y de almacenamiento de cada nodo en la red.

38

Asignación

Page 39: Otras técnicas Diseño: BDD, Datawarehouse

39

Asignación

Asignar fragmentos a los esquemas locales Sin replicación: todo fragmento reside en un único nodo

bueno para actualizaciones, malo para preguntasCon replicación total: todos los fragmentos residen en todos los nodos

bueno para preguntas, malo para actualizacionesCon replicación parcial: algunos fragmentos pueden residir en más de un nodo

compromiso entre actualizaciones y preguntas

Si hay más actualizaciones que preguntasentonces la replicación será menos ventajosa

Page 40: Otras técnicas Diseño: BDD, Datawarehouse

40

Formulación del problema Asignación

Dados N fragmentos y M nodos, encontrar la matriz X(Xij = true) el fragmento i se aloja en el nodo j

tal que minimiza el costo totalsuma de los costos de procesamiento de todas las preguntas, actualizaciones (multiplicando cada costo por el nº de veces que se pregunta / actualiza) y costos de almacenar todos los fragmentos.sujeto a las siguientes restricciones:

tiempo de respuesta máximo para cada preguntaexiste un almacenamiento máximo en cada nodono superar la carga de procesamiento en cada nodo

El problema es NP-completo. Pero se pueden usar heurísticos: problema de la mochila, técnicas de ramificar y

acotar, etc...

Page 41: Otras técnicas Diseño: BDD, Datawarehouse

41

Asignación

PROCESAMIENTODE PREGUNTAS

CONTROL DECONCURRENCIA

DISPONIBILIDADDE LOS DATOS

REPLICACIÓNCOMPLETA

REPLICACIÓNPARCIAL

SINREPLICACIÓN

Más fácil Más Difícil Más difícil

Difícil Más Difícil Más fácil

Muy alta Alta Baja

Page 42: Otras técnicas Diseño: BDD, Datawarehouse

• ¿Donde almacenar el catálogo global?a) Centralizado. En un único nodob) Totalmente repetido. En cada nodoc) Distribuido. En cada nodo se almacena la información necesaria para el nodo.

Combinación de a y c.

42

Diseño

Page 43: Otras técnicas Diseño: BDD, Datawarehouse

43

Ejemplo Diseño

ESTUDIANTE (Dni, Nombre, Centro, Campus)AMONESTACION (codA, Fecha, Periodo, Dni)LIBRO (ISBN, Titulo, Editorial, BibliotecaCampus)PRESTAMO (Dni, ISBN, Fecha, Tipo)

Page 44: Otras técnicas Diseño: BDD, Datawarehouse

44

Ejemplo Diseño• El dominio corresponde a la gestión del servicio de bibliotecas de la Universidad (existe una 

biblioteca por campus). En este servicio se anotan datos acerca de los estudiantes matriculados en la universidad, los libros con los que cuentan las bibliotecas, los préstamos que se realizan y las amonestaciones que se hacen a los estudiantes cuando incumplen las normas de préstamo establecidas

• El sistema distribuido a construir está compuesto de 3 nodos, uno por cada campus (Donostia, Bilbo, Gasteiz). Además de las aplicaciones que introducen los datos de estudiantes, libros, préstamos y amonestaciones se ejecutan otras aplicaciones para hacer informes estadísticos, etc. Estas aplicaciones que se han desarrollado cumplen las siguientes condiciones o restricciones:

– En cada nodo se gestionan los datos relacionados con los estudiantes del campus correspondiente.

– En cada biblioteca se pueden realizar préstamos de libros propios o prestamos de libros que pertenecen a las otras bibliotecas. La gestión de préstamos se realiza en cada caso con una aplicación diferente (la aplicación del campus de Donostia es diferente de la aplicación del campus de Bilbo, etc.)

– Cada biblioteca gestiona los datos de las amonestaciones relacionados con los estudiantes de su campus

Page 45: Otras técnicas Diseño: BDD, Datawarehouse

• Nodo Donostia:

L1 = SELECCION ESTUDIANTES (Campus= Donostia)

L2 = SELECCION ((AMONESTACION JOIN ESTUDIANTE (Campus Donostia))(codA, Fecha, Periodo, Dni) )

L31 =  SELECCIÓN ( ( PRESTAMO JOIN LIBRO (BibliotecaCampus Donostia) ) JOIN ESTUDIANTE (Campus Donostia) ) (Dni, ISBN, Fecha, Tipo)

L31 =  SELECCIÓN ( ( PRESTAMO JOIN LIBRO (BibliotecaCampus Bilbo) ) JOIN ESTUDIANTE (Campus Donostia) ) (Dni, ISBN, Fecha, Tipo)

L31 =  SELECCIÓN ( ( PRESTAMO JOIN LIBRO (BibliotecaCampus Gasteiz) ) JOIN ESTUDIANTE (Campus Donostia) ) (Dni, ISBN, Fecha, Tipo)

L34 =  SELECCIÓN ( ( PRESTAMO JOIN LIBRO (BibliotecaCampus Donostia) ) JOIN ESTUDIANTE (Campus Bilbo ) (Dni, ISBN, Fecha, Tipo)

L35 =  SELECCIÓN ( ( PRESTAMO JOIN LIBRO (BibliotecaCampus Donostia ) JOIN ESTUDIANTE (Campus Gasteiz) ) (Dni, ISBN, Fecha, Tipo)

45

Ejemplo Diseño

Page 46: Otras técnicas Diseño: BDD, Datawarehouse

46

Ejemplo• EMPLEADO (DNI, ENombre,Apellido, FechaNac,Dir,Sexo,Salario,DNIJefe,Ndpto.)• DEPARTAMENTO (NDpto, Dnombre, DNIJefe,FechaIniJefe)• LUGARES_DPTOS (NDpto, LugarDpto)• PROYECTO (NPro, Pnombre,Plugar,NDpto)• TRABAJA_EN (DNI,Npro,Horas)• DEPENDIENTE(DNI,Dnombre,Sexo,FechaNac,Parentesco)

Tres nodos. Nodo 1: Oficina Central. Acceso con regularidad a todos los datos de EMPLEADO y PROYECTO, además de utilizar la información de DEPENDIENTE para cuestiones relacionadas con el seguro.Nodo 2: Departamento 5Nodo 3: Departamento 4

En los nodos 2 y 3 existe un acceso frecuente a los datos EMPLEADO (sobre los atributos ENombre, DNI, Salario, DNIJefe) Y PROYECTO ( de los empleados que trabajan en ese departamento y sobre los proyectos controlados por ese departamento).

Page 47: Otras técnicas Diseño: BDD, Datawarehouse

EJEMPLO

• Nodo 2 (Departamento 5)F1 PROYECCION [Enombre,DNI,Salario,DNIJefe] (SELECCION EMPLEADO (NDpto =5)) F2 SELECCION DEPARTAMENTO (NDpto= 5)F3 SELECCION LUGARES_DPTOS (NDpto = 5)UNION de G1  (SELECCION (PROYECTO (NDpto=5) JOIN(Npro) TRABAJA_EN) JOIN(DNI) (SELECCION EMPLEADO (NDpto = 5))G2 (SELECCION (PROYECTO (NDpto=5) JOIN(Npro) TRABAJA_EN) JOIN(DNI) (SELECCION EMPLEADO (NDpto = 4))G3 (SELECCION (PROYECTO (NDpto=5) JOIN(Npro) TRABAJA_EN) JOIN(DNI) (SELECCION EMPLEADO (NDpto = 1))G4 (SELECCION (PROYECTO (NDpto=4) JOIN(Npro) TRABAJA_EN) JOIN(DNI) (SELECCION EMPLEADO (NDpto = 5))G5 (SELECCION (PROYECTO (NDpto=1) JOIN(Npro) TRABAJA_EN) JOIN(DNI) (SELECCION EMPLEADO (NDpto = 5))

Page 48: Otras técnicas Diseño: BDD, Datawarehouse

48

Procesamiento de Preguntas

• El sistema debe:– descomponer la pregunta original en subpreguntas que se puedan ejecutar en nodos individuales.

– generar la estrategia que combine los resultados de las subpreguntas para obtener la respuesta final.

Maneja los esquemas de localización, copias y fragmentación.

Page 49: Otras técnicas Diseño: BDD, Datawarehouse

49

Procesamiento de Preguntas

• El álgebra relacional no es suficiente para expresar la ejecución de estrategias. Debe ser completada con operaciones para intercambio de datos entre nodos diferentes.

• Además de elegir el orden de las operaciones del álgebra relacional, el procesador de consultas distribuidas debe seleccionar los mejores sitios para procesar los datos.

Page 50: Otras técnicas Diseño: BDD, Datawarehouse

50

Procesamiento de Preguntas• Transformar la pregunta formulada por el usuario en 

un conjunto de operaciones sobre las bases de datos locales (se deben transferir ficheros intermedios entre nodos)

• Es necesario trabajar con técnicas de optimización.

• Objetivo más extendido: Minimizar costos de comunicación.

Page 51: Otras técnicas Diseño: BDD, Datawarehouse

Ejemplo• Nodo 1 (10.000 tuplas) 

Empleado(Dni,Nom,Fnac,Dir,Sex,Salario,Dno) (100 bytes)• Nodo 2 (100 tuplas)

Departamento(Dno,Dnombre,DniDirector,Finicio_Dire) (35 bytes)

• Pregunta: Obtener el nombre de cada empleado y el nombre del departamento en el que trabaja.

Resultado nodo 3a) Llevar las relaciones Empleado y Departamento al nodo 3[(10.000)*100] + [(100)*35] = 1.003.500 bytes.

b) Llevar la relación Empleado al nodo 2, hacer join, resultado nodo 3[(10.000)*100] +[(10.000)*40] = 1.400.000 bytes

c) Llevar la relación Departamento al nodo 1, hacer join, resultado nodo 3[(100)*35] + [(10.000)*40] = 403.500 bytes

Nota  40 (tamaño en bytes de Nom y Dnombre)

Page 52: Otras técnicas Diseño: BDD, Datawarehouse

52

Procesamiento de Preguntas

Regla: Seleccionar el nodo que envía la mayor cantidad de datos al nodo de operación como lugar para ejecutar la operación

Costo Total = E/S+CPU+Comunicaciones

Objetivo más extendido: Minimizar los costos de comunicación. (sobre todo en WAN)

Page 53: Otras técnicas Diseño: BDD, Datawarehouse

53

Procesamiento de preguntas utilizando la operación Semi‐Join

• Idea: Reducir el tamaño de una relación antes de transferirla a otro nodo.

Enviar los atributos de una relación R necesarios para hacer el join al nodo donde este almacenada la relación S. Hacer el join. Proyectar los atributos necesarios para el resultado y enviar al nodo donde este R.

Page 54: Otras técnicas Diseño: BDD, Datawarehouse

Ejemplo• Pregunta: Para cada departamento, obtener el nombre del departamento y el nombre de su 

director.

Resultado nodo 2

a) Enviar Empleado al nodo 2 [(10.000)*100] = 1.000.000 bytes

b) Enviar Departamento nodo 1, hacer join y enviar resultado al nodo 2[(100)*35] + [(100)*40] = 7.500 bytes

Nota  40 (tamaño en bytes de Nom y Dnombre)

c) Con Semi‐joinEnviar al nodo 1 el Dni del director  [9*100 = 900]  bytes (r1)Hacer join r1 con Empleado, Enviar resultado nodo 2   100 * 39  = 3900 bytes  (30 bytes nombre empleado)900 + 3900  = 4800 bytes

Page 55: Otras técnicas Diseño: BDD, Datawarehouse

55

Procesamiento de pregs. en BDD

Pregunta inicial

DESCOMPOSICIÓN DE CONSULTAS

Pregunta inicial en álgebra relacional

LOCALIZACIÓN DE DATOS

Pregunta sobre fragmentos

OPTIMIZACIÓN GLOBAL

OPTIMIZACIÓN LOCAL

Pregunta sobre fragmentos y operaciones de comunicación

Preguntas locales optimizadas

Esquema Global

Esquema de Fragmentos

Estadísticas sobreFragmentos

Esquema Local

Page 56: Otras técnicas Diseño: BDD, Datawarehouse

56

Descomposición de Preguntas• Transforma la pregunta en otra pregunta en álgebra 

relacional que opera sobre relaciones globales. Consiste de cuatro partes:

– Normalización: transformar una consulta  a una forma normalizada (conjuntiva o disyuntiva) para facilitar su procesamiento posterior. También verifica la validez de la expresión (análisis sintáctico)

– Análisis. Se detectan y rechazan consultas incorrectas– Simplificación. Elimina predicados redundantes aplicando 

reglas de idempotencia  (p and p  p)– Reestructuración.Rescribe la pregunta en el álgebra 

relacional para mejorar la eficiencia (transformar productos cartesianos en joins) 

Page 57: Otras técnicas Diseño: BDD, Datawarehouse

57

Análisis. Ejemplo

• Si el predicado de selección se contradice con la definición de un fragmento, el resultado es una relación intermedia vacía y la operación se puede eliminar.

Page 58: Otras técnicas Diseño: BDD, Datawarehouse

58

Reestructuración. Ejemplo

• Staff (DNI,Nom,Apel,cargo,sexo,salario)

• Obtener los nombres y apellidos de todos los miembros del staff

SELECT Nom, ApelFROM Staff

Page 59: Otras técnicas Diseño: BDD, Datawarehouse

59

Reestructuración. Ejemplo

• S1: Proyección [DNI,cargo,sexo,salario]• S2: Proyección [DNI,Nom,Apel]

Proyección(Nom,Apel) Proyección(Nom,Apel)

Join DNI S2

S1           S2            (Se eliminan los fragmentos verticales  que no contienen los atributos proyectados)

Page 60: Otras técnicas Diseño: BDD, Datawarehouse

60

Localización de Datos

• Localiza los datos de la consulta usando la información sobre la distribución de datos. Determina que fragmentos están involucrados en la consulta y transforma la consulta distribuida en consulta sobre fragmentos.(E se ha dividido en tres fragmentos, E1, E2 y E3)

Ejemplo:  SELECT * FROM EWHERE ENO = “E5”

Se transforma en: SELECT * FROM E2WHERE ENO =“E5”

Page 61: Otras técnicas Diseño: BDD, Datawarehouse

61

Optimización Global• Calcula una estrategia de ejecución para la consulta cercana a 

la óptima. • La salida es una consulta algebraica optimizada con primitivas 

de comunicación para transferir datos entre nodos.• El factor principal que afecta la eficiencia de la ejecución de 

una estrategia es el tamaño de las relaciones intermedias que son producidas durante la ejecución. (las relaciones intermedias se deben transmitir por la red)

Page 62: Otras técnicas Diseño: BDD, Datawarehouse

62

Optimización Local

• Se efectúa en todos los nodos con fragmentos involucrados en la consulta.

• La optimización local usa los algoritmos de sistemas centralizados.

Page 63: Otras técnicas Diseño: BDD, Datawarehouse

Transacciones

• Al trabajar con BDD podemos tener transacciones/preguntas locales y transacciones globales.

• La conservación del principio ACID en las transacciones globales es una tarea complicada.

Page 64: Otras técnicas Diseño: BDD, Datawarehouse

64

Modelo de Transacciones Distribuidas

• Las transacciones deben conservar las propiedades ACID

• Tipos de transacciones:– locales: tienen acceso y actualizan datos sólo en una BD local.

– globales: tienen acceso y actualizan datos en varias BD locales. 

Page 65: Otras técnicas Diseño: BDD, Datawarehouse

Sistemas de Almacenamiento en la Nube

• Sistemas con muchos nodos, con distribución geográfica y alta disponibilidad.

– No garantizan el principio ACID– Sistemas NoSQL

Page 66: Otras técnicas Diseño: BDD, Datawarehouse

66

BD Distribuidas y ORACLE

• Cada BD en una BDD es diferente del resto de BDs y tiene su propio nombre global.  nombreBD.Nombre dominio     Ej.GIPUZKOA.GI.EHU.ES

Todas las BD Oracle de un SBDD utilizan el software de red OracleNet8 para la comunicación entre las Bases de Datos.

Page 67: Otras técnicas Diseño: BDD, Datawarehouse

67

DB LINK. ORACLE• Un DB LINK define un camino desde una BD ORACLE a otra BD (pero 

no viceversa). Se almacena en el catálogo (SELECT db_link FROM user_db_links;)

• ¿Por qué usar un links?– Un usuario local puede acceder a través de un link a una BD remota 

sin ser usuario de dicha base remota.– Permite limitar el acceso a base de datos remotas a usuarios locales.– Permiten a los usuarios acceder a las BDs como si se tratara de una 

única BD lógica.• Es transparente para los usuarios.

Cuando GLOBAL_NAMES= true el nombre del LINK debe coincidir con el nombre de la BD a la que señala el link.

Si GLOBAL_NAMES = false el DB LINK puede tener otro nombre

Page 68: Otras técnicas Diseño: BDD, Datawarehouse

68

Sintaxis de DB LINK

• CREATE [GLOBAL][PUBLIC]DATABASE LINK nombre [CONNECT TO {CURRENT USER | usuario IDENTIFIED BYpassword}] [USING nombre‐conexión]

Se obtieneEste equipo/C :/Oracle/Client/product/12.1.0/client_1/NETWORK/ADMIN/tnsnames.ora

Page 69: Otras técnicas Diseño: BDD, Datawarehouse

69

Servicio (service)

• GIPUZKOA.GI.EHU.ES =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = vsids11.si.ehu.es)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = GIPUZKOA.gi.ehu.es)))

Page 70: Otras técnicas Diseño: BDD, Datawarehouse

70

TIPOS DE DB LINK

• Private. Sólo lo puede usar el que lo crea– (CREATE DATABASE LINK ....)

• Public. Lo podrán usar todos los usuarios de la BD– (CREATE PUBLIC DATABASE LINK ....)

• Global. Lo podrán usar todos los usuarios de cualquier BD en la red ORACLE– Se deben definir en ORACLE NAME SERVER

Page 71: Otras técnicas Diseño: BDD, Datawarehouse

71

TIPOS DE USUARIOS

• Fixed. Hay que indicar en la definición el usuario y el password

• Connected User (sin CONNECT). Válido para el usuario conectado. Debe tener en la BD remota una cuenta con el mismo nombre de usuario que en la cuenta de la base de datos local.

• Current User. Un usuario local se puede conectar como usuario global a través de un procedimiento almacenado.

Page 72: Otras técnicas Diseño: BDD, Datawarehouse

Almacenes de Datos (Data Warehouses)

Page 73: Otras técnicas Diseño: BDD, Datawarehouse

Índice

• Características Generales• Modelado de Datos• Construcción de Almacenes de Datos• Servidores

Page 74: Otras técnicas Diseño: BDD, Datawarehouse

Motivación

• En la actualidad los directivos de nivel medio con poder para tomar decisiones necesitan manejar información a un nivel de detalle tal que les facilite la toma de decisiones.

• El almacenamiento de datos, OLAP (Online AnalyticalProcessing) y la minería de datos ofrecen esta funcionalidad.

OLAP . Término usado para describir el análisis de datos complejos desde el almacén de datos.

Page 75: Otras técnicas Diseño: BDD, Datawarehouse

75

¿Cuál margen¿Cuál es el margenmayor/menor de

los productos?

¿Qué tenemos¿Qué tipo de clientes tenemosy qué productos compran?

pueden competencia?¿Pérfil de los clientes que

pueden ir a la competencia?

Cómo influirán los nuevos ¿Cómo influirán los nuevos productos en el balance?

de

¿Qué tipo de promociones

de productos funcionanmejor?

¿ canal ¿Cuál es el mejor canal de distribución?

Interés de usar Almacenes de Datos

Page 76: Otras técnicas Diseño: BDD, Datawarehouse

Almacenes de Datos. Definición

• Colección de datos orientada al sujeto, integrada, no volátil y de tiempo variable para el soporte de las decisiones de los directivos.

• Colección de tecnologías de soporte a las decisiones, que tiene como objetivo que el trabajador del conocimiento (ejecutivo, director, analista) tome decisiones mejores y más rápidas.

• Es una “agrupación” (repositorio)   de datos procedentes de varias fuentes y bajo un esquema unificado de bases de datos en un modelo multidimensional.

Page 77: Otras técnicas Diseño: BDD, Datawarehouse

Diferencia entre BD y Almacenes de Datos

• BD.  Son transaccionales (gestionan inserciones, borrados, actualizaciones además de las consultas para la recuperación de la información)Soportan OLTP

• AD. Orientados a aplicaciones de toma de decisiones. Optimizadas para la recuperación de datos, no para el procesamiento de transacciones rutinarias. No admiten modificaciones.Soportan OLAP

Soportan análisis de series temporales (datos por años,..) y los datos son no‐volátiles.Los usuarios sólo necesitan realizar operaciones de consulta pero el acceso debe ser rápido para grandes volúmenes de datos provenientes de diferentes fuentes.

Page 78: Otras técnicas Diseño: BDD, Datawarehouse

Diferencias OLTP / OLAP• OLTP

– Transacciones cortas– Preguntas “simples”– Trabajan con porciones “pequeñas” de la BD– Actualizaciones frecuentes

• OLAP– Transacciones largas– Preguntas complejas (ej. ¿Pérfil de los clientes que pueden ir a la 

competencia? …)– Trabajan con porciones “grandes” de la BD– Actualizaciones poco frecuentes

Page 79: Otras técnicas Diseño: BDD, Datawarehouse

Características de los Datos

• Integrados– Datos provenientes e integrados de distintas fuentes

• Variables en el tiempo– Datos relativos a un periodo de tiempo y se incrementan periódicamente

• No volátiles– Datos que no se actualizan

Page 80: Otras técnicas Diseño: BDD, Datawarehouse

Tipos de Almacenes de Datos

• AD de empresas. Su construcción requiere mucho tiempo y dinero.

• AD virtuales. Se reflejan como vistas materializadas sobre BD operativas.

Page 81: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• Se usan modelos multidimensionales.  Estos modelos se benefician de las relaciones inherentes de los datos para rellenar unas matrices multidimensionales llamadas cubos de datos (o hipercubos)

VentasProducto

Zona

Q1 Q2 Q3 Q4Periodo

PortátilesCámaraLCD monitor

AfricaAméricaEuropaAsia

Page 82: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• Los datos pueden solicitarse en cualquier combinación de dimensiones. Existen herramientas que permiten visualizar los datos según las dimensiones elegidas por el usuario.

• El cambio desde una orientación dimensional a otra en un cubo de datos se logra fácilmente gracias a la técnica de pivotaje (o rotación).

Page 83: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• Visualización:– Roll‐up (compactar). Mueve hacía arriba la orientación, agrupando en unidades más grandes a lo largo de una dimensión.

– Drill‐down (descomponer).Proporciona una vista más fina

Page 84: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• Los AD pueden usar índices para mejorar el tiempo de acceso a los datos (tipo bitmap)

• Cada cierto tiempo hay que refrescar los AD (ej. Para trabajar con periodos históricos diferentes)

Page 85: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• El modelo multidimensional implica dos tipos de tablas: de dimensión y de hechos.– Tabla de dimensión. Consta de tuplas de atributos de la dimensión.

– Tabla de hechos. Agrupación de tuplas. Una por cada hecho registrado. (normalmente los atributos son identificadores que actúan de claves extranjeras de las tablas de dimensiones)

Page 86: Otras técnicas Diseño: BDD, Datawarehouse

Ejemplo

Page 87: Otras técnicas Diseño: BDD, Datawarehouse

Modelado de Datos para los Almacenes

• Esquemas multidimensionales comunes:– Estrella. Consiste en una tabla de hechos con una única tabla por cada dimensión

– Copo de Nieve. Variación del esquema en estrella en el que las tablas dimensionales de éste están organizadas en una jerarquía. 

Page 88: Otras técnicas Diseño: BDD, Datawarehouse

Esquema Tipo Estrella

Page 89: Otras técnicas Diseño: BDD, Datawarehouse

Construcción de un Almacén de Datos

• Pasos:1. Los datos deben ser extraídos de fuentes múltiples y 

heterogéneas (ej. B.D, ficheros, etc.)

2. Los datos deben estar formateados de forma que sean coherentes dentro del almacén.

3. Los datos deben estar limpios para garantizar la validez.4. Los datos procedentes de distintas fuentes deben 

acomodarse al modelo de datos del almacén. 5. Los datos deben cargarse en el almacén.

Page 90: Otras técnicas Diseño: BDD, Datawarehouse

Arquitectura

Fuentes externas

BD operacionales

Fuentes de datos

Extraer

Transformar

Cargar

Refrescar

Data Marts

Monitorización & Administración

Almacén de Datos

Servir

Repositorio de metadatos

Servidores 

OLAP

Análisis

Consultas/Informes

Minería de datos

Herramientas de consulta

Page 91: Otras técnicas Diseño: BDD, Datawarehouse

Fuentes de datos: procesos y herramientas

Fuentes externas

BD operacionales

Fuentes de datos

Extraer

Transformar

Cargar

Refrescar

Data Marts

Monitorización & Administración

Almacén de Datos

Servir

Repositorio de metadatos

Servidores 

OLAP

Análisis

Consultas/Informes

Minería de datos

Herramientas de consulta

Page 92: Otras técnicas Diseño: BDD, Datawarehouse

Data Mart

• Un almacén de datos puede estar formado por varios data marts.

• Data mart. Subconjunto de un almacén de datos, generalmente en forma de estrella.– Se definen para satisfacer las necesidades de un departamento o sección de la organización.

Page 93: Otras técnicas Diseño: BDD, Datawarehouse

Data mart

Page 94: Otras técnicas Diseño: BDD, Datawarehouse

Pasos diseño de un Almacén de Datos

• Paso 1: Elegir un “proceso” (análisis de ventas de un supermercado..) de la organización para modelar.

• Paso 2: Decidir el gránulo (nivel de detalle) de representación del proceso

• Paso 3: Identificar las dimensiones que caracterizan el proceso

• Paso 4: Decidir la información a almacenar sobre el proceso.

Page 95: Otras técnicas Diseño: BDD, Datawarehouse

Fuentes de datos

• Bases de datos externas • Ficheros planos• Datos en formato tradicional: 

– documentos, facturas, albaranes, etc.

• Internet

Page 96: Otras técnicas Diseño: BDD, Datawarehouse

ETL: Extraction, Transformation & Loading

80% of total cost of building warehouse

Extraction Loading

Transformation

Page 97: Otras técnicas Diseño: BDD, Datawarehouse

ETL Oracle

Cubebuilding

Extract, transform,load (ETL)

Page 98: Otras técnicas Diseño: BDD, Datawarehouse

Herramientas de limpieza. Tipología

• Data migration (Migración de datos)• Permiten reglas de transformaciones simples

– Ej. Reemplazar “género” por “sexo”

• Data Scrubbing (Limpieza de datos)– Utilizan conocimiento específico del dominio

• Ej. Direcciones postales

• Data Auditing tools (Auditoría de datos)– Escanean datos para descubrir reglas y relaciones y lanzar señales de violaciones si es necesario

Page 99: Otras técnicas Diseño: BDD, Datawarehouse

Resumen componentes de la arquitectura

• Momento y modo de recogida de los datos. Los orígenes de datos transmiten los nuevos datos:

– Bien a medida que se produce el procesamiento de las transacciones. Arquitectura dirigida por el origen. De manera periódica (ej. Noche)

– De manera periódica. Arquitectura dirigida por el destino.

El almacén nunca estará actualizado respecto a los origenes de datos. Contiene datos históricos

Page 100: Otras técnicas Diseño: BDD, Datawarehouse

Resumen componentes de la arquitectura

• Selección del esquema– Es probable que las fuentes de datos tengan esquemas diferentes, por ello

• Resulta necesario integrar los esquemas y convertir los datos al esquema integrado antes de almacenarlos. Los datos almacenados no son una mera copia de los datos de las fuentes de datos.

Page 101: Otras técnicas Diseño: BDD, Datawarehouse

Resumen componentes de la arquitectura

• Transformación y limpieza de los datos.– Transformación

• Cambiar unidades (existen herramientas gráficas para dar soporte a las transformaciones de los datos)

– Limpieza de los datos.  (tarea encargada del procesamiento previo de los datos ‐pre procesamiento‐)

• Sustituir CP erróneos. Búsqueda difusa• Datos duplicados. Operación de mezcla‐purga• Agrupamiento de Datos. Operación de domiciliación

Page 102: Otras técnicas Diseño: BDD, Datawarehouse

Resumen componentes de la arquitectura

• Propagación de las actualizaciones– Las actualizaciones de los orígenes de datos deben propagarse a los almacenes de datos. En algunos casos la propagación será directa, en otros no.

Page 103: Otras técnicas Diseño: BDD, Datawarehouse

Servidores de consultas

• En la mayoría de las arquitecturas se utiliza un servidor distinto al del almacén de datos

• Rendimiento y mantenimiento

• Dos tecnologías• ROLAP • MOLAP

Page 104: Otras técnicas Diseño: BDD, Datawarehouse

Servidores de consultas ROLAP• Utilizan tecnología Relacional (Relational OLAP)

– Métodos de implementación adecuados para representarlos datos multidimensionales en tecnología relacional

– Utilizan extensiones del SQL estándar para soportar el acceso multidimensional a los datos

• Ventaja: Basado en un estándar

• Algunos de los más extendidos– Oracle– IBM (DB2 y Business solutions)

Page 105: Otras técnicas Diseño: BDD, Datawarehouse

Servidores de consultas MOLAP• Utilizan tecnología Multidimensional (Multidimensional OLAP)

– Los datos están almacenados directamente en matrices– Operaciones de consulta están implementadas directamente sobre 

estas matrices

• Ventaja: Suelen ser más rapidos que los ROLAP• Inconveniente: No están basados en SQL estándar 

• Ejemplos comerciales– Essabse (Arbor), Accumate (Kenan)

Page 106: Otras técnicas Diseño: BDD, Datawarehouse

AD versus Vistas

• AD soportan un almacenamiento persistente en las vistas sólo en determinados casos.

• AD no son relacionales sino multidimensionales• En los AD se pueden definir índices en las vistas No

• Los AD proporcionan funcionalidades de análisis especiales

• Los AD contienen datos de varias BD las vistas sólo contienen datos de una BD

Page 107: Otras técnicas Diseño: BDD, Datawarehouse

Resumen

• Almacén de Datos– Ayudan a obtener y archivar datos operacionales. Se usan para la ayuda a 

la toma de decisiones y para el análisis de datos históricos (los esquemas tienden a ser multidimensionales). Sistemas de ayuda a la toma de decisiones: OLAP y sistemas de minería de datos.

• Minería de Datos– Uso de técnicas para descubrir conocimiento (reglas y patrones a partir de 

los datos).

• Recuperación de la Información– Este campo se ocupa de consultar datos no estructurados (ej. fuentes de 

información textual) y presta atención a la clasificación de los resultados de la consulta.