100% encontró este documento útil (1 voto)
286 vistas148 páginas

Modelado de Datos

El documento describe los conceptos básicos de modelado de datos y data warehouses. Explica que los usuarios tienen diferentes perspectivas de los datos y que los modelos dimensionales organizan los datos alrededor de tablas de hechos y dimensiones para facilitar el análisis. También cubre consideraciones de diseño como el tipo de negocio, usuarios y arquitectura técnica, y describe esquemas comunes como el modelo en estrella.

Cargado por

Alvaro Romero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
286 vistas148 páginas

Modelado de Datos

El documento describe los conceptos básicos de modelado de datos y data warehouses. Explica que los usuarios tienen diferentes perspectivas de los datos y que los modelos dimensionales organizan los datos alrededor de tablas de hechos y dimensiones para facilitar el análisis. También cubre consideraciones de diseño como el tipo de negocio, usuarios y arquitectura técnica, y describe esquemas comunes como el modelo en estrella.

Cargado por

Alvaro Romero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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.

Exploradores: Busca cosas desconocidos que


se esconden en los datos detallados
Organización

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:

• Situación actual: Cualquier solución propuesta de data


warehouse debe estar muy orientada por las necesidades del
negocio, debe ser compatible con la arquitectura técnica
existente y planeada de la compañía.

• Tipo y características del negocio: Tener el conocimiento


exacto sobre el tipo de negocios de la organización y el
soporte que representa la información dentro de todo su
proceso de toma de decisiones.
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:

• Entorno técnico: hardware (servidores, redes,...) así como


aplicaciones y herramientas. Se dará énfasis a los Sistemas de
Soporte a Decisiones (DSS).

• Expectativas de los usuarios: Es una forma de vida de las


organizaciones y como tal, tiene que contar con el apoyo de
todos los usuarios y su convencimiento sobre su bondad.

4
Un enfoque de desarrollo de
Data Warehouse
Data Warehouse
Data Marts multicapa
Distribuidos

Data
Data Data
Warehouse
Mart Mart
Empresarial

modelo de datos corporativo


5
Modelos dimensionales

Es una técnica de diseño lógico comúnmente


utilizada para Data Warehouses, que busca presentar
los datos en una arquitectura estándar y permita una
alta performance de acceso a los usuarios finales.

El modelo se basa en esquemas estrella,


conformados por Tablas de Hechos y Tablas
Dimensionales ([Link]. cubos).

6
Modelos dimensionales
• Un modelo relacional desnormalizado
– Compuesto por tablas con atributos
– Las relaciones son definidas por claves nuevas y claves
externas

• Organizado para la comprensibilidad y facilidad


de presentación de informes en lugar de facilitar
la actualización

• Consultado y mantenido por herramientas


especiales de gestión analítica
Diseño de Esquemas
• Los datos se organizan por temas importantes:
Los clientes, los productos, las ventas, ...

• Tema = datos + dimensiones


– Recopilación de datos útiles sobre un tema
Ejemplo: ventas
– Sintetizar una visión única de los temas a analizar
Ejemplo: Ventas (producto, período, tienda, número)
– Detallar la vista según dimensiones
Ejemplo:
Productos (IDprod, descripción, color, tamaño ...)
Tiendas (IDmag, nombre, ciudad, departamento, país)
Periodo (IDper, año, trimestre, mes, día)
Diseño de Esquemas
Los tipos de Esquema
– En estrella
– Constelación
– Copo de nieve

1. Aislar Datos a tener en cuenta


– Esquemas de las Tablas de hechos
2. Definir las dimensiones
– Ejes de análisis
3. Estandarizar dimensiones
– Dividir en varias tablas unidas por referencias
4. Integrar todo
– Varias tablas de hechos comparten algunas tablas de
dimensiones (constelación de la estrella)
9
Esquema en estrella
CATEGORIAS_PROF PERSONAS
# c_categoria # c_persona
* descripción * nombre
* salario_min * apellido1
* salario_max * apellido2
* c_categoria
* direccion
PROF_OFERTAS
# c_persona
Tablas dimensiones # c_categoria
# c_oferta
# c_trabajo
* salario_deseado

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

• Representaciones de datos multidimensionales

• Optimizar las operaciones de consulta de datos en lugar de las


operaciones de actualización de datos

• Los datos no representan una transacción del negocio en particular.

• Los datos pueden obtenerse mediante cálculos o agregaciones.


Esquema en estrella
• El modelo estrella es una representación de una vista de la
organización.
– Ventas
– Mercadeo

• El modelo estrella consolida hechos en relación a dimensiones


o filtros.

• Esquema en estrella
– Hecho rodeado de varias (4-15= dimensiones
– Las dimensiones se de-normalizan

• Una tabla de hechos en el medio conectado a un conjunto de


tablas de dimensiones
Esquema en estrella
• Una sola tabla de hechos y para cada dimensión
una tabla de dimensiones
• No captura jerarquías directamente
fecha, cliennum, prodnum, sitionom, venta
Tiempo Producto

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.

– Toma los datos desde los sistemas transaccionales

– Recibe enlace dimensiones

– Realiza las transformaciones requeridas en los


datos

– Enlaza dimensiones a través de sus claves


Esquema en estrella: Hechos
• Mediciones numéricas (valores) que representan un
aspecto del negocio o actividad específica
• Almacenado en una tabla de hechos en el centro del
esquema de estrella
• Contiene hechos caracterizados a través de sus
dimensiones
• Se pueden calcular o derivar en tiempo de ejecución
• Actualizado periódicamente con los datos de las
bases de datos operacionales
Esquema en estrella: Tabla de Hechos
Tabla central

• Representa un proceso o reporta el entorno que es


de valor para la organización
• Especifica exactamente lo que representa.
• Por lo general, corresponden a una entidad
asociativa en el modelo ER
• Guarda Medidas de interés del negocio
• Varían bastante sus datos
Esquema en estrella: Tabla de Hechos
Tabla central

• Gran número de filas (millones a un mil


millones)
• Algunas columnas como máximo
• Acceso por dimensiones: Enlaces directos a las
dimensiones
Contiene dos o más claves foráneas
• Clave principal de varias partes
Tablas de dimensión
Definen como están los datos organizados
lógicamente y proveen el medio para analizar el
contexto organizacional.

– Toma los datos desde los sistemas transaccionales

– Depura los valores de los atributos para incorporarlos


al modelo dimensional

– Mantiene las claves

– Mantiene la tabla de referencias cruzadas


Esquema en estrella: Dimensiones
• Características cualitativas que proveen perspectivas
adicionales a un hecho

• Las dimensiones se almacenan en tablas de dimensiones

• Dimensiones comunes:
períodos de tiempo, áreas geográficas (mercados,
ciudades), productos, clientes, vendedores, etc.

• Típicamente contienen atributos para consultas


Esquema en estrella: Tabla de
Dimensiones
• Se enlaza a la tabla de hechos (clave primaria única)
• Guarda los Atributos del negocio
• Más o menos constante los datos
• Contiene información textual descriptiva
• Filas anchas (muchos campos, inclusos descriptivos)
• Tablas pequeñas (alrededor de un millón de filas)
• Ingresó a la tabla de hechos mediante una clave
externa
• Fuertemente indexados
Esquema en estrella: Atributos
• Tablas de dimensiones contienen atributos

• Los atributos se utilizan para buscar, filtrar o clasificar los


hechos

• Dimensiones proporcionan características descriptivas


acerca de los hechos a través de sus atributos

• Debe definir los atributos comunes que se utilizará para


reducir la búsqueda, agrupar información, o describir las
dimensiones (por ejemplo, tiempo/lugar/producto)

• Sin límite matemático para el número de dimensiones


(3D hace que sea fácil modelar)
Esquema en estrella: Atributos
Ejemplo de esquema en estrella
para ventas

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

Distrito Marca Total Dolares Total Costo Utilidad Unidades

Atherton Clean Fast $ 1,233 $ 1,058 $ 175 10


Atherton More Power $ 2,239 $ 2,200 $ 39 2
Atherton Zippy $ 848 $ 650 $ 198 4
Belmont Clean Fast $ 2,097 $ 1,848 $ 249 6
Belmont More Power $ 2,428 $ 2,350 $ 78 3
Belmont Zippy $ 633 $ 580 $ 53 5
Conclusiones Esquema en Estrella
• Las tablas de hechos están relacionados a cada tabla
de dimensión en una relación Muchos a Uno

• Tabla de hechos está relacionado con muchas tablas


de dimensiones

• La clave principal de la tabla de hechos es compuesta


de las claves principales de las tablas de
dimensiones

• Cada tabla de hecho está diseñada para responder a


una pregunta específica de IN
Ejemplo de esquema en estrella para ventas
Dim_Empleado
Dim_Empleado
Cod_Empleado
EmployeeKey
EmployeeKey
Empleado_ID
Empleado_ID
...
...

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,

• Forma similar a la del copo de nieve


– Esquema en estrella con dimensiones secundarias
– Fácil de mantener y ahorra almacenamiento

Copo de nieve cuando las dimensiones tienen


muchos atributos
Esquema Copo de nieve

Representa jerarquía dimensional

fecha, cliennum, prodnum, sitionom, venta


Tiempo Producto

hecho

Cliente Sitio región

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

Tabla hecho almácen


Clave Almacen
Clave producto
Clave Periodo
Monto
Unidades
Utilidad
Esquema Copo de nieve
Tiempo
Clave_tiempo producto
día Clave_prod proveedor
semana Tabla Hechos Ventas nombre Clave_prov
mes descrp Tipo_prov
periodo clave_tiemp tipo
año Clave_prod Clave_prov

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,

• vistos como una colección de estrellas, por lo


tanto, llamados esquema de galaxia o
constelación de hecho

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

Cliente Clave_localidad Localidad hasta_localidad


clave_cliente unidad_vend Clave_localidad costo_dolares
nombre
units_sold
calle
Tipo dolares_vend
dollars_sold Clave_ciudad unidades_enviad
Cualquier calculo
prom_vent
avg_sales Enviador
Medidas Clave_env.
Nombre
Localidad35
tipo
De las Tablas a los cubos de
datos
• Un data warehouse se basa en un modelo de datos
multidimensional

• Todo los datos se pueden ver en la forma de un cubo de


datos

• Un cubo de datos permite ver múltiples dimensiones

Un cubo n-D se llama un paralelepípedo.

36
Base de datos relacional

Atributo 1 Atributo 2 Atributo 3 Atributo 4


Nombre edad sexo No. Emp
Fila 1 Anderson 31 F 1001
Fila 2 Green 42 M 1007
Fila 3 Lee 22 M 1010
Fila 4 Ramos 32 F 1020

Tabla de empleados
Modelo BD multidimensional
Cliente Tienda
Tienda

Tiempo Tiempo

VENTAS FINANZAS

Producto Dept

Los datos se encuentra en la intersección de


las dimensiones
Dos dimensiones
Tres dimensiones
La granularidad de las dimensiones

Tiempo Dia Mes Trimestre Años

Geografía Ciudad Región País

Productos Números Tipos Clases Marcas


Jerarquía Dimensional

Año País

Tipo de producto Mes Estado

Producto Semana Ciudad

Item Día Tienda


Jerarquía Dimensional (localidad)

todo todo

región Europa ... Sur_America

país Alemania ... España Venezuela ... Ecuador

ciudad Frankfurt ... Caracas ... Mérida

oficina Boleita ... M. Chacao

43
Jerarquía Dimensional
• jerarquía de esquema
día < mes < cuatrimestre < año

• Se pueden agrupar las jerarquías


{día 1 al 10}
{días} < 30

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

Eje de análisis: geografía


(País - región - ciudad)

Variables análisis:
Nb unidades, costo...

Eje de análisis: productos


(clase, producto)

Eje de análisis: tiempo Eje de análisis : dimensiones


(Año, mes, semana) Variables análisis: indicadores
Datos Multidimensionales
El volumen de ventas en función del producto,
el mes, y el área
Dimensiones: Producto, Localidad, Tiempo

Caminos jerarquicos
Industria Región Año
Producto

Categoria País Cuatrim

Product o Ciudad Mes seman

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

23.5 MM UNIDADES Pepsi-Cola


€ 28.3 VENTA BRUTA
€ 26.8 COSTO
Gatorade
Sección
Hogar Red Bull
Informática
Alimentos

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

“Mostrar las Ventas y Tipo A Tipo B Tipo C


Costo del producto de 56 Cliente
grm en Ecuador para el
Tipo de Cliente A”
Cuboides correspondientes al Cubo

todos
0-D cuboide
producto fecha paìs
1-D cuboides

producto,fecha producto,paìs Fecha,pais


2-D cuboides

3-D cuboides
producto, fecha, país

50
Cuboides
correspondientes al Cubo

todo
0-D cuboide

tiempo item localidad Proveedor


1-D cuboides

tiempo,item tiempo,locatidad item,localidad Localidad, prov


2-D cuboides
tiempo,prov item,prov

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

Ventas Est Sud Ouest

Tiempo en mes Lyon Marseille Nice


Modelo de consulta
Ordenes Clientes
Metodo Envio
Cliente
CONTRATO
AEREO

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.

Se obtienen retículas de puntos de vista

NumPro, Numprof, fecha

NumPro, NumProv NumPro, fecha NumProv fecha

NumPro NumProv Fecha


Herramientas para explotación del
Datawarehouse

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.

• Los datos utilizados en OLAP deberían estar en la forma


de un cubo multidimensional.
Market

Product
Herramienta Multidimensional
Especializada

• Beneficios:

– Acceso rápido a grandes volúmenes de datos


– Bibliotecas extensas de funciones complejas de
análisis
– Capacidades de modelado y predicción
– Puede acceder a las estructuras de bases de
datos multidimensionales y relacionales
Arquitecturas OLAP
• OLAP Relacional (ROLAP)
– Usa un esquema relacional para manejar la navegación y administrar
los datos consolidados
– Incluye agregación
– Gran escalabilidad

• OLAP Multidimensional (MOLAP)


– Almacenamiento con técnicas multidimensionales
– Acceso rápido a datos pre-calculados previamente

• OLAP Híbrido (HOLAP)


– Bajo nivel MOLAP, Alto nivel ROLAP

• 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

• Rollup: decrese nivel de detalle


• Drill-down: aumenta nivel de detalle
• Slice-and-dice: selección y proyección

 Pivot: re-orienta vista


multidimensional
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

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

ciudad, producto Ciudad, fecha producto, fecha


c1 c2 c3
p1 56 4 50
p2 11 8

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

r4 rId name age


r18 r4 joe 20
20 r18 fred 20
20 r34
23 r19 sally 21
21 r35
22 r34 nancy 20
r35 tom 20
r5
r36 pat 25
r19
23 r5 dave 21
r37
25 r41 jeff 26
r40
26

...
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

sale rId prodId storeId date amt


r1 p1 c1 1 12
r2 p2 c1 1 11
r3 p1 c3 1 50
r4 p2 c2 1 8
r5 p1 c1 2 44
r6 p1 c2 2 4

• Relaciona los valores de las dimensiones de un esquema en estrella a filas


de la tabla de hechos.
• Por ejemplo, la tabla de hecho ventas y la de dimensión producto
• Un índice join en producto guarda para cada producto una lista de los IDs de
las tuplas que registran las ventas de ese producto
Consultas con OLAP
• Determinar cuales operaciones están disponibles
• Determinar que medidas es posible materializar en el cubo
(relevantes a aplicar)

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

Animal Lieu Quantite Animal Lieu Quantite


Chat Paris 18 Chien Paris 12
Chat Naples 9
Chat Paris 18
Chat - 27
Chien Paris 12
Tortue Rome 4
Chien Naples 5 Chien Rome 14
Chien Rome 14 Chat Naples 9
Chien - 31 Chien Naples 5
Tortue Naples 1 Tortue Naples 1
Tortue Rome 4
Tortue - 5
- - 63
- Paris 30
- Naples 15
SELECT Animal, Lieu,
- Rome 18 SUM(Quantite) as Quantite
FROM Animaux
GROUP BY ROLLUP Animal
Ejemplo CUBO
SELECT item, city, year, SUM (amount)
FROM SALES
CUBE BY item, city, year

()
• Se debe calcular
(item, city, year), (city) (item) (year)
(item, city), (item, year), (city, year),
(item), (city), (year)
(city, item) (city, year) (item, year)
()

(city, item, year)


Extension de SQL

• Agrupar todos los subconjuntos de {item, región, mes},


encontrar el precio máximo en 1997 de cada grupo, y el total
de ventas entre todas las tuplas de precios máximos

select item, región, mes, max(precio), sum([Link])


from compras
where año = 1997
cube by item, region, mes: R
such that [Link] = max(precio)

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

4. Crear el modelo fisico


2, 3

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

• Depende del proyecto de IN


Crear Modelo Dimensional
• Seleccionar una entidad para comenzar a armar tabla de
hechos

• Determinar granularidad

• Identificar claves operacionales para tabla de hechos

• Buscar jerarquías

• Añadir dimensiones

• Caracterizar los atributos de las dimensiones


Crear Modelo Dimensional
• Identificar tablas de hechos
– Traducir medidas pregunta madre en tablas de
hechos
– Analizar las fuentes de datos para las medidas
– Identificar tablas de dimensiones

• Enlazar tabla de hechos con las tablas de


dimensiones

• Crear vistas para los usuarios (operaciones


OLAP)
Identificar resumenes de datos

• Proporciona un acceso rápido a datos pre-


calculados

• Reduce el uso de E/S, CPU y memoria

• Se calcula desde las fuentes de datos y otros


resúmenes pre-calculados

• Por lo general, se guardan en las tablas de hechos


Identificar resumenes de datos
• Promedio • Total
• Máximo • Porcentaje
Unidad Venta Tienda

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

• Los datos se deben presentar de acuerdo con las


variables organizacionales

• Un Data Warehouse está en permanente evolución

• Cada proyecto de Data Warehouse debe tener un


principio y un fin
Ciclo de vida

Diseño
Productos
Arquitectónico

Requerimientos

Planificación Modelo Diseño Data Implementa Mantenimiento


Dimensional Físico Staging ción
Crecimiento

Especificación Desarrollo
Aplicaciones Aplicaciones

Administración del Proyecto


Planificació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

Administración del Proyecto


Planificación
• Predisposición de la organización

• Alcance

• Justificación

• Aspectos humanos

• Plan del proyecto


Predisposición de la organización
• Apoyo de la Gerencia (Sponsor)

• Motivación en la organización

• Participación de la gente vinculada al problema a


analizar y de Sistemas

• Cultura actual de análisis de información

• Factibilidad
Puntos clave
• Buscar un patrocinante bien ubicado

• Hacer un balance entre valor para la organización


y manejabilidad

• Desarrollar cuidadosamente el plan del proyecto

• Ser un director de proyecto con capacidad de


motivar, administrar y comunicar a todos los
niveles
Requerimientos

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

Administración del Proyecto


Desarrollo del proyecto

El desarrollo del proyecto se realiza en


tres líneas

Línea de Tecnología

Requerimientos Línea de Aplicaciones

Línea de Datos
Línea de Tecnología

Diseño
Productos
Arquitectónico

Requerimientos

Planificación Modelo Diseño Data Implementa Mantenimiento


Dimensional Físico Staging ción
Crecimiento

Especificación Desarrollo
Aplicaciones Aplicaciones

Administración del Proyecto


Selección de productos
• Política de compras

• 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

Administración del Proyecto


Línea de Datos
• Modelado dimensional
– Procesos

– 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

• Qué consolidaciones se incluyen

– Estrategia de indexación
Línea de Datos
• Diseño y desarrollo del ETL
– Herramientas y técnicas

– Organización de las tablas de dimensión

– Organización de las tablas de hechos


Línea de 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

Administración del Proyecto


Línea de Aplicaciones

• Especificación y desarrollo de aplicaciones


– Vías de acceso
• Internet

• 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

Administración del Proyecto


Implementación
• Convergencia de las tres líneas

• La línea de datos es la más impredecible

• Asegurarse de que el Data Warehouse esté en


condiciones

• Educación: Gestión de conocimiento en la


organización
Mantenimiento y Crecimiento

Diseño
Productos
Arquitectónico

Requerimientos

Planificación Modelo Diseño Data Implementa Mantenimiento


Dimensional Físico Staging ción
Crecimiento

Especificación Desarrollo
Aplicaciones Aplicaciones

Administración del Proyecto


Mantenimiento y Crecimiento
• Soporte a los usuarios
– Si no hay consultas, posiblemente no estén usando el Data
Warehouse
– Detectar áreas de datos o de aplicaciones no cubiertas
– Calidad del Data Warehouse

• 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

• Revisión de las prioridades establecidas

• Identificar los productos objetos de gestión de


conocimiento organizacional
Inconvenientes
• El almacén de datos no suele ser estático.
Los costos de mantenimiento son elevados.

• Ante una petición de información estos pueden


devolver una información sub-óptima, que también
supone una perdida para la organización.

• Se pueden quedar obsoletos relativamente pronto


Modelado de Datos
(algunos comentarios finales)

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

• Es un lenguaje de consulta para bases de datos


multidimensionales sobre cubos OLAP

• Fue creado en 1997 por Microsoft. No es un lenguaje


estándar, sin embargo diferentes fabricantes de
herramientas OLAP lo han adoptado.

• Se utiliza para generar reportes para la toma de


decisiones basados en datos históricos, usando la
estructura o rotación del cubo
108
Expresiones multidimensionales
(MDX )
• Una consulta MDX es muy similar a una consulta SQL,
– devuelve un conjunto de celdas, que es resultado de tomar un
subconjunto de las celdas del cubo original.
• MDX utiliza en varias situaciones las jerarquías.
– Por ejemplo, si una dimensión se denomina región, esta puede
contener países. Los países a su vez contienen provincias y las
provincias ciudades.
– Para manejar estos componentes MDX tiene funciones como Children
(hijos), cousin (primos) y parents (padres).
• Su cliente OLAP puede manipular el cubo de distintas
formas:
– Rotarlo
– Rebanarlo
– Cortarlo 109
Expresiones multidimensionales
(MDX )
Consulta MDX Básica:
• Sintaxis:

SELECT <especificación del eje y> on columns,


<especificación de eje x> on rows
FROM <especificación del cubo>
WHERE <especificación Slicer (rebanador)>

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

Medidas: Total y Quantity.

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]

Ejemplos donde se tiene en un de los


renglones una dimensión y en las columnas
medidas,
Lista de elementos en ejes
ahora vamos a combinar en ambos ejes dos dimensiones: año y las categorias
SELECT
{ [AÑO].members } ON COLUMNS,
[products].[category name].MEMBERS ON ROWS
FROM [cuboNW]
WHERE [Link]

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

• Posibilitar el análisis y la toma de decisiones de


manera ágil, flexible y fiable, en el formato adecuado a
cada uno, con posibilidad de navegación OLAP

• Homogeneidad en la utilización de la información

Son diferentes a las Plataformas de inteligencia


de negocios 116
Herramientas de inteligencia de negocios
Características
• Cubos de análisis.
• Vistas Ad Hoc Query: navegación por grandes volúmenes de
información. Herramientas OLAP para visualizar de manera
interactiva grandes volúmenes de información desde varias
perspectivas. Debe permitir generar vistas de datos agregadas
para mantener a la gerencia informada
• Cuadros de Mando por indicadores (Balanced Scorecard):
información muy resumida, para la toma de decisiones .
• Digital Dashboards o paneles de Control Digital: resúmenes
visuales de información del negocio, con métricas e Indicadores
Clave de Desempeño (KPIs).
• Sistemas para Reporting: Aplicaciones para generar Informes,
motores de distribución de reportes para entrega de reportes y
alertas, etc.
• Minería de datos y análisis estadísticos: modelado predictivo,
para diagnóstico (descubrir relaciones causa efecto), etc. 117
Herramientas código abierto de inteligencia de
negocios

• Eclipse BIRT Project: Generador de informes basado en


Eclipse

• JasperReports

• LogiReport: Aplicación basada en Web de LogiXML

• OpenI: Aplicación Web simple orientada a OLAP.

• Pentaho

• RapidMiner (antes YALE)

• SpagoBI
118
Algunas Herramientas Comerciales

• ApeSoft ([Link]

• Bitool: Herramienta de ETL y Visualizacion

• BiyCloud Smart: QlikView + Cloud + Social Business

• Business Objects (SAP company)|Business Objects

• IBM Cognos

• Microstrategy:

• Oracle BI

• WorkMeter

• Microsoft Office SharePoint Server y PerformancePoint Server

• 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

Plataforma de IN que incluye todos los principales componentes


requeridos para implementar soluciones.

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)

High Cube designer, WorkBench


Datos ETL: Kettle (Spoon/Pan)
Mondrian: Motor para cubos

Weka: Motor para


Minería minería de datos
a

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.

• Proporciona una visión inmediata del rendimiento


individual, departamental, o de la organización,
mediante la entrega de métricas claves a través de
una interfaz visual atractiva e intuitiva.

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

• Exploración «dimensional" de datos, por ejemplo, el análisis


de las ventas por línea de productos, por regiones, para un
período de tiempo

• Convertir consultas multidimensionales en MDX en SQL para


hacer consultas

• Consultas de alta velocidad

• Cálculos avanzados utilizando expresiones de cálculo del


lenguaje MDX
130
Mondrian permite

131
OLAP en Pentaho
Permite realizar todas las típicas funcionalidades de un sistema
OLAP a una gran velocidad

Hace uso de diversas Bases de Datos:


• Oracle
• DB2
• SQL-Server
• MySQL
• Postgre
132
OLAP en Pentaho
Pentaho OLAP
Permite diseñar cubos dinámicos,
para un análisis de la información
mucho más rápida y detallada,
que apoya la Toma de Decisiones
dentro de una organización

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

Estadistica por Usuario Estadistica por Mes


136
Gráficas de Resultados

Todos los gráficos


y estadísticas se
generan
dinamicamente,
sólo con solicitar
la información los
gráficos van
cambiando

137
Kettle
• tiene capacidades de accesar, limpiar e integrar datos
desde cualquier lugar de la organización.

• ofrece una poderosa mecanismo de extracción,


transformación y carga (ETL), con un diseño intuitivo
y una arquitectura escalable basada en estándares
probados.
• Kitchen : Job Execution
• Spoon : GUI Designer
Suite • Carte : Cluster Web Server
• Pan : Transformation Execution
138
Kettle

139
Integración de datos

140
Modelo de Kettle

141
Integración de datos: crear metadatos

142
Weka

• Descubrir relaciones ocultas en los datos y


descubrir indicadores de desempeño futuro.

• Análisis predictivo y exploración de


correlaciones en los datos para mejorar el
desempeño organizacional

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

Gestión Big Data


NoSQL Databases Analytic Databases
Java MapReduce, Pig
Pentaho MapReduce

146
Orquestación virtual de tareas con diferentes
fuentes de datos

Planificación
147
Iteration 2
• Definir las fuentes de datos disponibles

• Diseñar el modelo de datos dimensional para el proyecto de IN

• Especificar y realizar las operaciones ETL para construir el DW (Data

Marts)

• Diseñar las operaciones OLAP requeridas para el proyecto de IN:

métricas e indicadores clave de desempeño, reportes y alertas.

• Hacer pruebas sobre el Data Marts (tanto de las operaciones OLAP

diseñadas como otras consultas)


148

También podría gustarte