Diseño eficiente de un cubo para resolver problemas en las áreas de negocio
-
Upload
sebastian-rodriguez-robotham -
Category
Documents
-
view
2.249 -
download
4
description
Transcript of Diseño eficiente de un cubo para resolver problemas en las áreas de negocio
Diseño eficiente de un cubo para resolver problemas en las áreas de negocio.
Presentación OpenBI Day, Octubre 2013.
Sebastián Rodríguez [email protected]
www.EasyBI.cl 1
www.EasyBI.cl 2
Conceptos Generales
www.EasyBI.cl 3
Conceptos GeneralesAlcance
Esta presentación está basada en el diseño de cubos para modelos de negocio empresariales sobre datos
de los sistemas transaccionales.
El objetivo de estos cubos es dar apoyo a la toma de decisiones en los niveles operativos, tácticos y
estratégicos.
www.EasyBI.cl 4
Conceptos GeneralesReferencia Bibliográfica
Ralph Kimball: The DataWarehouse ToolkitBill Inmon: Building the DataWarehouseSalvador Ramos: Microsoft Business Intelligence: Vea el cubo Medio LlenoSebastián Rodríguez R.: EIAD, Estrategia para la Implementación Inteligente de DW
www.EasyBI.cl 5
Conceptos Generales
Transacciones
Fundamentos.
Registrar y Controlar (OLTP)
VentasInventarios
ContabilidadRecursos Humanos
Etc-
Velocidad de TransacciónIntegridad de Información
Evitar Redundancias“3ª Forma Normal”
On-Line Transaction Processing
Analizar y Evaluar (OLAP)
Velocidad de ConsultasApoyo Toma de Decisiones
“Desnormalizado”
On-Line Analytical Processing
www.EasyBI.cl 6
Conceptos GeneralesModelo de Dato OLTP
Factura
Cliente
Det. Factura
Producto
Ciudad
Sexo
Est. Civil
Sucursal
Conceptos GeneralesComponentes del Cubo
Tabla de Hechos
Tabla de Dimensiones
Almacena los indicadores del negocio (datos numéricos), tanto básicos como elementos calculados.
Almacena los datos descriptivos, por lo general son tablas con un porcentaje muy bajo de filas en relación a las tablas de Hechos, pero pueden contener muchas más columnas.
Una correcta y completa definición de campos en la tabla de dimensiones puede ayudar a realizar análisis robusto sobre los datos.
www.EasyBI.cl 8
Conceptos GeneralesTopología
Estrella
Copo de Nieve
Las dimensiones se relacionan directamente con la tabla de hechos.
Por lo general esta estrategia es utilizada cuando hay grandes volúmenes de información y/o cuando existe un proceso robusto de administración de Información.
Las dimensiones se pueden relacionar con las tablas de hechos, o con otras dimensiones.
Esta estrategia es mejor para la administración directa en el modelo de DW.
www.EasyBI.cl 9
Conceptos GeneralesModelo de Datos OLAP – Estrella
Ventas
Sucursal
Tabla de Hechos
Tabla de Dimensiones
Fechas
Tabla de Dimensiones
Cliente
Ciudad
Sexo
Est. Civil
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Producto
Tabla de Dimensiones
Categoría Producto Tabla de
Dimensiones
www.EasyBI.cl 10
Conceptos GeneralesModelo de Datos OLAP – Copo de Nieve
Ventas
Cliente
Producto
Ciudad
Sexo
Est. Civil
Sucursal Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Dimensiones
Tabla de Hechos
Fechas
Tabla de Dimensiones
Categoría Producto Tabla de
Dimensiones
www.EasyBI.cl 11
Conceptos de Eficiencia
www.EasyBI.cl 12
Conceptos GeneralesCubos eficientes ¿Qué es Eficiente?
Se define como la capacidad de disponer de alguien o de algo para conseguir un objetivo determinado con el
mínimo de recursos posibles viable
¿Cuáles son los recursos que debemos optimizar al diseñar y poner en producción un cubo de información?
El diseño eficiente de un cubo puede variar para cada empresa.
www.EasyBI.cl 13
Conceptos GeneralesCubos Eficientes
Ejes de un cubo Eficiente
Eficiencia en T° Respuesta
Eficiencia en Administracióndel Ambiente
Eficiencia en Modelo
de Negocios
Calidad e Integridad de Información
www.EasyBI.cl 14
Cubos EficientesT° Respuesta
Como hacer que las consultas sean rápidas.
• RDBMS (Relational DataBase Management System), almacena en ROLAP
• Multidimensional (Almacena MOLAP, precálculos)• Columnar• InMemory• NoSQL
Elección del Motor de Base de Datos
• Tablas de Resumen• Revisión de Índices• Compresión de Información• Particionamiento Horizontal / Vertical / Sharding• Optimización Querys (Evitar cursores, joins)• Conocer el funcionamiento interno del motor de
base de datos (Optimizador).• Relación I/O Disco, Procesador, Uso Memoria.
Optimización BBDD• Discos Duros• Red• Procesadores• Memoria RAM / Cache• Sistemas Distribuidos
Optimización Hardware
www.EasyBI.cl 15
Cubos EficientesAdministración del Ambiente
Muchos Origenes, Muchos Cubos… Simplificar la administración en ambientes complejos
• Muchas Fuentes: utilizar Staging y ODS (Operational Data Store)
• Muchos Cubos: utilizar BUS Arquitecture.• Muchos Usuarios: Diferenciar herramientas y
soluciones en nivel Operativo, Táctico y Estratégico. Implementar control de accesos a nivel de filas y columnas.
• Muchos Procesos: Control de Tiempos de Procesos, Realizar Backup de fuentes automáticos.
• Otras Consideraciones: Alta Disponibilidad, DW Operativo, Recuperación de Desastres.
• EIAD.
Técnicas para simplificar y controlar el ambiente
www.EasyBI.cl 16
Cubos EficientesAdministración del Ambiente
Muchas Fuentes, Muchos Cubos
Cubo 1 Cubo 2 Cubo 3
Dim 1 X X X
Dim 2 X X
Dim 3 X X
Bus Arquitecture
www.EasyBI.cl 17
Cubos EficientesModelo de Negocio.
Como dar respuesta a las preguntas de negocio para los niveles operativos, tácticos y estratégicos.
• Nivel Estratégico: Busca pocos indicadores, pero que son clave para la gestión global de la empresa.Ejemplo: Como van las ventas del mes.
• Nivel Táctico: Necesita indicadores de comportamiento y evolutivos para tomar acciones sobre la información.Ejemplo: Qué % de clientes nuevos hay en el mes y qué % de clientes habituales no han comprado.
• Nivel Operativo: Necesita el detalle máximo de información disponible para realizar acciones sobre los datos recopilados.Ejemplo: Qué clientes habituales no han comprado este mes.
Posibles Preguntas: Distintos Niveles
• Histórica: Necesito ver las ventas del año pasado por Ciudad… ¿Cuál Ciudad quiere ver?
a. Ciudad actual del clienteb. Ciudad anterior del clientec. Ciudad del cliente cuando realizó la comprad. Ciudad donde se encuentra la sucursal
• Cálculos: ¿Cuántas compras realizan los clientes fuera de su ciudad de residencia?
a. Mantener identificado los clientes que compran en ciudades diferentes a su residencia.
Tipo de Información Requerida
www.EasyBI.cl 18
Técnicas de Diseño de
Cubos
www.EasyBI.cl 19
Tipos de Tablas de Hechos.
SnapShot Cada período se agrega un registro para la entidad, sin remplazar ni modificar la foto del período anterior. Ejemplo: Balances, Estados de Resultados.
Periodo_Id Producto_Id Monto_Ventas
20100301 1003 10358
20100401 1003 15776
20100501 1003 43335
Técnicas de Diseño de Cubos
www.EasyBI.cl 20
Tipos de Tablas de Hechos.
Transaccional Un registro por cada evento, que ocurre en una fecha determinada. Solo se pueden hacer inserciones.Ejemplo: Sistemas de Ventas.
NumFactura FechaVenta Producto_Id Cantidad ValorUnitario
334532 20130524 1003 3 5664
334532 20130524 1004 6 4598
452235 20130319 1003 1 5664
Técnicas de Diseño de Cubos
www.EasyBI.cl 21
Tipos de Tablas de Hechos.
Incremental Un registro por cada ocurrencia, pero la fila contiene múltiples fechas que indica el cambio de estados. A diferencia de los anteriores, en este tipo de estructuras se puede insertar y actualizar los registros. Ejemplo: WorkFlow, Ticket de Soporte.
NumSoporte
FechaHSolicitud
FechaHContacto
FechaHInicioTrabajo
FechaHResolucion
FechaHRevision
FechaHCierre
479 20130524 10:00 20130524 12:30 20130524 12:34
480 20130524 10:05
481 20130524 10:07 20130524 11:26
NumSoporte
FechaHSolicitud
FechaHContacto
FechaHInicioTrabajo
FechaHResolucion
FechaHRevision
FechaHCierre
479 20130524 10:00 20130524 12:30 20130524 12:34 20130526 17:34 20130527 08:15
480 20130524 10:05 20130526 13:45
481 20130524 10:07 20130524 11:26 20130525 12:42
Técnicas de Diseño de Cubos
www.EasyBI.cl 22
Técnicas de Diseño de Cubos: DimensionesModelo Estrella de Ejemplo
Ventas
Cliente
Producto
Ciudad
Sexo
Est. Civil
Sucursal
Fechas
N° Dimensiones óptimas
entre 5 a 15
Categoría Producto
www.EasyBI.cl 23
Optimizar Rendimiento de consultas (T°)
Dimensión Compuesta
Junta varias dimensiones en una sola, el objetivo principal es mejorar el rendimiento de la solución. Ejemplo: Tabla de clientes del modelo ejemplo.
Técnicas de Diseño de Cubos: Dimensiones
Ventas
ProductoCiudad
Sexo
Est. Civil
Sucursal
Cliente
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad, Sexo,
Est. Civil)
Ventajas• Optimiza T° Respuesta• Simplifica Modelo para Usuario Final
Desventajas• Aumenta Almacenamiento (no relevante)• Complejiza Proceso de Carga del Cubo
Fechas
Fechas
Cat. Producto
www.EasyBI.cl 24
Optimizar Rendimiento de consultas (Espacio)
Factorizar(Tabla Hechos o Dimensión)
Cuando hay mucha información repetida en una tabla de Hechos, es posible quitar esta información y “Factorizarla” en una tabla de dimensión. Esto minimiza el espacio utilizado por al tabla de Hechos y mejora el análisis sobre los datos. Los campos candidatos son aquellos con baja cardinalidad.
Técnicas de Diseño de Cubos: Dimensiones
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad,
Sexo, Est. Civil)
Fechas
NumFactura
PrimeraCompra
PagaEfectivo
PagaDebito
PagaCredito
PideVuelto
334532 1 0 1 1 0
334539 0 1 0 0 0
452235 0 1 0 0 0
657782 0 1 0 0 0
NumFactura
ComportaMiento
334532 1
334539 2
452235 2
657782 2
Id PrimeraCompra
PagaEfectivo
PagaDebito
PagaCredito
PideVuelto
1 1 0 1 1 0
2 0 1 0 0 0
ComportamientoTabla de Hechos “Ventas”
www.EasyBI.cl 25
Optimizar Rendimiento de consultas (Negocio)
Dimensión de Roles
Cuando hay varios campos que hace referencia a la misma dimensión, pero con conceptos diferentes.
Técnicas de Diseño de Cubos: Dimensiones
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad,
Sexo, Est. Civil)
Fechas
NumFactura
ComportaMiento
Fecha Venta
Fecha Despacho
334532 1 20130524 20130529
334539 2 20130525 20130526
452235 2 20130319 20130401
657782 2 20130407 20130424
Comportamiento
Tabla de Hechos “Ventas”
FechaVenta
FechaDespacho
www.EasyBI.cl 26
Optimizar Rendimiento de consultas (Negocio)
Súper Dimensión
Cuando es necesario juntar dos dimensiones para generar cálculos que de otra forma sería difícil de administrar.
Técnicas de Diseño de Cubos: Dimensiones
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad, Sexo,
Est. Civil)
Fechas
NumFactura
Comp Fecha Venta
Fecha Despacho
Cod Distancia
334532 1 20130524 20130529 1
334539 2 20130525 20130526 2
452235 2 20130319 20130401 2
657782 2 20130407 20130424 3
Comportamiento
Tabla de Hechos “Ventas”
Cod Distancia
CiudadVenta
CiudadCliente
DistanciaKM
1 01 01 0
2 02 01 10
3 03 05 15
Dimensión Ciudad Distancia
Distancia Venta
www.EasyBI.cl 27
Slow Changing Dimension: Información Histórica (Negocio)
SCD N° 1 Sobrescribir la información de la dimensión.No existe referencia histórica de los datos en la dimensión.
Cliente_Id Nombre EstadoCivil Ciudad_Id Sexo
479 Juan Pérez Casado 10 Masculino
480 Miguel Donoso Soltero 10 Masculino
481 Francisca Silva Soltera 55 Femenino
Técnicas de Diseño de Cubos: Dimensiones
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad, Sexo,
Est. Civil)
Fechas
Comportamiento
Distancia Venta
www.EasyBI.cl 28
SCD N°2 La clave de la dimensión es compuesta, registra, por cada cambio en la fila de la dimensión (o los campos que sean relevantes), un nuevo registro.
ClienteId IdInterno
Nombre EstadoCivil Ciudad_Id Sexo
479 1 Juan Pérez Casado 10 Masculino
479 4 Juan Pérez Casado 12 Masculino
480 2 Miguel Donoso Soltero 10 Masculino
480 5 Miguel Donoso Casado 15 Masculino
481 3 Francisca Silva Soltera 55 Femenino
Técnicas de Diseño de Cubos: DimensionesSlow Changing Dimension: Información Histórica (Negocio)
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad, Sexo,
Est. Civil)
Fechas
Comportamiento
Distancia Venta
www.EasyBI.cl 29
SCD N° 3 Agregar una columna adicional por cada columna cuyo valor queremos mantener en la historia.
Cliente_Id
Nombre EstadoCivil
Estado Civil Ant
Ciudad_Id
Ciudad_IdAnt
Sexo
479 Juan Pérez Casado NULL 12 10 Masculino
480 Miguel Donoso Casado Soltero 15 10 Masculino
481 Francisca Silva Soltera NULL 55 NULL Femenino
Técnicas de Diseño de Cubos: DimensionesSlow Changing Dimension: Información Histórica (Negocio)
Ventas
Producto (Incluye Cat.)
Sucursal (Incluye Ciudad)
Cliente (incluye Ciudad, Sexo,
Est. Civil)
Fechas
Comportamiento
Distancia Venta
www.EasyBI.cl 30
Modelos de datos complejos: “Constelaciones”
Hechos 1
Dim 2
Dim 3
Dim 1
Hechos 2
Dim 5
Dim 4
Hechos 2
Dim 7
Dim 6
Técnicas de Diseño de Cubos: Dimensiones
www.EasyBI.cl 31
Conclusiones
www.EasyBI.cl 32
Conclusiones
Modelos óptimos depende de cada empresaEn función de los objetivos que persigue cada gerencia y recursos disponibles.
Varias iteraciones, diseños dinámicosLos diseños cambian constantemente en función de los requerimientos del negocio y nuevas vistas solicitadas por los usuarios del DW.