Data warehousing es el centro de la arquitectura para los sistemas de información en la década de los '90. Soporta el procesamiento informático al proveer una plataforma sólida, a partir de los datos históricos para hacer el análisis. Facilita la integración de sistemas de aplicación no integrados. Organiza y almacena los datos que se necesitan para el procesamiento analítico, informático sobre una amplia perspectiva de tiempo.
Un Data Warehouse o Depósito de Datos es una colección de datos orientado a temas, integrado, no volátil, de tiempo variante, que se usa para el soporte del proceso de toma de decisiones gerenciales.
Se puede caracterizar un data warehouse haciendo un contraste de cómo los datos de un negocio almacenados en un data warehouse, difieren de los datos operacionales usados por las aplicaciones de producción.
2. Hechos
Los hechos son transacciones que han ocurrido en
algún punto en el pasado, y que es muy poco
probable que cambien en el futuro
Los hechos se pueden analizar de diferentes
formas dependiendo de la información de
referencia
Los hechos suelen tener pocos atributos, puesto
que no tiene datos operacionales
3. Dimensiones
Sirven para representar cada uno de los factores por los
que se puede analizar un determinado área de negocio
Son tablas siempre más pequeñas
A menudo se desnormalizan
día mes
clave_día
clave_mesclave_mes
mes
día
clave_día
clave_mes
mes
4. Hechos y dimensiones
Ventas
July 2001
M T W T F S S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Pc
Portátil
Ratón
FaxTeléfono
Sucursales
Productos
Clientes
Fecha
7. Diseño STAR: pasos a seguir
De diagrama E/R surgen múltiples diagramas
en estrella
Separar en procesos discretos de negocio
(hechos) y modelar cada hecho
Seleccionar relaciones n:m con atributos
numéricos
Desnormalizar las tablas de dimensión
8. Diseño STAR: pasos a seguir
A BR
C
S
D
T E
R
A B
C Fecha
Diagrama E/R Diagrama en
estrella
9. Diseño de la tabla de hechos
Decidir la granularidad de la tabla de hechos
Establece lo que significa cada registro de la
tabla de hechos
Decidir las dimensiones
Decidir los hechos de la tabla de hechos
Deben ser específicos para la granularidad
seleccionada para la tabla de hechos
10. Diseño de la tabla de hechos
Identificar el periodo histórico significativo para los
distintos procesos y el grado de detalle requerido
Eliminar todas las columnas del hecho que no sean
requeridas para responder a preguntas de toma de
decisiones
Ajustar el tamaño de cada columna
Usar claves generadas
11. Claves primarias y extranjeras
Todas las claves que se utilicen en tablas del Data
Warehouse deben ser claves sin significado
Nunca se deben usar claves de producción
Facilitar los cambios
Situaciones “no lo se”, “desconocido”
Dimensiones que cambian en el tiempo
12. Aditividad
Siempre que sea posible, los hechos de la tabla de
hechos deberían elegirse para que sean
perfectamente aditivos (se pueden sumar por
cualquier dimensión)
Las medidas de actividad son generalmente
aditivas
Las medidas de intensidad no siempre lo son
(niveles de inventario, balance de cuentas...)
14. Diseño de las dimensiones
Son tablas más pequeñas
Desnormalizar si se acceden muy a menudo en las
consultas para acelerar el desempeño (Esquemas
estrella)
Establecer la política para dimensiones cambiantes
Actualizar los cambios
Atributos valor antiguo – valor nuevo
Generar un nuevo código para el nuevo valor
15. Normalización de dimensiones
Se dice que una dimensión está “snowflaked”
cuando los atributos de baja cardinalidad se llevan
a tablas separadas
Generalmente no se recomienda
A veces se usa para ahorrar espacio de
almacenamiento
No permite hacer uso de los índices de bitmap
Sin embargo existen situaciones (datos
demográficos) en las que son aconsejables
17. Diseñar las tablas dimensión
Producto
Clave_producto
SKU
Descripción
Clave_marca_comercial
Clave_marca_financiera
Clave_tipo_embalaje
Tamaño
Clave_sabor
Altura
Cantidad_por_caja
Categoria_comercial
Categoria_financiera
Marca_financiera
Marca_comercial
Tipo_embalaje
Sabor
Tabla de hechos
Clave_producto
18. Diseñar las tablas dimensión
Cliente
Clave cliente (PK)
ID_cliente
Nombre
Dirección
Ciudad
Departamento
Fecha primera compra
Score de compra
Score de crédito
Subdimensión demográfica
Departamento
Número de segmento
Nombre del segmeto
Contador del segmento
Porcentaje del segmento
Ranking del segmento
Ventas
Clave_cliente
Clave_producto
19. Un esquema en estrella
Ventas
Cod_Fecha
Clave_Cliente
Clave_Sucursal
Clave_Producto
unidades
precio_unidad
ticket
Fechas
Código
Sysdate
Día
Mes
día_semana
___
Sucursal
Clave
Dirección
Segmento
Descripción
Producto
Clave_producto
SKU
Descripción
Clave_marca_comercial
Clave_marca_financiera
Clave_tipo_embalaje
Tamaño
Clave_sabor
Altura
Cantidad_por_caja
Categoria_comercial
Categoria_financiera
Marca_financiera
Marca_comercial
Tipo_embalaje
Sabor
Cliente
Clave cliente (PK)
ID_cliente
Nombre
Dirección
Ciudad
Departamento
Fecha primera compra
Score de compra
Score de crédito
Subdimensión demográfica
Departamento
Número de segmento
Nombre del segmento
Contador del segmento
Porcentaje del segmento
Ranking del segmento
20. La importancia de los atributos
La calidad del Data Warehouse se mide por la
calidad de los atributos
Descriptivos
Completos (sin valores nulos)
Indexados
Palabras enteras
Documentados (metadatos)
Calidad asegurada
21. Tabla de fechas
Fecha
Codigo
Día
Día semana (numero)
Dia semana (nombre)
Festivo
Mes (numero)
Mes (nombre)
Fin de semana
Dia antes fin de semana
....
Sucesos climaticos
Codigo_Fecha
Codigo de suceso
Nombre de suceso
Fiestas nacionales
Codigo_Fecha
Codigo de fiesta
Nombre fiesta
Fiestas locales
Codigo_Fecha
Codigo de fiesta
Nombre fiesta
Sucesos politicos
Codigo_Fecha
Codigo de suceso
Nombre de suceso
22. Dimensión “degenerada”
La mayoría de los diseños multidimensionales están
alrededor de un documento de control: número de
pedido, factura, ticket, ...
Generalmente son contenedores de más de un
producto
Generalmente en estos casos la granularidad de la
tabla la marca este número
¿Qué se hace con los números?
Se ponen en las tablas pero no tienen una dimensión
con la que hacer “join”
23. Aplicación de dimensiones “degeneradas”
Ventas
Cod_Fecha
Cod_Cliente
Cod_Sucursal
Cod_Producto
unidades
precio_unidad
ticket
Cliente
Codigo
Nombre
Sexo
Cluster
___
Fechas
Codigo
Sysdate
Día
Mes
día_semana
___
Producto
Codigo
Descripción
tipo
sección
Sucursal
Codigo
Dirección
Segmento
Descripcion
Dimensión
degenerada
24. Dimensión “Cajón desastre”
En ocasiones se tienen atributos textuales y “flags” de
distinta naturaleza que no parecen organizarse de
manera coherente
La solución no parece sencilla
• Dejar los atributos en la tabla de hechos
• Hacer dimensiones separadas para cada atributo
• Quitar directamente estos atributos
La mejor solución es compactarlos todos en lo que se
denomina una “junk dimension”
25. Aplicación de dimensión “junk"
Gustos
Codigo
Niños
Ascensor
Almohada
Tipo_cama
___
Cliente
Codigo
Nombre
Fecha_nacimiento
Sexo
Tipo
___
Fecha
Codigo
Día
Día semana
Festivo
Mes
___
Sucesos
Codigo_Fecha
Suceso Politico
___
Reservas
Cod_Cliente
Cod_Habitacion
Cod_Fecha
Reserva
Gustos
días
coste
descuento
Habitacion
Codigo
Planta
Sección
Tamaño
Cajón desastre
26. Tablas de hechos sin hechos
Hay situaciones en las que se tiene en el
diseño final una tabla de hechos sin hechos
Son situaciones en las que interesa el
suceso en sí
Afluencia de público
Coberturas
27. Tablas de hechos sin hechos
Productos en promocion
Cod_Fecha
Cod_promocion
Cod_producto
"1"
Producto
Codigo
Nombre
Tipo
___
Fecha
Codigo
Día
Día semana
Festivo
Mes
___
Promocion
Codigo
Tipo
Dias
Descripcion
28. Ejercicio a resolver
Supónga un hospital en el se ha decidido construir
un Data Warehouse para analizar
Ocupación
Tratamientos
Diagnósticos
29. Pasos a seguir
Estudiar el problema
Determinar los hechos fundamentales a estudiar
Para cada hecho
Analizar la granularidad del hecho
Decidir las dimensiones
Diseñar las dimensiones
30. Ocupación de camas
July 2001
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Ocupación
Pacientes
Camas
Fecha
31. Tratamientos
Tratamientos
July 2001
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Pacientes
Médicos
Fecha
Tratamientos
32. Diagnósticos
July 2001
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Pacientes
Doctores
Fecha
Diagnósticos
Diagnósticos