Este documento discute el modelado de datos en un entorno de data warehouse. Explica las estructuras de datos, los modelos estrella y de copo de nieve, y las tres fases del diseño: modelo de negocios, modelo dimensional y modelo físico. También cubre temas como particionamiento, indexado y optimización de consultas.
1. 1
MODELADO DE LA
DATA WAREHOUSE
Dr. Eduardo Castro, MSc
ecastro@simsasys.com
http://ecastrom.blogspot.com
http://comunidadwindows.org
http://tiny.cc/comwindows
Facebook: ecastrom
Twitter: edocastro
2. 2
Objetivos
• Discutir las estructuras de datos del ambiente data
warehouse
• Discutir las fases del diseño de la BD Data
warehouse
• Definir el modelo de negocios
• Definir el modelo dimensional
• Definir el modelo físico
4. 4
Problemas de Modelado
• Diferentes tipos de Datos
• Muchas formas de usar los datos warehouse
• Muchas formas de estructurar los datos
• Múltiples técnicas de modelado
• Planificación de replicación
• Grandes cantidades de datos
5. 5
Estructuras de Datos
• Tercera Forma Normal (3NF)
• Esquema Estrella
• Esquema de copo de nieve
6. 6
Esquema Estrella
Product Table Store Table
Product_id Store_id
Product_disc,... District_id,...
Sales Fact Table
Product_id
Store_id
Tabla de hechos Dimensiones
centrales
Item_id desnormalizadas
Day_id
Sales_amount
Sales_units, ...
Time Table
Day_id Item Table
Month_id Item_id
Year_id,... Item_desc,...
7. 7
Modelo de Copo de Nieve
Store Table
Product Table District Table
Store_id
Product_id District_id
Store_desc
Product_desc District_desc
District_id
Sales Fact Table
Item_id
Store_id
Product_id
Week_id
Sales_amount
Sales_units
Time Table Item Table Dept Table Mgr Table
Week_id Item_id Dept_id Dept_id
Period_id Item_desc Dept_desc Mgr_id
Year_id Dept_id Mgr_id Mgr_name
8. 8
Modelo de Copo de Nieve (…Cont)
• De uso directo por algunas herramientas
• Más flexible al cambio
• Provee una carga más rápida de datos
• Puede volverse grande e inmanejable
• Degrada el rendimiento de la consulta
• Metadatos más complejos
Country State County City
9. 9
Fases de Diseño
• Fase 1
Definir el modelo de negocios
• Fase 2
Definir el modelo dimensional
• Fase 3
Definir el modelo físico
10. 10
Fase 1: Modelo de Negocio
• Realizar análisis estratégico
• Crear el modelo de negocio
• Documentar los metadatos
11. 11
Análisis Estratégico
• Identificar los procesos cruciales del negocio
• Entender los procesos del negocio
• Prioriza y seleccionar los procesos de negocio a
implementar
Alta
Beneficios del
Negocio
Baja
Baja Viabilidad Alta
12. 12
Crear el Modelo de Negocios
• Definir los requerimientos del negocio:
• Identificar las medidas del negocio
• Identificar las dimensiones
• Identificar del grano
• Identificar las definiciones del negocio y reglas
• Verificar las fuentes de los datos
13. 13
Diseño de los procesos
• Entrada primaria:
Requirimientos
del Negocio
• Entrada secundaria:
Metadatos Existentes Producción del Modelo ERD Investigación
14. 14
Identificar Medidas y Dimensiones
•El atributo varía
continuamente:
Medidas
• Balance
• Unidades Vendidas
• Costo
• Ventas
Elatributo se percibe como
una constante o discreto:
Producto Dimensiones
Ubicación
Tiempo
Tamaño
15. 15
Matriz de Procesos de Negocios
Dimensiones Proceso de Negocio
de Negocio Ventas Devoluciones Inventario
Cliente
Fecha
Producto
Canal
Promoción
Ejemplo de la matriz de procesos de negocio
17. 17
Identificar la Reglas de Negocio
Ubicación Producto
Proximidad Tipo Monitor Estado
Geográfica PC 15 pulg Nuevo
0 - 1 millas Servidor 17 pulg Reconstr
1 - 5 millas 19 pulg Personali
> 5 millas Ninguna
Tiempo Almacén
Mensual > Almacén > Distrito >
Cuatrimestre > Anual Región
18. 18
Documentación de Metadatos
• Documentación del diseño de los procesos
• Documentación del proceso de desarrollo
• Dar un registro de los cambios
• Mejoras en el tiempo de grabación
19. 19
Enfoques de Documentación de Metadatos
• Automatizado
• Herramientas de modelado de Datos
• Herramientas ETL
• Herramientas de usuario final
• Manual
20. 20
Fase 2: Modelo Dimensional
• Identificar las tablas de hecho:
• Traducir las medidas de negocio en tablas de hecho
• Analizar la información fuente del sistema para medidas
adicionales
• Identificar las tablas de dimensión
• Enlazar las tablas de hecho a las tablas de dimensión
• Modelar la dimensión temporal
21. 21
Características
• Contiene métricas numéricas del negocio
• Puede contener grandes volúmenes de datos
• Puede crecer rápidamente
• Puede contener datos base, derivados y resumidos
• Son típicamente aditivos
• Unidos a las tablas de dimensión a través de llaves
foráneas que hacen referencia a llaves primarias de las
tablas de dimensión
22. 22
Características de Tablas de dimensión
• Contiene información textual que representa los atributos
del negocio
• Contiene datos relativamente estáticos
• Unidos a la tabla de hechos a través de refrencia de llave
foránea
23. 23
Características del Modelo Dimensional de
Estrella
• Fácil de entender para los usuarios
• Llaves primarias representan una dimensión
• Ninguna columna de llaves son valores
• Hechos usualmente son altamente normalizados
• Las dimensiones están completamente
desnormalizadas
• Brinda respuesta rápida a las consultas
• Se mejora el rendimiento reduciendo los joins en las
tablas
• Muchas herramientas dan soporte
24. 24
Tiempo en Data warehouse
• Definición de estándares para el tiempo es crítico
• La agregación basada en el tiempo es compleja
25. 25
Tiempo de Dimensión
• Una representación consistente del tiempo se requiere
para la extensión
Hechos de Tiempo de
Ventas Dimensión
¿Dónde debería almacenarse el tiempo de dimensión?
26. 26
Herramientas de Modelado de Datos
• Las herramientas que tienen GUI permiten definición,
modelado y reportes
• Evitar una mezcla de técnicas de modelado, causadas
por:
• Presiones de desarrollo
• Desarrolladores con falta de conocimiento
• Sin estrategia
• Determinar una estrategia
• Escribir y publicar formalmente
• Ponerlo disponible electrónicamente
27. 27
Fase 3: Modelo Físico
• Traducir el diseño dimensional en un modelo físico para
implementación
• Definir la estrategia de almacenamiento para tablas e
índices
• Realizar el dimensionamiento de la BD
• Definir la estrategia inicial de indexado
• Definir la estrategia de particionamiento
• Actualizar el documento de metadatos con información
física
28. 28
Tareas de Diseño
• Definir los estándares de nombrado y Base de Datos
• Realizar el dimensionamiento de la BD
• Desarrollar un estrategia inicial de indexado
• Desarrollar un estrategia de particionamiento de
datos
• Definir los parámetros de almacenamiento
• Usar el procesamiento en paralelo
• Definir datos de resumen
• Determinar la arquitectura del hardware
29. 29
Convenciones de Nombres de BD
• Desarrollar una lista razonable de abreviaturas
• Listar los nombres de todos los objetos y trabajar con
la comunidad de usuarios para definirlos
• Resolver las disputas de nombres
• Documentar los estándares de nombres en el
documento de metadatos
• Plan para la denominación de normas para ser un
documento activo
31. 31
Estrategia para Definir Arquitectura
• Obtener planes de arquitectura existentes
• Obtener planes de capacidad existentes
• Documentar las interfases existentes
• Preparar el plan de capacitación
• Preparar la arquitectura técnica
• Documentar los requerimientos del SO
• Desarrollar planes de recuperación
• Desarrollar planes de control y seguridad
• Crear la arquitectura
• Crear asesoramiento para riegos técnicos
33. 33
La Elección Correcta
• Los requerimientos difieren según el SO
• Área Financiera:
• Disponible para vendedores
• Desarrollado por usted mismo
• Uso de consultas realistas
• La escalabilidad es importante
34. 34
Consideraciones de Almacenaje y
Rendimiento
• Dimensionamiento de la BD
• Particionamiento de la BD
• Horizontal
• Vertical
• Indexado
• Árboles B
• Bitmap
• Bitmap-join
• Optimización de consultas estrella
• Transformación estrella
35. 35
Dimensionar la BD
• El tamaño influye en la capacidad de planeamiento y la
administración del ambiente de sistemas
• El dimensionamiento no es una ciencia exacta
• La técnicas varían
36. 36
Muestreo de Prueba de Carga
• Asegura que los reflejos de la muestra:
• Pruebe cargas para diferentes periodos
• Operaciones de día a día
• Datos de temporada y los peores escenarios
• Índices y Resúmenes
37. 37
Particionamiento
• Romper los datos en unidades físicas separadas que
se pueden manejar independientemente
• Provee la facilidad de:
• Reestructurar
• Reorganizar
• Remover
• Recuperar
• Monitorear
• Adminstrar
• Archivar
• Indexar
38. 38
Particionamiento Horizontal
• Los datos de tabla e índices están divididos por:
• Tiempo
• Región de Ventas o persona
• Geografía
• Organización
• Línea de negocios
• Las columnas candidatas aparecen en la cláusula WHERE
• El análisis determina requerimientos
39. 39
Particionamiento Vertical
• Lo puede usar cuando:
• Para acelerar la consulta y acciones de actualización
• Los usuarios requieren acceso a columnas específicas
• Algunos datos se cambian con poca frecuencia
• Texto de dimensión descriptiva es mejor que se aleje de la misma
dimensión
40. 40
Métodos de Particionamiento
• Particionamiento de rango
• Particionamiento de lista
• Particionamiento hash
• Particionamiento Compuesto:
• Particionamiento compuesto de rango hash
• Particionamiento compuesto de rango de lista
• Particionamiento de Índice
41. 41
Indexado
• Se usa por las siguientes razones:
• Enorme ahorro de costos, gran mejoría de rendimiento y
escalabilidad
• Se puede sustituir un cuadro completo de exploración de una
rápida lectura del índice, seguida de una lectura única de los
bloques de disco que contienen los registros necesarios
42. 42
Índice Árbol B
• Tipo más común de índice
• Usado por columnas de alta cardinalidad
• Diseñado para pocas filas devueltas
43. 43
Índices Bitmap
• Da beneficios de desempeño y ahorros de
almacenamiento
• Almacena valores como 1s y 0s
• Use en lugar de los índices árboles B cuando:
• Las tablas son muy grandes
• Las columnas tienen relativamente baja cardinalidad
44. 44
Índices Bitmap-Join
• Para la unión de dos o más tablas:
• Son nuevas en Oracle 9i
• Proveen mejor desempeño y ahorro de almacenamiento
45. 45
Optimización de la consulta Estrella
• Ajustar las consultas estrella
• Debe construirse un índice bitmap sobre cada llave foránea en la
tabla de hechos
• STAR_TRANFORMATION_ENABLE debe estar en TRUE
• El optimizador basado en el costo debe usarse
• Usar la transformación estrella
46. 46
Transformación Estrella
• Funcionan bien para esquemas con tablas de hechos de
números pequeños de dimensiones y densidad
• Dos fases:
• La primera devuelve exactamente las filas necesarias de la tabla
de hechos
• La segunda fase, une este conjunto de resultados a las tablas de
dimensión
47. 47
Paralelismo
P1 P2 P3
Tabla Ventas
Tabla Clientes P1 P2 P3
Servidores en Ejecución Paralela
48. 48
Uso de Datos Resumidos
• Da los siguientes beneficios:
• Brinda acceso rápido a datos preanalizados
• Reduce el uso de E/S, CPU y memoria
49. 49
Reescritura de Consultas – Oracle 9i
Reescritura Generar Plan
Generar Plan
Elección
(Basada en el
costo)
Ejecutar
50. 50
Resumen
• Existen diferentes estructuras de datos de Data
warehouse
• Existen tres modelos para esto:
• Modelo de Negocios
• Modelo Dimensional
• Modelo Físico
52. 52
MODELADO DE LA
DATA WAREHOUSE
Dr. Eduardo Castro, MSc
ecastro@simsasys.com
http://ecastrom.blogspot.com
http://comunidadwindows.org
http://tiny.cc/comwindows
Facebook: ecastrom
Twitter: edocastro