DATAWAREHOUSE
1
Introducción
“Un datawarehouse es un conjunto de datos
integrados , orientados a una materia que
varian con el tiempo y que no son
transitorios, los cuales soportan el proceso
de toma de decision”
2
No son transitorios
No son volatiles
No se llevan a cabo modificaciones o
eliminaciones, solo inserciones
Guarda datos sumarizados
3
Orientados a una materia
Organiza y orienta los datos en función del
usuario final y sus temas de interés
Ejemplo
Ventas, Competencias, Internaciones
4
Datos integrados
Los datos provienen de diferentes fuentes
La integración de datos se logra mediante la
consistencia en la Convenciones de
nombres, Unidades de medida y
Codificación
5
Unidades de medida
Las distintas fuentes de datos pueden tener
un mismo elemento medido en:
– Centímetros|
– Metros
– pulgadas
6
Codificación
Las distintas fuentes de datos pueden
tener distintas codificaciones,
ejemplo: genero
M, F
0, 1
x, y
7
Convenciones de nombres
El mismo elemento puede estar referido con
nombres diferentes en distintas aplicaciones
8
Varían con el tiempo
Mantiene tanto datos históricos como datos
actuales
La información histórica es de gran
importancia, permite analizar tendencias
9
Toma de decisión
Sistemas orientados para dar soporte a la
toma de decisión dirigido a los trabajadores
del conocimiento:
Ejecutivos
Administradores
Analistas
10
Diferencias entre OLTP y OLAP
OLTP: On Line Transaction Processing
OLAP: On-Line Analytical Processing
11
Diferencias entre OLTP y OLAP
OLTP
Datos organizados por
aplicación
Focalizado en
aplicaciones
específicas
No integradas
Distintos tipos de
datos
OLAP
Datos organizados por
tema
Focalizado en
requerimientos
empresariales
Integradas
Mismo tipo de datos
12
Diferencias entre OLTP y OLAP
OLTP
Diferente formatos de
archivos
Diferentes plataformas
hardware
Realizan
periodicamente altas,
bajas y modificaciones
OLAP
Formatos de archivos
standard
Un sólo servidor
(lógico)
Solamente altas de
datos
13
Diferencias entre OLTP y OLAP
OLTP
Se realizan acciones
repetidas
Manipulación de datos
registro a registro
Transacciones y/o
validación a nivel de
registro
OLAP
Continuamente cambia
el tipo de pregunta
Carga y acceso de
datos en forma masiva
Validación antes o
después de la carga
(nunca a nivel de
registro o transacción)
14
Diferencias entre OLTP y OLAP
OLTP
Manejan cientos de
transacciones diarias
Falta de soporte
explícito para datos
historicos
Datos operacionales
volátiles
OLAP
Manejan pocas
transacciones con
muchos registros
Soporte para datos
históricos
Datos altamente
estables
15
Diferencias entre OLTP y OLAP
Normalmente se encuentra separado el
DataWarehouse del OLTP, debido a:
– El DataWarehouse tiene alta demanda de
recursos, puede entorpecer el desempeño del
OLTP
– Los datos del DataWarehouse normalemente
son integrados de múltiples sistemas OLTP
remotos
16
Arquitectura General de un
DataWarehouse
17
Arquitectura General de un
DataWarehouse
Extracción de datos de múltiples fuentes
Transformación de datos
Carga de datos
Acceso de datos
18
Transformación de datos
Proceso de sumarización y cambios en los
datos operacionales para reunir los objetivos
de orientación a temas
19
Extracción de datos
Se extraen datos de las distintas fuentes
operativas a un espacio temporal para
posterior limpieza y transformación
20
Carga de datos
Inserción sistemática de datos en el
componente de almacenamiento fisico del
DataWarehouse
21
Acceso de datos
Los usuarios acceden al DataWarehouse
mediante herramientas basados en GUI:
– Software de consultas
– Generadores de reportes
– Data mining
22
Metadatos
Representan toda la información de
administración y seguimiento
necesarios para:
– Acceso a datos
– Compresión y utilización
» Semántica
» Origen
» Formato
» Reglas de agregación
23
Datamarts
Subconjuntos departamentales que focalizan
objetos seleccionados
Se caracteriza por una definición de
requerimientos más rápida y fácil
Pueden integrarse en un futuro en un
DataWarehouse
24
Data mining
“Extracción de información oculta y
predecible de grandes bases de datos”
Predicción automatizada de tendencias y
comportamientos
Descubrimiento automatizado de modelos
previamamente desconocidos
25
Modelo Conceptual
de un
DataWarehouse
26
Esquema de Hechos
27
Esquema de Hechos
El esquema de DataWarehouse consiste en un
conjunto de esquemas de hechos.
Componentes:
– Hechos
– Dimensiones
– jerarquías
28
Hecho
Es un enfoque de interés para la empresa
Ejemplo
VENTAS
COMPETENCIAS
INTERNACIONES
29
Dimensiones
Determina la granularidad para la
determinación de los hechos
Ejemplo
Producto
Fecha
almacen
30
Jerarquías
La dimensiones se asocian con sus jerarquías
y especifican distintos niveles de
agrupamiento
Ejemplo
Día Mes trimestre año
Producto Tipo Categoría
31
Hipercubo
32
Vista Multidimensional - Ventas
Producto
camisa
saco
pantalon
Ciudad
NYork
Paris
Roma
Mar 99
Feb 99
Ene 99
Los datos se encuentran en la interseccion de las dimensiones
33
Vista de un archivo plano tradicional
Campo (columna)
Registro
(fila)
P ro duct o
Saco
Ca m is a
Saco
Pan talo n
Pan talo n
Ca m is a
Ca m is a
Saco
Pan talo n
Saco
Pan talo n
Fech a
En e 99
En e 99
En e 99
En e 99
Feb 9 9
Feb 9 9
Feb 9 9
Feb 9 9
M ar 9 9
M ar 9 9
M ar 9 9
Ciu da d
Lo n d res
Ro ma
Paris
Lo n d res
New Yo r k
Ro ma
Lo n d res
Ro ma
New Yo r k
New Yo r k
Lo n d res
Uni da des
20 0 00
10 2 00
15 0 00
52 0 0
32 0 0
78 0 0
95 2 0
45 2 0
25 8 0
58 9 0
65 2 0
El dato se encuentra en la interseccion de una fila y columna
34
Operaciones
Pivoting
Slicing dicing
Roll up
Drill down
35
Pivoting
Rotar el cubo para ver una cara en particular
Ejemplo
Analizar informacion referida a proveedores
36
Slicing dicing
Seleccionar algún subconjunto de ese cubo
Ejemplo
Analizar el cubo de datos restringiendolo
para algunos proveedores, productos y
fechas
37
Roll up
Agrupamiento por alguna dimensión
determinada
Ejemplo
Analizar las ventas de producto a las ventas
por tipo de producto
38
Drill down
Operación inversa: muestra información
detallada de cada agrupamiento
Ejemplo
Analizar las ventas de tipo de producto a las
ventas por producto
39
Implementaciones relacionales
Esquema estrella
Copo de nieve ó Pochoclo
Constelación
40
Esquema estrella
Compuesto por una tabla central –tabla
de hechos- y un conjunto de tablas
mostradas en una forma
radial alrededor de ésta –tablas
dimensión-
41
Esquema estrella
42
Modelos - Estrella
Ventajas
Facil de entender
Rapida respuesta a consultas
Datos simples
Desventajas
Mas susceptible a los cambios
Lenta de construir por la denormalizacion
43
Copo de nieve ó Pochoclo
Extensión del esquema estrella, donde cada
una de las tablas del esquema
se divide en más tablas
-tablas más normalizadas-
44
Modelos - Pochoclo
Ventajas
Mas flexible a requerimientos
Carga mas rapida
Desventajas
Puede agrandarse y ser inmanejable
Puede degradar la performance
45
Copo de nieve
46
Modelos - Constelación
Tabla clientes
cod-cliente
nombre-cliente
Tabla deposito
cod-depo
cod-localidad
Tabla hechos
precio-unidad
ventas-unidad
ventas-pesos
costo-pesos
Tabla tiempo
cod-semana
cod-periodo
cod-año
Resumen por producto,
deposito, y tiempo para
todos los clientes
Tabla resumen
cod-cliente
ventas-total
valor top-ventas
promedio-ventas
Tabla producto
cod-prod
desc-prod
47
Modelos - Constelación
Tabla Regiones
cod-region
desc-region
Tabla producto
cod-prod
desc-prod
Tabla Hechos-inventario
cod-prod
cod-estante
costo-pesos
cantidad
Tabla tiempo
cod-semana
cod-periodo
cod-año
Tabla deposito
cod-depo
cod-localidad
Tabla hechos
cod-depo
cod-item
ventas-pesos
ventas-unidades
Tabla Item
cod-item
desc-item
48
Diseño conceptual de un
DataWarehouse a partir
del Modelo Entidad
Interrelación
49
Diseño conceptual de un
DataWarehouse
Metodología semi automática para
construir un modelo lógico
de un DataWarehouse a partir de un
Modelo Entidad Interrelación
50
Ejemplo de MER
51
Transformación de una relación
en entidad
52
Metodología
Definir los hechos
Por cada hecho
–
–
–
–
–
Construir el árbol de atributos
Recortar e injertar el árbol
Definir dimensiones
Definir atributos de hecho
Definir jerarquias
53
Definir los hechos
Los hechos son conceptos de interés
primario para realizar procesos de toma de
decisiones
Un hecho puede ser representado en un MER
mediante un entidad o una relación que
representan archivos actualizables
54
Construir el árbol de atributos
Dada una porción de interés del MER y una
entidad F que pertenece a él, denominamos
árbol de atributos al árbol que:
Cada vértice corresponde a un atributo del
esquema
La raíz corresponde al identificador de F
55
Algoritmo
translate(F, identifier(F))
donde
translate(E, v): // E es la entidad actual, v es el vértice actual
{ for each attribute a e E a identifier(F) do
addChild (v, a); // agrego un hijo a al vértice v
for each entity G connected to E
by a x-to-one relationship R do
{ for each attribute b e R do
addChild (v, b);
addChild (v, identifier(G));
translate(G, identifier(G));
}
}
56
Árbol de atributos
57
Recortar e injertar el árbol
No todos los atributos representados en el
árbol pueden ser de interés.
El árbol puede ser podado e injertado para
eliminar detalles innecesarios
58
Recortar e injertar el árbol
graft(v):
{ for each v” v” is child of v do
addChild(v’,v”);
drop v;
}
59
Árbol podado e injertado
60
Definir dimensiones
Las dimensiones determinan cómo las
instancias de hechos pueden ser agregadas
para el proceso de la toma de decisiones
Deben ser elegidas entre los vértices del árbol
Ejemplo
Fecha
Producto
Almacen
61
Definir atributos de hecho
Son cantidades del número de instancias de
hecho o suma/promedio/máximo/mínimo
de expresiones que involucran atributos
numéricos del árbol de atributos
62
Definir jerarquías
La jerarquías especifican distintos niveles de
agrupamiento
El árbol ya muestra una organización
jerárquica
63