Sei sulla pagina 1di 19

Integración en el diseño de

Data Warehouses

Sistemas de Data Warehousing


producto - Construcción interactiva.
sucursal
- Agregación/Desagregación.

Búsqueda de
fecha
correlaciones
Consultas y entre datos.
Analisis
Multidimensional reportes
(OLAPs) Data Mining
complejos

Diccionario de Datos

Data Warehouse - Integración


- Limpieza
- Otras transformaciones

Bases
de datos
Históricos Archivos .....
fuentes BD-Rel BD-Geo BD-Texto

Interoperabilidad - 2005

1
Data Warehouse

• Abordaje de integración: materializado

LAV GAV

DW DW

Bottom-Up Top-down

Bases Fuentes Bases Fuentes

Interoperabilidad - 2005

Data Warehouse

• BD con características particulares


– información
• para toma de decisiones
• proviene de otras bases
• sufrio transformaciones
– funcionalidad
• consultas complejas
• grandes volumenes de datos
• mantenimiento de la información, no OLTP

Técnicas de diseño específicas para DW


Interoperabilidad - 2005

2
Modelo Dimensional [Kim96]

• Tablas de hechos (fact tables)


– donde se guardan las medidas numéricas del negocio
– Intersección de todas las dimensiones
– granularidad
– clave compuesta (la combinación de las fk)
• Tablas de dimensión (dimension tables)
– donde se guardan las descripciones textuales de las
dimensiones del negocio
– Jerarquías: desnormalizadas o normalizadas

Interoperabilidad - 2005

Tipos de esquemas en el MD (1)


• Star: Es la estructura básica del MD
– 1 tabla “grande” central y un conjunto de tablas “mas chicas”
organizadas alrededor de la tabla de hechos.

Tiempo
Cliente Sucursal

Ventas

Vendedor
Producto

Interoperabilidad - 2005

3
Tipos de esquemas en el MD (2)
Pais
• Snowflake:
– Resultado de descomponer Region
Semana Mes
cada dimensión en varias que
forman jerarquías. Ciudad
Fecha
Vendedor Sucursal
Ventas

Cliente Modelo

Ciudad
Producto
Region
Pais

Interoperabilidad - 2005

Diseño de DW

• Estructuras que optimicen o faciliten


– Obtención de la información de las bds operacionales
en forma: resumida, totalizada, cruzada por distintos
campos y a distintos niveles. [Kim96]

• Enfoques de diseño de DW existentes


– 2 grupos:
• Vistas Materializadas
• Transformación de Esquemas

Interoperabilidad - 2005

4
Una propuesta desarrollada
en el InCo
• Herramienta para diseñar un esquema lógico de
DW a través de transformaciones. [Mar00]
– Conjunto de primitivas de transformación de esquemas
– Se obtiene la traza del diseño
– Modelo Relacional + clasificación de sus elementos en
conceptos dimensionales
– Definición de propiedades de consistencia de un
esquema de DW
– Reglas y estrategias para aplicación de las primitivas

Interoperabilidad - 2005

Arquitectura de la Transformación
relaciones

DW

primitivas
Aplicación de las
primitivas

BD fuente
relaciones

Interoperabilidad - 2005

5
El conjunto de Primitivas

P1 – Identity P8 – Hierarchy Roll Up


P2 – Data Filter P9 – Aggregate Generation
P3 – Temporalization P10 – Data Array Creation
P4 – Key Generalization* P11 – Partition by Stability*
P5 – Foreign Key Update P12 – Hierarchy Generation*
P6 – DD-Adding* P13 – Minidimension Break Off
P7 – Attribute Adding P14 – New dimension Crossing

Interoperabilidad - 2005

Especif. de una Primitiva


P 9 - Aggregate Generation
– ENTRADA
• esquema origen : R(A1, ...., An) ∈ RelC
• Z conjunto de atributos / card(Z) = k (medidas)
• {e1, ...., ek} , expresiones de agregaciones
• Y / Y ⊂ {A1, ...., An} ∧ Y ⊂ (AttD(R) ∪ AttM(R))
(atributos a eliminarse)

– ESQUEMA RESULTADO
• R’(A’1, ...., A’m) ∈ RelC /
{A’1, ...., A’m} = {A1, ...., An} – Y ∪ Z

– TRANSFORMACION DE LOS DATOS


• r’ = select ({A’1, ...., A’m} – Z ) ∪ {e1, ...., ek}
from R
group by {A’1, ...., A’m} – Z

Interoperabilidad - 2005

6
Aplicación de una Primitiva

SALES
sale_date SALES_DW
customer_id sale_date
presentation_id subtype_id
city_id presentation_id
sale_amount city_id
sale_cost sale_amount
HIERARCHY sale_cost
sale_qty ROLL UP sale_qty

CUSTOMERS
CUSTOMERS_DW
customer_id
subtype_id
customer_name
subtype_name
subtype_id
type_id
subtype_name
type_name
type_id
type_name

Interoperabilidad - 2005

Comparando esquemas
EF EDW
DW R1(....) f R’1(....)
. .
f . .
Rn(....) R’m(....)

I(EF) I(EDW)
BF f

f = <f1, ...., fn>

Interoperabilidad - 2005

7
Estudiamos propiedades de f

• Vemos algunas fi
– Agregaciones
Ventas(producto, vendedor, cliente, fecha, cantidad)

VentasDW(producto, vendedor, cliente, año, cantidad)

I(Ventas) I(VentasDW)

f total, no inyectiva

Interoperabilidad - 2005

Estudiamos propiedades de f

– Historia en dimensiones
Clientes(ci, nombre, direccion, telefono)

ClientesDW(ci, fecha, nombre, direccion, telefono)


I(ClientesDW)
I(Clientes)
f c1,f1,n1,d1,t1 f total, inyectiva,
c1,n1,d3,t3 c1,f2,n1,d3,t3 no sobreyectiva
c2,n2,d5,t5 c2,f1,n2,d2,t2
f -1 c2,f3,n2,d4,t4
c2,f4,n2,d5,t5
Clientes ≤ ClientesDW
Interoperabilidad - 2005

8
Entonces...

• f es total, no inyectiva.
DW
• BF y DW no son
f equivalentes.

• No puedo decir que DW


BF domina a BF, ni que BF
domina a DW.

Interoperabilidad - 2005

Construcción del DW a partir de


múltiples fuentes [Mar02]
• Lo visto hasta ahora…
– Una propuesta para diseño de DW
– No se tiene en cuenta aspecto integracion

• En adelante…
– Como tener en cuenta en el diseño de DW el hecho de
que proviene de múltiples fuentes

Interoperabilidad - 2005

9
Enfoques posibles

• Enfoque 1 DW

2 etapas Transformacion - Primitivas

BD Integrada

Integracion – Nuevas Primitivas

BDF BDF BDF


1 2 n

Interoperabilidad - 2005

Enfoques posibles

• Enfoque 2 DW
SE2
SE1 SEn

1 etapa

Transformación - Primitivas

BDF BDF BDF


1 2 n
Interoperabilidad - 2005

10
Enfoque elegido

Problemas Esquema logico Se integra Nuevo conj. de


integracion / de DW a priori informacion primitivas con
diseño separados completa de las otro objetivo
fuentes

Enfoque 1 si no si si

Enfoque 2 no si no no

Interoperabilidad - 2005

Ejemplo 1
BF1: BF2:
Ventas-Montevideo Ventas-Interior

Vendedor Articulo Fecha Cant Vendedor Articulo Fecha Cant

V1 A1 20/2/01 20 V4 A1 4/2/01 10

V2 A1 14/2/01 5 V5 A2 5/3/01 20

V6 A2 10/3/01 4
V3 A2 3/3/01 30

DW:
Ventas
Articulo Mes Cantidad

A1 2/01 35

A2 3/01 54

Interoperabilidad - 2005

11
Ejemplo 1
BF1 DW: BF2 DW:

Articulo Mes Cantidad Articulo Mes Cantidad

A1 2/01 25 A1 2/01 10

A2 3/01 30 A2 3/01 24

Integracion

DW:
Ventas
Articulo Mes Cantidad

A1 2/01 35

A2 3/01 54

Interoperabilidad - 2005

Ejemplo 2
BF1: BF2:
Temperaturas1 Temperaturas2
Ciudad Fecha Temp Ciudad Fecha Temp

Montevideo 2/2/01 20 Montevideo 20/2/01 25

Montevideo 7/2/01 15 Durazno 7/3/01 28

Durazno 20/3/01 30
Durazno 3/3/01 30

DW:
Temperaturas
Ciudad Mes Temperatura

Montevideo 2/01 20

Durazno 3/01 29,3

Interoperabilidad - 2005

12
Ejemplo 2
BF1 DW: BF2 DW:

Ciudad Mes Temp Ciudad Mes Temp

Montevideo 2/01 17,5 Montevideo 2/01 25

Durazno 3/01 30 Durazno 3/01 29

Integracion

DW:
Temperaturas
Ciudad Mes Temperatura

Montevideo 2/01 21,25

Durazno 3/01 29,5 X


Interoperabilidad - 2005

Ejemplo 3
BF1:
Ventas
Articulo Fecha Cant Articulos

A1 5/2/02 100 Articulo Tipo-art

A1 7/2/02 50 A1 T1

A2 1/3/02 130 A2 T1

A3 2/3/02 80 A3 T2

A4 3/3/02 40 A4 T2

BF2:
Articulos
DW:
Articulo Nac-o-Imp
Vtas-art-nacionales
A1 N
Tipo-art Mes Cantidad
A2 I
T1 2/02 150
A3 N
T2 3/02 120
A4 N

Interoperabilidad - 2005

13
Ejemplo 3

BF1 DW: BF2 DW:

Se necesitan datos No se llevan datos


de BF2 para saber de BF2 directa-
si el articulo es mente al DW
nacional antes de
agrupar.

No puedo agrupar las ventas de articulos por tipo de


articulo antes de controlar si el articulo es
nacional.
No puedo dejar la integración para el final.

Interoperabilidad - 2005

Casos

• Casos posibles para un sub-esquema del DW:


– Caso 1
• Transformacion de una sola fuente
– Caso 2
• Transformacion de una fuente, pero con la “contribucion” de
otra fuente
Ej. 3
– Caso 3
• Transformacion de varias fuentes
• 2 sub-casos: se integra al final o “en el camino”
Ej. 1 Ej. 2

Interoperabilidad - 2005

14
Generacion DW multiples fuentes
DW
SE2
SE1 SEn

Correspondencias
semanticas Primitivas

BDF BDF BDF


1 2 n

Interoperabilidad - 2005

Correspondencias semanticas

• Tipos [Mot98]
– equivalencia
– inclusion
– solapamiento
– particion vertical/horizontal
– agrupamiento
• Ejemplo 3
– DW.Vtas-art-nacionales >> BF1.{Ventas, Articulos}
– DW.Vtas-art-nacionales ⊂ BF1.{Ventas, Articulos}
• f: A I(DW.Vtas-art-nacionales)
• A = { e ∈ I(BF1.{Ventas, Articulos}) / g(e).Nac-o-imp = “N” }
• g: I(BF1.{Ventas, Articulos}) I(BF2.Articulos)

Interoperabilidad - 2005

15
Correspondencias semanticas

• Casos para un sub-esquema del DW


– Caso 1
• Todas las correspondencias son con relaciones de una misma
fuente.
– Caso 2
• Todas las correspondencias son con relaciones de una misma
fuente. Para algunos calculos intervencion de otra fuente.
– Caso 3
• Para una misma relacion existen correspondencias con
relaciones de distintas fuentes.

Interoperabilidad - 2005

Modificacion de primitivas

• Modificamos algunas primitivas


– DD-Adding
– Hierarchy Roll-Up
– Hierarchy Generation
– New dimension crossing
• Creamos nueva primitiva
– Relation Integration

Interoperabilidad - 2005

16
Ej.: DD-Adding N-1

Input:
- source schema: SDB1.R1( A1, ...., An ), SDB2.R2( B1, ...., Bm ) ∈ Rel
- f(C1, ...., Ck ) / { C1, ...., Ck } ⊆ { A1, ...., An }∪{ B1, ...., Bm }
- A / A ∈ { A1, ...., An } ∧ B / B ∈ { B1, ...., Bm } , join attributes
- is_fk , boolean argument
- R3 ∈ Rel , relation to which An+1 is a foreign key (optional)
- source instance : r1, r2
Resulting schema:
- R’1 ( A1, ...., An, An+1 ) ∈ Rel / An+1 represents f (C1, ...., Ck ) ∧
if is_fk then An+1 = AttFK(R’1, R3)
Generated Instance:
- r’1 = select A1, ...., An, f (C1, ...., Ck)
from SDB1.R1 SDB2.R2
where II-Match (SDB1.R1.A , SDB2.R2.B)

Interoperabilidad - 2005

P15 – Relation Integration


Input:
- source schema: SDB1.R1( A1, ...., An ), SDB2.R2( B1, ...., Bm ) ∈ Rel
- {<X1,Y1,Z1>, ...., <Xp,Yp,Zp>} / Xi ⊆ { A1, ...., An } ∧
Yi ⊆ { B1, ...., Bm } ∧
Xi ≡ Yi
- ii-type , instance integration type (∪ or ∩)
- ai-type, attribute integration type (∪ or ∩)
- source instance : r1, r2

Resulting schema:

- R’ / if ai-type = “∪” then


Att(R’) = (Att(SDB1.R1) - ∪I=1..pXi ) ∪
(Att(SDB2.R2) – ∪I=1..pYi ) ∪ (∪I=1..pZi )
else if ai-type = “∩” then
Att(R’) = ∪I=1..pZi

Interoperabilidad - 2005

17
P15 – Relation Integration
Generated Instance:

if ai-type = “∪” then


if ii-type = “∪” then
select (Att(SDB1.R1) - ∪I=1..pXi ) ∪ (Att(SDB2.R2) - ∪I=1..pYi ) ∪
{ II-Reconcile(X1,Y1), …., II-Reconcile(Xp,Yp)}
from SDB1.R1 SDB2.R2
where outer-join ( II-Match (SDB1.R1. X1, SDB2.R2.Y1) and
….…. and II-Match (SDB1.R1. Xp, SDB2.R2.Yp) )
else if ii-type = “∩” then
select (Att(SDB1.R1) - ∪I=1..pXi ) ∪ (Att(SDB2.R2) - ∪I=1..pYi ) ∪
{ II-Reconcile(X1,Y1), …., II-Reconcile(Xp,Yp)}
from SDB1.R1 SDB2.R2
where II-Match (SDB1.R1. X1, SDB2.R2.Y1) and
….…. and II-Match (SDB1.R1. Xp, SDB2.R2.Yp)
else if ai-type = “∩” then
………………………….
Interoperabilidad - 2005

Ejemplo: Aplicación de P15


BDPersonal.Empleados BDContaduria.Empleados
Nombre Apellido Cargo Telefono
Nombre Posición Sueldo
Juan Perez C1 5050402
Juan Perez CC1 20000
Silvia Gonzalez C4 2002120
S. Gonzalez CC4 5000
Maria Pena C2 3210406

X1 = {Nombre,Apellido}
Y1 = {Nombre} P15
Z1 = {Nombre}
X2 = {Cargo}
DW.Empleados
Y2 = {Posicion}
Nombre Cargo Telefono Sueldo
Z2 = {Cargo}
ii-type = ∩ Juan Perez C1 5050402 20000
ai-type = ∪
Silvia Gonzalez C4 2002120 5000

Interoperabilidad - 2005

18
Integracion de Instancias

• Resolver conflictos de datos


– Caso 2
• Que valores “matchean”
– Caso 3
• Que valores “matchean” y “reconciliar” datos
• Propuesta
– Clasificacion dimensional
– Funciones [Cal99]
II-Match, II-Convert, II-Reconcile

Interoperabilidad - 2005

Bibliografía
• [Mar02] Adriana Marotta. Resolución de la Integración en el Diseño del Data
Warehouse. I Workshop de Bases de Datos, Jornadas Chilenas de Computación
(JCC'2002), Copiapo, CHILE, Nov. 2002.

• [Kim96] R. Kimball. The Data Warehouse Toolkit. J. Wiley & Sons, Inc. 1996

• [Mar00] Adriana Marotta. Data Warehouse Design and Maintenance through Schema
Transformations. Tesis de Maestría. Oct. 2000. InCo - Pedeciba, Facultad de Ingeniería,
Universidad de la República, Montevideo, Uruguay.

• [Cal99] D. Calvanese, G. De Giacomo, M. Lenzerini, D. Nardi, R. Rosati. A principled


approach to data integration and reconciliation in Data Warehouses. International
Workshop on Design and Management of Data Warehouses (DMDW'99), 1999.

• [Mot98] R. Motz, P. Frankhauser. Propagation of Semantic Modifications to an


Integrated Schema. Proc. COOPIS'98, New York, USA. August 1998.

Interoperabilidad - 2005

19

Potrebbero piacerti anche