Modelado de Datos
Modelado de Datos
Jose Aguilar
CEMISID, Escuela de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
Mérida, Venezuela
Modelado de Datos y de Información
Usuarios tienen diferentes vistas de los datos
Turistas: Navegar por la
información recolectada
OLAP
Agricultores: información
de los caminos a los datos, etc.
2
Consideraciones para el Diseño Data
warehouse
Para abordar un proyecto de data warehouse es necesario hacer
un estudio de algunos temas generales de la organización:
4
Un enfoque de desarrollo de
Data Warehouse
Data Warehouse
Data Marts multicapa
Distribuidos
Data
Data Data
Warehouse
Mart Mart
Empresarial
6
Modelos dimensionales
• Un modelo relacional desnormalizado
– Compuesto por tablas con atributos
– Las relaciones son definidas por claves nuevas y claves
externas
TRABAJO OFERTAS
# c_trabajo Tabla de Hechos # c_oferta
* descripcion * descripción
* salario
10
Esquema en estrella
• Modelado relacional actual no satisface las necesidades actuales
• Esquema en estrella
– Hecho rodeado de varias (4-15= dimensiones
– Las dimensiones se de-normalizan
hecho
Cliente Sitio
13
Esquema en estrella: Componentes
– Datos (hechos)
– Dimensiones
– Atributos
– Jerarquías de atributos
Tablas de hechos
Contienen los hechos que serán utilizados por
los analistas para apoyar el proceso de toma de
decisiones.
• Dimensiones comunes:
períodos de tiempo, áreas geográficas (mercados,
ciudades), productos, clientes, vendedores, etc.
Tablas de
Dimensiones
Relación M-1
Tabla de hechos
Ejemplo de esquema en estrella para Ventas
Dimensión Tiempo Dimensión Producto
Tiempo_id Producto_id
Tabla hecho Ventas
Dia_semana Codigo Producto
Tiempo_id (FK) Descripcion Producto
Numero_semana
Almacen_id (FK) Marca
Mes
Producto_id (FK) Categoria
Promocion_id (FK) Costo
Dimensión Almácen Dolares
Almacen_id Utilidad Dimensión Promoción
Unidades Promocion_id
Codigo_Almacen
Nombre_Almacen Nombre_Promocion
Distrito Tipo_Promocion
Region
Dim_Tiempo
Dim_Tiempo Dim_Producto
Dim_Producto
Cod_Tiempo
TimeKey
TimeKey Fact_Ventas
Fact_Ventas Cod_Producto
ProductKey
ProductKey
Fecha
Fecha Cod_Tiempo
TimeKey
TimeKey Producto_ID
Producto_ID
...
... Cod_Empleado
EmployeeKey
EmployeeKey ...
Claves ...
ClavesDimensionales
Dimensionales Cod_Producto
ProductKey
ProductKey Clave M ú ltiple
Cod_Cliente Clave Múltiple
CustomerKey
CustomerKey
Cod_Proveedor
ShipperKey
ShipperKey
Monto_Ventas
Monto_Ventas
...
... Medidas
Medidas
Dim_Proveedor
Dim_Proveedor Dim_Cliente
Dim_Cliente
Cod_Proveedor
ShipperKey
ShipperKey Cod_Cliente
CustomerKey
CustomerKey
Proveedor_ID
Proveedor_ID Cliente_ID
Cliente_ID
...
... ...
...
Esquema Copo de nieve
• Un refinamiento del esquema en estrella donde
alguna jerarquía dimensional se despliega en un
conjunto de tablas de dimensiones más
pequeñas,
hecho
29
Esquema Copo de nieve
Beneficios
• Evita la duplicación
• Conduce a las constelaciones (varias tablas de hechos con
dimensiones compartidas)
Producto Proveedor
IDprod IDprov
descripción descripción
color tipo
tamaño Dirección
Ventas IDprov
Esquema Copo de nieve
Dimensión del almácen ID Distrito ID Región
Clave Almacen Desc_distrito Descrip Región
ID_Región Gerente Región..
Descripción
Ciudad
Estado
ID Distrito
clave_cliente
cliente localidad
Clave_localidad
Clave_localidad
clave_cliente
unidad_vend calle
nombre
Clave_ciudad ciudad
Tipo
dolares_vend
Clave_ciudad
prom_vent ciudad
provincia
Medidas país
Esquema de
Constelación de hechos
• Varias tablas de hechos comparten tablas de
dimensiones,
33
Esquema de
Constelación de hechos
Reservas y Checkout pueden compartir tablas de
dimensiones en la industria hotelera
Promoción
Hoteles
Reservas
Checkout
Agentes de viajes Tipo de hab.
Clientes
Esquema de
Constelación de hechos
Tiempo
Clave_tiempo Producto Tabla Hechos Envios
día Clave_prod
semana Tabla Hechos Ventas nombre clave_tiemp
mes descrp
periodo clave_tiemp tipo Clave_prod
año Clave_prov Clave_env.
Clave_prod
Clave_cliente Desde_localidad
36
Base de datos relacional
Tabla de empleados
Modelo BD multidimensional
Cliente Tienda
Tienda
Tiempo Tiempo
VENTAS FINANZAS
Producto Dept
Año País
todo todo
43
Jerarquía Dimensional
• jerarquía de esquema
día < mes < cuatrimestre < año
44
Las multidimensiones
• Dimensiones: • Indicadores:
– Tiempo – Número de unidades
– Geografía vendidas
– Productos – Costo
– Clientes
– Canales de ventas.....
Cubo de dato y las dimensiones
Variables análisis:
Nb unidades, costo...
Caminos jerarquicos
Industria Región Año
Producto
Oficina Dia
Mes
Cubo Multidimensional
“Mostrar las ventas de Marcas
Coca-Cola en la sección Fanta
de alimentos, para la 4ta.
semana.” Coca-Cola
Coca-Cola
03 10 17 24
Semana del mes
Cubo Multidimensional
Producto
Ventas
Cliente
Pais
20 M Unidades
56 grm
$100 Venta
Perú 56 grm Tipo A 100
$25.3 Costo
Producto
Perú 35 grm Tipo B 109
Perú 25 grm Tipo C 423 35 grm
Ventas
Ecuador 56 grm Tipo A 5363
Ecuador 35 grm Tipo B 342
Bolivia 25 grm Tipo C 423
25 grm
todos
0-D cuboide
producto fecha paìs
1-D cuboides
3-D cuboides
producto, fecha, país
50
Cuboides
correspondientes al Cubo
todo
0-D cuboide
time,localidad,prov
tiempo,item,localidad 3-D cuboides
tiempo,item,prov item,localidad,prov
4-D cuboides
tiempo, item, localidad, prov 51
Navegar por un cubo de
datos
• Visualización
• OLAP
52
Navegar por un cubo de datos
3 dimensiones
2 dimensiones Copo de nieve
Productos Productos
Por región
Ventas ventas
Región
Tiempo en
semana
1 dimensión
Zoom a una dimensión
Productos
France
ORDEN
TERREST
LINEA PRODUCTO
Tiempo Producto
ANUAL MES DIARIO PRODUCTO GRUPO PRODUCTO
CIUDAD
PERSONA
PAIS
DISTRITO
REGION
DIVISION
Localidad
Promoción Organización
54
Navegar por un cubo de datos
• Un cubo se puede rotar, agrupar, etc.
Análisis
multidimensional
(OLAP online analytical
processing)
Facilitan el análisis de
datos a través de
dimensiones y jerarquías,
uutilizando consultas
rápidas predefinidas
On-Line Analytical Processing (OLAP)
Idea básica: los usuarios deben poder manipular los
modelos de datos organizacionales a través de muchas
dimensiones para comprender que se está ocurriendo.
Product
Herramienta Multidimensional
Especializada
• Beneficios:
• Motores de BD especializados
– Manejan consultas especializadas (como las de SQL)con esquemas
estrella o copo de nieve
Operaciones clásicas OLAP
Roll up (drill-up): agrega medidas que van de un nivel Ni a un nivel mas
general Nj de una dimensión.
Drill down (roll down): es la operación inversa. A partir de un nivel superior
este operador permitir bajar de nivel.
60
Operaciones clásicas OLAP
Slice and dice: permite restringir los valores asociados a una o varias
dimensiones del cubo, es decir, toma un subconjunto de dimensiones y de
niveles seleccionados del DW.
Otras operaciones
drill across
navegar a través
de más de una
tabla de hechos
drill through
navegar a través
del nivel inferior
del cubo a tablas
relacionales
Pivote (rotar)
Rotar el cubo 61
Cortando/rebanando un cubo de datos
62
Slice and dice
Roll up
Drill down
Pivote (rotar):
63
Resumen Operaciones clásicas OLAP
c1 c2 c3
sum 67 12 50
c1 c2 c3
p1 56 4 50
p2 11 8 129
sum
p1 110
p2 19
rollup
drill-down
Agregación en Cubos
venta(cliente,items,día)
c1 c2 c3
dia 2 ...
p1 44 4
p2 c1 c2 c3
dia 1
p1 12 50
p2 11 8 venta(c1,*,*)
c1 c2 c3
sum 67 12 50
c1 c2 c3
p1 56 4 50
p2 11 8 129
sum
venta(c2,p2,*) p1 110
p2 19 venta(*,*,*)
Cara de Cubos
venta(cliente,items,día)
* c1 c2 c3 *
p1 56 4 50 110
p2 11 8 19
dia 2 c1* c267 c312 * 50 129
p1 44 4 48
p2
c1 c2 c3 *
dia 1 * 44 4 48 venta(*,p2,*)
p1 12 50 62
p2 11 8 19
* 23 8 50 81
Agregación usando jerarquía
venta(cliente,items,día)
c1 c2 c3 cliente
Dia 2
p1 44 4
p2 c1 c2 c3
Dia 1 region
p1 12 50
p2 11 8
país
region A region B
p1 56 54
p2 11 8
(cliente c1 en Region A;
cliente c2, c3 en Region B)
Agregación en Cubos
venta(cliente,items,día)
129
todo
c1 c2 c3
p1 67 12 50 ciudad producto fecha
Algoritmos
day 2
c1 c2 c3 ciudad, producto, fecha especiales para
day 1
p1
p2 c1
44
c2
4
c3 Calcular a
p1 12 50
p2 11 8 diferentes niveles
Estructuras Índices
• Métodos de acceso tradicional
– Árboles B, tablas hash, …
• Popular en Warehouses
– Listas invertidas
– Índices de mapa de bits (bit map)
– Índices de unión (join indexes)
– Índices de texto
Listas invertidas
18
19
...
Lista invertida registros
Indice de edad
Bit Maps
18 1
19 1
0
1 id name age
1 1 joe 20
20 2 fred 20
20 0
23 0
3 sally 21
21 0 0
22 0 4 nancy 20
1
0 5 tom 20
0
6 pat 25
0
23 7 dave 21
0
25 8 jeff 26
1
26
0
...
1
1
Indice de edad bit registros
maps
Join Indexes
product id name price jIndex join index
p1 bolt 10 r1,r3,r5,r6
p2 nut 5 r2,r4
total ventas
c1 c2 c3
día 2 ...
p1 44 4
p2 c1 c2 c3
día 1
p1 12 50
p2 11 8
c1 c2 c3
p1 67 12 50
c1 c2 c3
p1 56 4 50
p2 11 8 129
c1
materializar p1 110
p2 19
Extension de SQL
• ROLLUP: • CUBO:
– SELECT <column list> – SELECT <column list>
– FROM <table…> – FROM <table…>
– GROUP BY – GROUP BY
ROLLUP(column_list);
CUBE(column_list);
Crea n combinaciones, n
Hace n+1 agregaciones en
una columna, será el numero de
columnas del grupo
Ejemplo CUBO
Animaux
()
• Se debe calcular
(item, city, year), (city) (item) (year)
(item, city), (item, year), (city, year),
(item), (city), (year)
(city, item) (city, year) (item, year)
()
78
Modelado en Data Warehouse
1. Definir el modelo de negocio 1
2. Crear el modelo dimensional Seleccionar
proceso
3. Identificar resumenes de datos negocio
Modelo fisico
Granularidad (unidad de análisis)
Determina lo que representa cada registro de
la tabla de hechos: el nivel de detalles.
• Ejemplos
– Puntos en el tiempo
– Lineas en un documento
• Determinar granularidad
• Buscar jerarquías
• Añadir dimensiones
Producto A
Total
Producto B
Total
Producto C
Total
Implementación de un
Data Warehouse
• Un proyecto de Data Warehouse debe basarse en
satisfacer necesidades organizacionales
Diseño
Productos
Arquitectónico
Requerimientos
Especificación Desarrollo
Aplicaciones Aplicaciones
Diseño
Productos
Arquitectónico
Requerimientos
Modelo Diseño
Planificación Data Implementa Mantenimiento
Dimensional Físico Staging ción
Crecimiento
Especificación Desarrollo
Aplicaciones Aplicaciones
• Alcance
• Justificación
• Aspectos humanos
• Motivación en la organización
• Factibilidad
Puntos clave
• Buscar un patrocinante bien ubicado
Diseño
Productos
Arquitectónico
Requerimientos
Modelo Diseño
Planificación Data Implementa Mantenimiento
Dimensional Físico Staging ción
Crecimiento
Especificación Desarrollo
Aplicaciones Aplicaciones
Línea de Tecnología
Línea de Datos
Línea de Tecnología
Diseño
Productos
Arquitectónico
Requerimientos
Especificación Desarrollo
Aplicaciones Aplicaciones
• Matriz de evaluación
• Requerimientos técnicos
• Factores de ponderación
Línea de Datos
Diseño
Productos
Arquitectónico
Requerimientos
del Modelo Diseño
Planificación Data Implementa Mantenimiento
Negocio Dimensional Físico Staging ción
Crecimiento
Especificación Desarrollo
Aplicaciones Aplicaciones
– Granularidad
– Tablas de hechos
– Tablas de dimensión
– Claves
Línea de Datos
• Diseño físico de la base de datos
– Nombres de columnas
– Tipos de datos
– Estrategia de consolidación/actualización
– Estrategia de indexación
Línea de Datos
• Diseño y desarrollo del ETL
– Herramientas y técnicas
Diseño
Productos
Arquitectónico
Requerimientos
Modelo Diseño
Planificación Data Implementa Mantenimiento
Dimensional Físico Staging ción
Crecimiento
Especificación Desarrollo
Aplicaciones Aplicaciones
• Correo electrónico
• Tableros de control
– Personalización de herramientas
Implementación
Diseño
Productos
Arquitectónico
Requerimientos
Modelo Diseño
Planificación Data Implementa Mantenimiento
Dimensional Físico Staging ción
Crecimiento
Especificación Desarrollo
Aplicaciones Aplicaciones
Diseño
Productos
Arquitectónico
Requerimientos
Especificación Desarrollo
Aplicaciones Aplicaciones
• Educación
– Cursos de gestión de conocimiento
– Usuarios calificados
Mantenimiento y Crecimiento
• Demandas de crecimiento
– Nuevos usuarios
– Nuevos datos
– Nuevas aplicaciones
– Mejoras de las aplicaciones existentes
Jose Aguilar
CEMISID, Escuela de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
Mérida, Venezuela
Expresiones multidimensionales
(MDX )
• Es el acrónimo de MultiDimensional eXpressions
110
Expresiones multidimensionales
CREATE CUBE Sales
(MDX )
( DIMENSION Time TYPE TIME,
HIERARCHY [Fiscal],
LEVEL [Fiscal Year] TYPE YEAR,
LEVEL [Fiscal Qtr] TYPE QUARTER,
LEVEL [Fiscal Month] TYPE MONTH OPTIONS (SORTBYKEY, UNIQUE_KEY),
HIERARCHY [Calendar],
LEVEL [Calendar Year] TYPE YEAR,
LEVEL [Calendar Month] TYPE MONTH,
DIMENSION Products,
LEVEL [All Products] TYPE ALL,
LEVEL Category,
LEVEL [Sub Category],
LEVEL [Product Name],
DIMENSION Geography,
LEVEL [Whole World] TYPE ALL,
LEVEL Region,
LEVEL Country,
LEVEL City,
MEASURE [Sales]
FUNCTION SUM
FORMAT 'Currency',
MEASURE [Units Sold]
FUNCTION SUM 111
TYPE DBTYPE_UI4 )
Metadatos de un ejemplo
Nombre del cubo: CuboNW
Dimensiones:
- Products:
Jerarquias: Category name-Productname.
- Vw_ordenes2:
Jerarquias:Año-Mes-Dia
- Clientes.
Jerarquia: Country-Region-City-Company name
- Empleados.
Jerarquia: Empcountry-Empregion-EmpCity-Lastname
Expresión con los nombres de las
categorías y todas las medidas.
Totales y cantidad
SELECT [Link] ON COLUMNS, para todos los
productos
[category name].MEMBERS ON ROWS
FROM [cuboNW]
Cambio de ejes de los resultados
SELECT [category name].MEMBERS ON COLUMNS,
[Link] ON ROWS
FROM [cuboNW]
Es necesario
especificarle en
WHERE la medida que
se desea ver (p. e
TOTAL)
Herramientas de inteligencia de negocios
Razones
• Permitir extraer, depurar, consolidar, sintetizar y
presentar datos-información-conocimiento de forma
automatizada
• JasperReports
• Pentaho
• SpagoBI
118
Algunas Herramientas Comerciales
• ApeSoft ([Link]
• IBM Cognos
• Microstrategy:
• Oracle BI
• WorkMeter
• JetReports
119
PENTAHO
Jose Aguilar
CEMISID, Escuela de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
Mérida, Venezuela 120
Pentaho: La solucion Open Source Business Intelligence
Pentaho incluye
herramientas para hacer:
• Reportes
• Análisis
• Vizualización (Dahsboards)
• Manejo de Datos
121
Plataforma Web para
Dashboards publicar y visualizar la
Componentes independentes
información
Report Designer
Reportes Jfree Report: (Motor para
reportes)
Análisis Weka
ETL: Kettle (Spoon/Pan)
122
PENTAHO
• Pentaho ha sido desarrollado desde el año 2004.
Bajo Java
• Open Source:
– Tiene una comunidad de usuarios
– Corre bien bajo múltiples plataformas (Windows,
Linux, Macintosh, Solaris, etc.
123
124
Pentaho Dashboard
• Brinda a los usuarios la información crítica que
necesitan para comprender y mejorar el desempeño
organizacional.
125
Pentaho Dashboard
Interactivo
126
Pentaho Dashboard: Geo
Location
127
Reporting
La solución de Reporting que
plantea Pentaho, incluida
dentro de su suite, es
Jfree Report.
.
128
Reporting
Permite a las organizaciones fácilmente acceder, formatear y
entregar reportes a los empleados, clientes y socios.
129
Mondrian permite
• Alto rendimiento, análisis interactivo de volúmenes grandes o
pequeños de la información
131
OLAP en Pentaho
Permite realizar todas las típicas funcionalidades de un sistema
OLAP a una gran velocidad
133
OLAP en Pentaho
Cube Designer
incorpora “arrastrar y
soltar” para un
manejo más fácil.
134
OLAP en Pentaho
Crea las
dimensiones del
Cubo que luego
seran mostradas en
la Suite de Pentaho
135
Gráficas de Resultados
137
Kettle
• tiene capacidades de accesar, limpiar e integrar datos
desde cualquier lugar de la organización.
139
Integración de datos
140
Modelo de Kettle
141
Integración de datos: crear metadatos
142
Weka
143
Weka
144
Weka
145
Pentaho y Big Data
Análisis BigData
Pentaho Business Analytics
Integración Datos
Integración de Datos Planificación
Orquestación de Alto Rendimiento
tareas IDE
Workflow
Hadoop
146
Orquestación virtual de tareas con diferentes
fuentes de datos
Planificación
147
Iteration 2
• Definir las fuentes de datos disponibles
Marts)