Post on 13-Dec-2014
Sistemas de bodegas de datospor
Claudia Jiménez RUniversidad Nacional de Colombia
Diapositivas basadas en presentaciones de Matilde Celma y José Hernández Orallo
2
Bodega de Datos
Base de Datos diseñada con un objetivo de uso distinto que el de las bases de datos transaccionales.
Sistema Operacional
(OLTP)
Sistema de Bodegas de Datos
(DW)
BD orientada a los procesos operativos de una organización
BD orientada al análisis
3
Características de una Bodega de Datos
1. Contiene información relevante de la organización
Se diseña para consultar y analizar datos sobre las actividades básicas (ventas, compras, producción, ...), no para apoyar los procesos que se realizan en ella (pedidos, facturación…).
PRODUCTO...
GAMA...
VENTA...
PAÍS...
Base de Datos Transaccional
CURSOs...
empleados...
importaciones...
4
Base de Datos Transaccional 1
Fuente de Datos 1
Fuentes Externas
Fuentes Internas
Fuente de Datos 2
Fuente de Datos 3
HTML
Bodega de Datos
texto
Base de Datos Transaccional 2
2. Datos IntegradosReune los datos recogidos de diferentes sistemas informáticos (y/o fuentes externas).
Características de una Bodega de Datos
5
Característica de un Almacén de Datos
MatriculadosTiempo
01/2009
02/2009
01/2010
Datos del primer semestre
Datos de segundo semestre
Datos del primer semestre
3. Variable en el tiempo
Los datos son relativos a un período de tiempo y deben ser actualizados periódicamente.
6
Carga y actualización de una Bodega de Datos
El sistema encargado del mantenimiento del almacén de datos es el Sistema E.T.L (Extracción - Transformación - Carga). El Sistema E.T.L es construido específicamente para cada bodega de datos.
Funciones del Sistema E.T.L:
– Carga inicial. (initial load)
– Mantenimiento o refresco periódico: inmediato, diario, semanal, mensual,... (refreshment)
7
Bases de datos operativas
Almacenamiento intermedio
Bodega de datos
Transformación
Extracción Transporte
Para:– Realizar transformaciones sin paralizar las bases de datos operativas o
la bodega de datos.– Guardar metadatos acerca de las fuentes. – Facilitar la integración de fuentes externas.
Fuentes Externas
Almacenamiento intermedio o temporal
8
Actividades en el Proceso E.T.L
Transformación
Extracción Transporte
• Identificación de los datos que han cambiado
• Lectura de datos.
• Obtención de resúmenes.
• Mantenimiento de metadatos- • Limpieza y transformación de datos
• Cálculo de datos derivados
• Reducción de la dimensionalidad
• Mantenimiento de metadatos
• Carga
• Creación de índices
• Obtención de datos agregados.
• Realización de pruebas de calidad de la carga.
• Manejo de errores y faltantes.
• Mantenimiento de metadatos
9
Calidad de los datos
Definir estrategias de calidad:
• Actuación sobre los sistemas transaccionales: modificar reglas de integridad, los disparadores y las aplicaciones.
• Documentación de las fuentes de datos.• Definición del proceso de validación de datos.• Nombramiento de un responsable de la calidad del sistema (Data
Quality Manager).
La “calidad de los datos” es la clave del éxito de una bodega de datos.
10
Extracción de los datos
a) Si los datos de interés están en bases de datos, el proceso de extracción no es difícil. Basta una orden SQL para extractarlos.
b) Si los datos están en otros sistemas o en fuentes externas textuales, hipertextuales u hojas de cálculo, la extracción puede ser muy difícil.
11
Transformación de datos
- Transformar los datos extraídos de las fuentes: limpieza y estandarización. (data cleansing)
- Calcular datos derivados: definir y aplicar las leyes de derivación.
Bases de datos transaccionales
Almacenamiento intermedio
Bodega de datos
Transformación
12
Transformación de datos
– En los datos operacionales existen anomalías por desarrollos independientes a lo largo del tiempo, fuentes heterogéneas, ..
– Eliminar anomalías: • Limpieza de datos: eliminar datos, corregir o completar datos,
eliminar duplicados, ...
• Estandarización: codificación, formatos, unidades de medida, ...
12M65431
12-m-65421
“12m65421”
“12m65421”
“ ”
12M65431
12M65431
12-m-65421
“12m65421”
“12m65421”
“ ”
12M65431
12
12
12
M
m
m
65431
65421
65421
12
12
M
M
65431
65421
13
Transformación de datos: codificación
– Unificar codificación
– Deben detectarse los valores errados.– Se debe decidir qué hacer con los valores faltantes
f , m
1 , 0
hombre, mujer
f, m
14
Transformación de datos: estándares
– Unificar estándares: unidades de medida, unidades de tiempo,moneda,...
cm
pulgadas
cm
DD/MM/YY
MM/DD/YY
DD-MMM-YY
1,000 euros
CD 9,990
USDólar
15
Transformación: Valores duplicados
– Deben ser detectados.
U. Nal
UN
Universidad Nacional de Colombia UN
16
Transformación: Reglas de integridad
• Integridad de entidad• Integridad de dominio • Integridad referencial• Reglas del negocio
17
Transporte (carga)
– La fase de Transporte consiste en mover los datos desde las fuentes o el almacenamiento intermedio hasta la bodega de datos y cargar los datos en las correspondientes estructuras de datos.
– La carga puede consumir mucho tiempo.– En la carga inicial se mueven grandes volúmenes de datos.– En los mantenimientos periódicos se mueven pequeños
volúmenes de datos.– La frecuencia del mantenimiento periódico está determinada
por el tamaño de la bodega y los requisitos de los usuarios.
18
Obtención de resúmenes.
– Durante la extracción. – Después de la carga (transporte).
Base de datos operacional
Almacenamiento intermedio
Almacén de datos
TransporteExtracción
19
Diseño de una Bodega de Datos
Diseño físico
Diseño lógico específico
Implementación
Diseño conceptual
Recolección y análisis derequisitos
20
Diseño de una Bodega de Datos
Diseño físico
Diseño lógico
Implementación
Diseño conceptual
Recolección y análisis derequisitos
Análisis
Datos disponibles
Requisitos de usuario
Diseño Conceptual
21
Diseño de una Bodega de Datos
Diseño físico
Diseño lógico
Implementación
Diseño conceptual
Recogida y análisis derequisitos Diseño
Lógico
Modelado multidimensional (MR)
Estrella
Constelación
Híbrido
22
Diseño de un Almacén de Datos
Diseño físico
Diseño lógico
Implementación
Diseño conceptual
Recogida y análisis derequisitos
Definición del esquema ROLAP o MOLAP
Diseño Físico
Diseño del ETL
23
Diseño de un Almacén de Datos
Diseño físico
Diseño lógico
Implementación
Diseño conceptual
Recogida y análisis derequisitos
Implementación
Carga (ETL)
Preparación de las vistas de usuario
(herramienta OLAP)
24
Diseño Lógico de una Bodega de Datos
La visión multidimensional seguida por las herramientas de almacenes de
datos (OLAP) ha inspirado los modelos y metodologías de diseño de este tipo
de sistemas.
En la literatura se habla de “Bases de Datos Multidimensionales” y de “Diseño
Multidimensional”
Diseño físico
Diseño lógico
Implementación
Diseño conceptual
Recolección y análisis derequisitos
25
Pasos en el diseño de la bodega de datos:
• Paso 1. Elegir un “proceso” 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 que se debe almacenar sobre el proceso.
Producción académica DeserciónProgramación cursos
26
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. ....
27
Diseño de un Almacén de Datos
id_dim1
id_dim2
id_dim3
...
id_dim n
....
(hechos)
Dim3
Dim2
Dim1
tabla de hechos
tabla Dimensión 3
tabla Dimensión 1
tabla Dimensión 2 tabla
Dimensión nDimn
28
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
tiempo
almacén
categoría
29
Diseño de un Almacén de Datos
• Gránulo inferior: no se almacena información a nivel de línea de ticket porque no se puede identificar siempre al cliente de la venta lo que permitiría hacer análisis del comportamiento (hábitos de compra) del cliente.
• Gránulo superior: no se almacena información a nivel semanal o mensual porque se perderían opciones de análisis interesantes: ventas en días previos a vacaciones, ventas en fin de semana, ventas en fin de mes, ....
En un almacén de datos se almacena información a un nivel de detalle (gránulo) fino no porque se
vaya a interrogar el almacén a ese nivel sino porque ello permite clasificar y estudiar (analizar)
la información desde muchos puntos de vista.
30
Diseño de un Almacén de Datos
producto
día
almacén
ventas
tiempo
almacén
producto
id_producto
id_fecha
id_almacén
.....
.....
......
tabla de hechos
la clave primaria* está formada por los identificadores de las dimensiones básicas.
datos (medidas) sobre las ventas diarias de un producto en un almacén.
* pueden existir excepciones a esta regla general
31
Diseño de un Almacén de Datos
Paso 3. Identificar las dimensiones que caracterizan el proceso.
Dimensiones: dimensiones que caracterizan la actividad al nivel de detalle (gránulo) que se ha elegido.
Tiempo (dimensión temporal: ¿cuándo se produce la actividad?)
Producto (dimensión ¿cuál es el objeto de la actividad?)
Almacén (dimensión geográfica: ¿dónde se produce la actividad?)
Cliente (dimensión ¿quién es el destinatario de la actividad?)
De cada dimensión se debe decidir los atributos (propiedades) relevantes para el análisis de la actividad.
Entre los atributos de una dimensión existen jerarquías naturales que deben ser identificadas (por ej, día-mes-año)
32
Diseño de un Almacén de Datos
id_dim1
....
tabla Dimensión 1
(atri
buto
s)
33
Diseño de un Almacén de Datos
Ejemplo: Cadena de supermercados.
definición de gránulo
dimensiones básicas
tiempo
producto
establecimiento
Nota: En las aplicaciones reales el número de dimensiones suele variar entre 3 y 15 dimensiones.
34
Dimensión Tiempo
Dimensión presente en toda bodega porque contiene información histórica sobre la organización.
Se puede calcular de antemano.
Atributos frecuentes:
–día, nro de semana, año: valores absolutos del calendario juliano que permiten hacer ciertos cálculos aritméticos.
– día de la semana (lunes, martes, miércoles,...): permite hacer análisis sobre días de la semana concretos (ej.
ventas los sábado, ventas los lunes,..).
35
Dimensión Producto
La dimensión Producto se define a partir del archivo maestro de productos del sistema OLTP.
La dimensión Producto debe contener el mayor número posible de atributos descriptivos que permitan un análisis flexible.
Atributos frecuentes: identificador (código estándar), descripción, tamaño del envase, marca, categoría, departamento, tipo de envase, producto dietético, peso, unidades de peso, unidades por envase, fórmula, ...
Jerarquías: producto-categoría-departamento
36
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, 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 ventas)
37
Paso 4. Decidir la información a almacenar
Hechos: información (sobre la actividad) que se desea almacenar en cada tupla de la tabla de hechos y que será el objeto del análisis.
Precio
Unidades vendidas
Costo de producción
....
38
Gránulos
Ejemplo: sucursal.
Gránulo: “se desea almacenar información sobre las ventas diarias de cada producto en cada establecimiento de la cadena”.
– monto total de las ventas del producto en el día
– número total de unidades vendidas del producto en el día
– número total de clientes distintos que han comprado el producto en el día.
39
Ejemplo de diseño de un Almacén de Datos
id_fecha
id_producto
id_establec
valor
unidades
nro_clientes
Ventas
id_establec
nro_establec
Nombre
barrio
ciudad
país
superficie
tipo_almacén
...
id_producto
descripción
marca
subcategoría
categoría
departamento
peso
unidades_peso
tipo_envase
Dietético?
...
Establecimiento
Producto
id_fecha
día
semana
mes
año
día_semana
día_mes
trimestre
festivo
....
Tiempo
40
Recomendaciones de diseño
Usar claves sin significado. No tiene sentido los códigos inteligentes que además demandan tiempo para construirse.
Evitar normalizar. Esto simplifica el modelo y acelera el proceso de minería de datos.
Considerar siempre la dimensión Tiempo.
Considerar que la dimensiones pueden cambiar en el tiempo. Por ejemplo (tamaños de la empresa grande, pequeñas…la definición puede cambiar)
Es importante definir adecuadamente el nivel de agregación o granularidad de los datos.