Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVO:
Análisis de Datos para el Soporte en
la Toma de Decisiones.
2
Introducción a los Almacenes de Datos
• PROBLEMAS:
3
Introducción a los Almacenes de Datos
NACE EL DATA-WAREHOUSING
4
Introducción a los Almacenes de Datos
Almacenes de Datos (AD) (data warehouse)
motivación
disponer de Sistemas de
Información de apoyo a la
toma de decisiones*
objetivos
Almacenes de datos
Almacenes de Datos
definición
8
Introducción a los Almacenes de Datos
Base de Datos
Transaccional
PAÍS GAMA
CURSO ... ...
...
VENTA Información
...
REUNION
... PRODUCTO
Necesaria
PROTOTIPO ...
...
9
Introducción a los Almacenes de Datos
Fuente de Fuente de
Datos 1 Datos 3 Fuente de
texto Datos 2
HTML
Base de Datos
Transaccional 1
Fuentes
Externas
Fuentes
Internas
Base de Datos
Transaccional 2
Almacén
de Datos
10
Introducción a los Almacenes de Datos
Tiempo Datos
01/2003 Datos de Enero
11
Introducción a los Almacenes de Datos
Carga
INSERT READ
READ
UPDATE
DELETE El periodo de tiempo cubierto por un AD varía
entre 2 y 10 años.
12
Introducción a los Almacenes de Datos
Almacenes de Datos
ventajas para las
organizaciones
13
Introducción a los Almacenes de Datos
Almacenes de Datos
problemas
privacidad de
los datos
infravaloración del
esfuerzo necesario para incremento
su diseño y creación continuo de los
infravaloración de los
recursos necesarios requisitos de los
para la captura, carga usuarios
y almacenamiento de
los datos
14
Introducción a los Almacenes de Datos
Sistema Operacional (OLTP) Almacén de datos (DW)
Base de Datos
Transaccional
Herramientas
EIS
Almacén Interfaz y
ETL Operadores
de Datos
Fuente de
Datos 1 Herramientas
texto OLAP
Fuente de
Datos 3
HTML
Copias de
Seguridad
Herramientas de
Fuente de
Datos Fuentes Minería de
Externas Datos
16
Arquitectura de un Almacén de Datos
• Componentes:
• Sistema ETL (Extraction, Transformation, Load): realiza las
funciones de extracción de las fuentes de datos
(transaccionales o externas), transformación (limpieza,
consolidación, ...) y la carga del AD, realizando:
• extracción de los datos.
• filtrado de los datos: limpieza, consolidación, etc.
• carga inicial del almacén: ordenación, agregaciones, etc.
• refresco del almacén: operación periódica que propaga los
cambios de las fuentes externas al almacén de datos
• Repositorio Propio de Datos: información relevante, metadatos.
• Interfaces y Gestores de Consulta: permiten acceder a los
datos ys sobre ellos se conectan herramientas más
sofisticadas (OLAP, EIS, minería de datos).
• Sistemas de Integridad y Seguridad: se encargan de un
17
mantenimiento global, copias de seguridad, ...
Arquitectura de un Almacén de Datos
18
Arquitectura de un Almacén de Datos
EJEMPLO
Organización: Cadena de supermercados.
Marca
Descripción Semana
Categoría
Departamento Mes
Nro_producto Día Trimestre
Tipo Año
importe
unidades
Almacén
Ciudad
Tipo
Región
20
Arquitectura de un Almacén de Datos
Dimensiones (puntos de
vista) desde los que se
puede analizar la actividad.
Marca
Descripción Semana
Categoría
Departamento Mes
Día Trimestre
Nro_producto
Tipo Año
importe
unidades
Almacén
Ciudad
Tipo
Actividad que es objeto de
análisis con los indicadores Región
Modelo multidimensional:
en un esquema multidimensional se representa una actividad
que es objeto de análisis (hecho) y las dimensiones que
caracterizan la actividad (dimensiones).
la información relevante sobre el hecho (actividad) se
representa por un conjunto de indicadores (medidas o atributos de
hecho).
la información descriptiva de cada dimensión se representa por
un conjunto de atributos (atributos de dimensión).
22
Arquitectura de un Almacén de Datos
Marca hecho
Descripción Semana
Categoría
Departamento Mes
Nro_producto Día Trimestre
Tipo Año
importe
unidades
Almacén dimensión
medidas
Ciudad
Tipo
Región
atributos
23
Arquitectura de un Almacén de Datos
Producto
Almacén
ciudad región
almacén
tipo
Tiempo
semana 24
Arquitectura de un Almacén de Datos
PERSONAL
equipo
tiempo
producto
VENTAS
lugar
25
Arquitectura de un Almacén de Datos
VENTAS lugar
lugar
PRODUCCIÓN
tiempo
Almacén
tiempo formado por
lugar 4 datamarts.
proyecto
equipo PERSONAL
tiempo
producto
CAMPAÑA
27
Arquitectura de un Almacén de Datos
subconjunto de un almacén de
Data mart datos, generalmente en forma de
estrella o copo de nieve.
28
Herramientas OLAP
medida hecho
30
Herramientas OLAP
Marca “Bebidas”
Día de la
Categoría semana
Mes
Departamento
Nro_producto Día Año Trimestre
Tipo
importe “2002”
unidades
Almacén
Ciudad
“Importe total de ventas en Tipo
este año, del departamento Región
de “Bebidas”, por categoría y
trimestre”
31
Herramientas OLAP
trimestre categoría importe
32
Herramientas OLAP
Refrescos T2 1000000
Refrescos T3 3000000
Refrescos T4 2000000
Zumos T1 1000000
Zumos T2 1500000
Se asumen dos categorías en
Zumos T3 8000000
el departamento de Bebidas:
2400000 Refrescos y Zumos.
Zumos T4
33
Herramientas OLAP
34
Herramientas OLAP
36
Herramientas OLAP
37
Herramientas OLAP
Marca “Bebidas”
Día de la
Categoría semana
Mes
Departamento
Nro_producto Día Año Trimestre
Tipo
importe “2002”
unidades
Almacén
Ciudad
“Importe total de ventas en Tipo
este año, del departamento Región
de “Bebidas”, por categoría,
trimestre y ciudad”
38
Herramientas OLAP
trimestre categoría importe
¡ la operación de DRILL
se realiza sobre el
informe original !
39
Herramientas OLAP
Refrescos T4 2000000
Cada grupo (categoría-trimestre) de la
Zumos T1 1000000 consulta original se disgrega en dos
nuevos grupos (categoría-trimestre-
Zumos T2 1500000 ciudad) para las ciudades de León y
Valencia.
Zumos T3 8000000
Zumos T4 2400000
* Se asumen dos ciudades: Valencia y León.
40
Herramientas OLAP
Zumos
Presentación matricial de
T1 T2 T3 T4 los datos seleccionados.
41
Herramientas OLAP
42
Herramientas OLAP
Marca “Bebidas”
Día de la
Categoría semana
Mes
Departamento
Nro_producto Día Año Trimestre
Tipo
importe “2002”
unidades
Almacén
Ciudad
“Importe total de ventas en Tipo
este año, del departamento Región
de “Bebidas”, por categorías”
43
Herramientas OLAP
trimestre categoría importe
¡ la operación de ROLL
se realiza sobre el
informe original !
44
Herramientas OLAP
Refrescos T1 2000000
Refrescos T2 1000000
Refrescos 8000000
Refrescos T4 2000000
Zumos 12900000
Zumos T1 1000000
Zumos T2 1500000
Zumos T3 8000000
Zumos T4 2400000
45
Herramientas OLAP
46
Herramientas OLAP
trimestre categoría importe
¡ la operación de DRILL
se realiza sobre el
informe original !
47
Herramientas OLAP
Refrescos T3 3000000
Refrescos T4 2000000
Zumos T3 8000000
Zumos T4 2400000
48
Herramientas OLAP
49
Herramientas OLAP
Ventas Ventas
Productos Store1 Store2 Productos Q1 Q2
Electronics $5,2 $5,6 Electronics $5,2 $8,9
Store 1
Toys $1,9 $1,4 Toys $1,9 $0,75
Q1
Store 2
Toys $0,75 $0,4 Toys $1,4 $0,4
Q2
50
Herramientas OLAP
Ventas
Ventas
Productos Store1 Store2
Electronics $5,2 $5,6 Productos Store1
Toys $1,9 $1,4
Q1
Q1
Cosmetics $1,1 $1,1 Toys $1,9
Electronics $8,9 $7,2 Electronics $8,9
Q2
Toys $0,75 $0,4 Toys $0,75
Q2
51
Herramientas OLAP
Sistemas ROLAP
se implementan sobre tecnología relacional, pero
disponen de algunas facilidades para mejorar el
rendimiento (índices de mapas de bits, índices de JOIN).
Sistemas MOLAP
disponen de estructuras de almacenamiento específicas
(arrays) y técnicas de compactación de datos que
favorecen el rendimiento del almacén.
Sistemas HOLAP
sistemas híbridos entre ambos. 53
ROLAP y MOLAP
Sistemas ROLAP:
54
ROLAP y MOLAP
Sistemas ROLAP:
Extensiones de los SGBD relacionales:
índices de mapa de bits
índices de JOIN
técnicas de particionamiento de los datos
optimizadores de consultas
extensiones del SQL (operador CUBE, roll-up)
55
ROLAP y MOLAP
Sistemas MOLAP.
Sistema de propósito específico:
estructuras de datos (arrays)
técnicas de compactación.
56
ROLAP y MOLAP
Estructuras Herramienta
multidimensionales
OLAP
– El servidor MOLAP
construye y almacena datos
en estructuras
multidimensionales.
– La herramienta de OLAP
presenta estas estructuras Servidor
multidimensionales. MOLAP
Warehouse
57
ROLAP y MOLAP
Estructuras Herramienta
multidimensionales
MOLAP: OLAP
– Datos
• Arrays
• Extraídos del almacén de datos
– almacenamiento y procesos
eficientes Servidor
MOLAP
– la complejidad de la BD se
oculta a los usuarios
ROLAP MOLAP
Desktop
Herramienta
OLAP
Servidor Herramienta
Multidimensional OLAP
Servidor
Relacional
Warehouse
59
ROLAP y MOLAP
ROLAP/MOLAP: Ventajas e Inconvenientes:
ROLAP
pueden aprovechar la tecnología relacional.
pueden utilizarse sistemas relacionales genéricos
(más baratos o incluso gratuitos).
el diseño lógico corresponde al físico si se utiliza el
diseño de Kimball.
MOLAP:
generalmente más eficientes que los ROLAP.
el coste de los cambios en la visión de los datos.
la construcción de las estructuras multidimensionales.
60
Carga y Mantenimiento de un A.D.
El sistema encargado del mantenimiento del almacén de datos es
el Sistema E.T.L. (Extracción - Transformación -Carga)
– La construcción del Sistema E.T.L es responsabilidad del equipo
de desarrollo del almacén de datos.
– El Sistema E.T.L es construido específicamente para cada
almacén de datos. Aproximadamente 50% del esfuerzo.
– En la construcción del E.T.L se pueden utilizar herramientas del
mercado o programas diseñados específicamente.
61
Carga y Mantenimiento de un A.D.
E.T.L.
Correspondencia
Extracción Carga
Extracción Carga
Transformación
Carga
Identificación de los
datos que han cambiado Indización
Limpieza y transformación Obtención de datos
Extracción (lectura) de
de datos agregados.
datos.
Integración de datos Realización de pruebas
Obtención de agregados
(cálculo de datos derivados) de calidad de la carga.
Mantenimiento de
Creación de claves Gestión de errores.
metadata
Obtención de agregados Mantenimiento de
Mantenimiento de metadata
metadata 63
Carga y Mantenimiento de un A.D.
64
Carga y Mantenimiento de un A.D.
Extracción.
Correspondencia
Extracción
Ejecución de la extracción:
a) si los datos operacionales están mantenidos en un SGBDR, la
extracción de datos se puede reducir a consultas en SQL o
rutinas programadas.
b) si los datos operacionales están en un sistema propietario
(no se conoce el formato de los datos) o en fuentes externas
textuales, hipertextuales u hojas de cálculo, la extracción puede
ser muy difícil y puede tener que realizarse a partir de informes
o volcados de datos proporcionados por los propietarios que
deberán ser procesados posteriormente. 66
Carga y Mantenimiento de un A.D.
Extracción: en el mantenimiento/refresco del AD. Antes de
realizar la extracción es preciso Identificar los Cambios.
Identificación de Cambios.
– Identificar los datos operacionales (relevantes) que han sufrido
una modificación desde la fecha del último mantenimiento.
– Métodos
• Carga total: cada vez se empieza de cero.
• Comparación de instancias de la base de datos operacional.
• Uso de marcas de tiempo (time stamping) en los registros del
sistema operacional.
• Uso de disparadores en el sistema operacional.
• Uso del fichero de log (gestión de transacciones) del sistema
operacional.
• Uso de técnicas mixtas. 67
Carga y Mantenimiento de un A.D.
Transformación.
Correspondencia
Transformación
Transformación.
12M65431 12M65431 12 M 65431 12 M 65431
12-m-65421 12-m-65421 12 m 65421 12 M 65421
“12m65421” “12m65421” 12 m 65421
“12m65421” “12m65421”
“ ” “ ”
12M65431 12M65431
Transformación.
– Claves con estructura: descomponer en valores atómicos
Transformación.
– Unificar codificaciones: existencia de codificaciones múltiples.
v,h
1,0 v, h
varón, hembra
71
Carga y Mantenimiento de un A.D.
Transformación.
– Unificar estándares:unidades de medida, unidades de
tiempo,moneda,...
cm
cm
inches
DD/MM/YY
DD-Mon-YY
MM/DD/YY
1,000 GBP
USD 600
FF 9,990 72
Carga y Mantenimiento de un A.D.
Transformación.
– Valores duplicados: deben ser eliminados.
• SQL
• restricciones en el SGBDR
ACME Inc
ACME Inc
73
Carga y Mantenimiento de un A.D.
Transformación.
– Integridad referencial: debe reconstruirse.
74
Carga y Mantenimiento de un A.D.
Transporte. (carga)
– La fase de Transporte consiste en mover los datos desde las
fuentes operacionales o el almacenamiento intermedio hasta el
almacén de datos y cargar los datos en las correspondientes
estructuras de datos.
– La carga puede consumir mucho tiempo.
– En la carga inicial del AD se mueven grandes volúmenes de
datos.
– En los mantenimientos periódicos del AD se mueven pequeños
volúmenes de datos.
– La frecuencia del mantenimiento periódico está determinada
por el gránulo del AD y los requisitos de los usuarios.
76
Carga y Mantenimiento de un A.D.
Base de datos
operacional
T1 T2 T3
– Durante la carga:
carga con el índice habilitado
proceso tupla a tupla. (lento)
– Después de la carga:
carga con el índice deshabilitado
creación del índice (total o parcial). (rápido)
Index
Extracción Transporte
Recogida y análisis de
requisitos
Diseño conceptual
Diseño físico
Implementación
80
Diseño de un Almacén de Datos
Recogida y análisis de
requisitos Análisis
Implementación
Diseño
Conceptual 81
p.ej. Entidad-Relación
Diseño de un Almacén de Datos
Recogida y análisis de
requisitos Diseño
Lógico
Diseño conceptual
Modelado
Diseño lógico multidimensional (MR)
Diseño físico
Esquemas
estrella
Implementación
82
Diseño de un Almacén de Datos
Recogida y análisis de
requisitos
Diseño
Físico
Diseño conceptual
Diseño físico
83
Diseño de un Almacén de Datos
Recogida y análisis de
requisitos
Implementación
Diseño conceptual
Diseño físico
Preparación de las
vistas de usuario
(herramienta OLAP)
Implementación
84
Diseño de un Almacén de Datos
• Detallemos más ahora el Diseño Lógico...
Diseño lógico
Modelado multidimensional:
en un esquema multidimensional se representa
una actividad que es objeto de análisis (hecho) y
las dimensiones que caracterizan la actividad
(dimensiones).
la información relevante sobre el hecho (actividad)
se representa por un conjunto de indicadores
(medidas o atributos de hecho).
la información descriptiva de cada dimensión se
representa por un conjunto de atributos (atributos
de dimensión).
86
Diseño de un Almacén de Datos
Modelado multidimensional:
el modelado multidimensional se puede aplicar
utilizando distintos modelos de datos
(conceptuales o lógicos).
la representación gráfica del esquema
multidimensional dependerá del modelo de datos
utilizado (relacional, ER, UML, OO, ...).
87
Diseño de un Almacén de Datos
89
Diseño de un Almacén de Datos
Actividad: Ventas.
La actividad a modelar son las ventas de productos
en los almacenes de la cadena.
91
Diseño de un Almacén de Datos
Paso 2. Decidir el gránulo (nivel de detalle) de
representación.
Gránulo: es el nivel de detalle al que se desea almacenar
información sobre la actividad a modelar.
El gránulo define el nivel atómico de datos en el almacén
de datos.
El gránulo determina el significado de las tuplas de la tabla
de hechos.
El gránulo determina las dimensiones básicas del esquema
• transacción en el OLTP
• información diaria
• información semanal
• información mensual. .... 92
Diseño de un Almacén de Datos
tabla de
tabla hechos
tabla
Dimensión 1 id_dim1 Dimensión 3
id_dim2
id_dim3
tabla ...
Dimensión 2 tabla
id_dim n Dimensión n
....
(hechos)
93
Diseño de un Almacén de Datos
Ejemplo: Cadena de supermercados.
Gránulo: “se desea almacenar información sobre las ventas
diarias de cada producto en cada almacén de la cadena”.
Gránulo:
define el significado de las tuplas de la tabla de hechos.
determina las dimensiones básicas del esquema.
producto
día
almacén
ventas
94
Diseño de un Almacén de Datos
producto
día
almacén
ventas
tabla de id_producto
la clave primaria* está
hechos id_fecha formada por los
identificadores de las
id_almacén dimensiones básicas.
.....
datos (medidas) sobre las
..... ventas diarias de un
...... producto en un almacén.
tabla
Dimensión 1
id_dim1
....
98
Diseño de un Almacén de Datos
99
Diseño de un Almacén de Datos
Dimensión Tiempo:
102
Diseño de un Almacén de Datos
Dimensión Establecimiento (store) :
la dimensión Almacén representa la información geográfica básica.
esta dimensión suele ser creada explícitamente recopilando
información externa que sólo tiene sentido en el A.D y que no la
tiene en un OLTP (número de habitantes de la ciudad del
establecimiento, caracterización del tipo de población del distrito, ...)
atributos frecuentes: identificador (código interno), nombre,
dirección, distrito, región, ciudad, país, director, teléfono, fax, tipo de
almacén, superficie, fecha de apertura, fecha de la última
remodelación, superficie para congelados, superficie para productos
frescos, datos de la población del distrito, zona de ventas, ...
jerarquías:
– establecimiento - distrito - ciudad - región - país (jerarquía
geográfica)
– establecimiento - zona_ventas - región_ventas (jerarquía de 103
ventas)
Diseño de un Almacén de Datos
104
Diseño de un Almacén de Datos
Tiempo
Establecimiento
id_fecha
id_establec
día
nro_establec
semana
Producto nombre
mes
id_producto dirección
año
nro_producto distrito
día_semana
descripción ciudad
día_mes
marca país
trimestre
subcategoría tlfno
festivo Ventas
categoría fax
.... id_fecha
departamento superficie
id_producto
peso tipo_almacén
id_establec
unidades_peso ...
...
tipo_envase
...
dietético
... 105
...
Diseño de un Almacén de Datos
107
Diseño de un Almacén de Datos
Tiempo
Establecimiento
id_fecha
id_establec
día
nro_establec
semana
Producto nombre
mes
id_producto dirección
año
nro_producto distrito
día_semana
descripción ciudad
día_mes
marca país
trimestre
subcategoría tlfno
festivo Ventas
categoría fax
.... id_fecha
departamento superficie
id_producto
peso tipo_almacén
id_establec
unidades_peso ...
importe
tipo_envase
unidades
dietético
nro_clientes 108
...
Diseño de un Almacén de Datos
109
Diseño de un Almacén de Datos
Evitar normalizar:
el ahorro de espacio no es significativo
se multiplican los JOIN durante las consultas.
111
Diseño de un Almacén de Datos
112
Diseño de un Almacén de Datos