Unidad 10:
DATAWAREHOUSING y
OLAP
Introducción
Dentro de una organización o empresa coexisten
dos grupos diferentes de aplicaciones
Aplicaciones Tradicionales
Aplicaciones de Análisis
Permiten “analizar” el negocio
y dar soporte a la toma de
decisiones
Son el soporte para las
transacciones del día a día
(altas, bajas, modificaciones)
Introducción
Aplicaciones de análisis
que dan soporte a la
toma de decisiones
Bases de Datos Operacionales /Tradicionales /TransaccionalesPueden proveer los datos
¿
?
Los datos provistos serían parciales
y su acceso no sería eficiente
Transacciones del día a
día
Introducción
Detallando algunos problemas…
Aún pudiendo encontrar la información necesaria:
Todos los datos necesarios no están on-line, deben
rastrearse los backups correspondientes
Los datos están esparcidos en distintas bases de datos,
inclusive en otras fuentes (internas y/o externas)
Altera el trabajo transaccional diario, deben postergarse a
horarios sin carga de trabajo
Los tiempos de respuestas no son los esperados
La estructura de los datos está pensada para dar soporte a
Introducción
Solución:
Recoger los datos en un sistema separado y específico
(datos históricos)
Datawarehouse
Almacén de Datos
Bodegas de Datos
Introducción
Datos Datawarehouse
Datos Tradicionales
objetivo de explotación diferente
OLTP
(On Line Transaction Processing)
BD orientadas al
proceso
OLAP
(On Line Analytic Processing)
BD orientadas al
análisis
OLTP
Datos dinámicos y de
detalle
Muchos usuarios
(administrativos)
Gran cantidad de
transacciones
concurrentes
OLAP
Datos estáticos
(históricos),detalle y de
resumen
Pocos usuarios
(estratégicos)
Baja o media cantidad de
transacciones
Introducción
Introducción: Concepto
En esta área existen discrepancias en muchos aspectos,
inclusive en el concepto mismo.
Concepto
- Inmon -
"Un datawarehouse es una colección de datos
orientados a temas
integrados (provenientes de diversas fuentes),
no-volátiles,
variante en el tiempo, organizados para soportar
necesidades empresariales"
Concepto
Orientado a temas
(a diferencia de orientados a los procesos)
demandas clientes
premios políticas
Ejemplo Compañía de Seguros
:
Producción
Concepto
Concepto
Problemas relativos a la integración:
Concepto
Problemas relativos a la integración:
Diferentes Unidades de Medida
o
Aplicación A: Diámetro – cm
cm
o
Aplicación B: Diámetro – pulgadas
Concepto
Problemas relativos a la integración:
Concepto
Problemas relativos a la integración:
Concepto
Variantes en el tiempo
La información representa datos sobre un horizonte largo de tiempo,
entre 5 y 10 años.
Cada estructura en el DW contiene, implícita o explícitamente, un
elemento de tiempo como día, semana, mes, etc.
Concepto
No volátil
Concepto
¿Hay redundancia masiva de datos entre el ambiente operacional y
el DW ?
Sí existe, pero es mínima
Sólo los datos que se necesitan ingresarán al ambiente del DW.
El horizonte de tiempo de los datos difiere de un ambiente a otro. La información en el
ambiente operacional es más reciente con respecto a la del DW.
El DW contiene un resumen de la información que no se encuentra en el ambiente
operacional.
Concepto
- Ralph Kimball –
"A data warehouse is a copy of transaction data
Concepto
- Larry Greenfield – Disiente con Kimball:
La forma en que los datos estén almacenados no determina
que "algo" califique o no como datawarehouse
Concepto
Si bien existen opiniones opuestas,
hay importantes coincidencias
BDT
BDT
Concepto
: Resumen Características
Principales
Agrupa y mantiene datos transaccionales y no transaccionales
de distintas fuentes, incluso externas.
Mantiene datos históricos.
La forma en la que se almacenan los datos no es fija.
El tipo de usuario correspondiente es de nivel gerencial.
El tipo de proceso a realizar es de análisis.
El objetivo de todo datawarehouse es proveer información
suficiente y oportuna asistiendo a la toma de decisiones para
alcanzar los objetivos del negocio.
Arquitectura:
Fuentes de Datos
Bases de Datos (Internas o Externas)
Datos contenidos en estructuras no base de datos
(Internas o Externas)
Arquitectura:
Gestor de Carga
Permite realizar la extracción de los datos desde las fuentes y
los carga al datawarehouse
Encargado de soportar el proceso ETL (Extraction – Transformation- Load)
Extracción
Transformación de los datos: Limpieza, Consolidación,
Agregación de datos, etc.
Arquitectura:
Gestor de Carga
Proceso de Carga Inicial
Distinguir los diferentes tipos de datos a ser incorporados
Datos de backup
Datos actuales contenidos en el
ambiente operacional
Para ambos, el proceso se realiza sólo una vez
Encontrar el momento oportuno
para no recargar el ambiente
No presenta demasiada complejidad
Proceso de Refresco
Los datos provienen de las estructuras de los sistemas
operacionales
Específicamente, datos generados por cambios ocurridos en los
sistemas transaccionales después de la última actualización
¿Dónde se encuentra la mayor
1.
Las aplicaciones operacionales graban el tiempo del último
cambio sobre cada registro
Los datos con una fecha posterior a la correspondiente al último
refresco deberán ser incorporados
Estrategias para reducir la cantidad de datos analizados:
2.
Los cambios son generados en un archivo “delta”
El proceso de refresco se realiza de manera muy eficiente
Estrategias para reducir la cantidad de datos analizados
:
3.
Usar los archivos log generados por el propio
procesamiento de las transacciones operacionales
No es una alternativa muy conveniente:
Muchas veces son protegidos por el propio sistema ya que son usados
en procesos de recuperación
No siempre es “sencillo” encontrar la información buscada ya que su
formato puede contener muchos más datos de los que se necesitan
para este propósito y se debe “descifrar” su formato interno
Estrategias para reducir la cantidad de datos analizados:
4.
Otra técnica es modificar el código de la aplicación.
No es una alternativa muy aceptada.
Estrategias para reducir la cantidad de datos analizados:
5.
Mantener una imagen de un “antes” y un “después”
juntas del archivo operacional
En cada extracción se toma una instantánea de la base de datos.
Las dos instantáneas (anterior al refresco y la actual) son
serialmente comparadas para poder determinar los cambios
que se han sucedido en ese lapso de tiempo.
Alternativa pesada y tediosa.
Estrategias para reducir la cantidad de datos analizados:
Arquitectura
:
Gestor del Almacén
DBMS que administra la base de datos
correspondiente al datawarehouse:
Permite realizar todas las funciones de definición y manipulación
Definición
Agregación
Arquitectura:
Datos (Almacén)
En general, refiere a la base de datos física
que contiene los datos
Arquitectura:
Metadatos
Datos sobre los datos
Arquitectura:
Herramientas
Clientes/Usuarios
Permiten extraer información/conocimiento
Herramientas para diseñar consultas e informes
(Presentación y Visualización)
Herramientas estadísticas
Herramientas de análisis de datos (OLAP)
Herramientas de minería de datos
Herramientas OLAP
Las herramientas OLAP:
Están basadas, generalmente, en sistemas o interfases
multidimensionales.
Utilizan operadores específicos (además de los clásicos): drill dwon,
roll up, pivot, slice, etc.
El resultado se presenta generalmente de manera matricial, y permite
generar diferentes tipos de gráficos.
Herramientas OLAP
Un ejemplo de la funcionalidad permitida en una
herramienta OLAP
Cantidad de prestamos bibliotecarios con dos ejes de análisis
(carrera y año) en formato de tabla y gráfico.
Herramientas OLAP
Herramientas OLAP
Herramientas de Minería
Si bien existen herramientas que
permiten en análisis de datos, como
las OLAP
Existen casos donde no son adecuadas
¿Por qué?
Herramientas de Minería (DataMining)
Las bases de datos relacionales
revolucionaron
los Sistemas de Información:
Los DBMS constituyen un
soporte eficiente para el
almacenamiento y el acceso a
datos.
Los medios de almacenamiento
de datos tienden a ser cada vez
más baratos y más eficientes.
Volumen
de Datos
Crecimiento
exponencial
de las Bases
de Datos
Herramientas de Minería
Son necesarias herramientas automáticas para el análisis y extracción ya
que ello escapa al trabajo manual.
El análisis requiere descubrir relaciones ocultas entre los datos como
soporte a decisiones empresariales.
¡¡¡ Explosión en la cantidad de los datos almacenados
en las bases de datos transaccionales !!!
Herramientas de Minería
¿Cuál es la diferencia entre una herramienta OLAP
y una de minería de datos?
Concepto
: Datawarehouse vs. Datamart
Es frecuente encontrar los términos datawarehouse y datamart
usados en forma equivalente.
Sin embargo, existen semejanzas y
diferencias
entre ambos
conceptos.
Semejanzas:
Contienen datos históricos provenientes de fuentes operacionales.
El tipo de proceso que se efectúa sobre ambos, es de análisis.
Diferencias:
Concepto
: Datawarehouse vs. Datamart
Inmon
Un datawarehouse es fuente
de datos de todo datamart
Los “clientes” naturales de un
datamart son las herramientas
OLAP
El tipo de estructura de un
datamart son diferentes a las
de un datawarehouse
Kimball
La diferencia está dada
fundamentalmente por el
tamaño de la base de datos, en
términos de objetos de análisis
que mantienen (no en cuanto a
extensión sino a intensión)
El tipo de estructura en un
datamart y en un
Repasando…
Necesidades
Concepto
Arquitectura
Fuentes de datos
Gestor de Carga: Asiste en el proceso ETL
Gestor del almacén
Usuarios o Clientes
Construcción/Diseño de un
datawarehouse
De los métodos existentes se distinguen 2 enfoques
Conducidos por los datos
Conducidos por los requerimientos o
por la demanda
Proceso de Construcción (
Conducido
por los Requerimientos)
Recordemos…
Objetivo de todo datawarehouse
Proveer información suficiente y oportuna asistiendo a la toma
de decisiones
Proceso de Construcción: Requerimientos
La fase de relevamiento
Proceso de Construcción: Requerimientos
La fase de relevamiento
Datos
Exactitud de los datos: Conformidad del dato en relación al valor en el mundo real. Dos
factores influyen en este aspecto, exactitud de los datos en las fuentes y errores en el
proceso de carga.
Completitud: Capacidad del sistema de representar todos los estados del mundo real
Consistencia
Oportunidad: Nivel de actualización necesaria para la tarea que lo usa
+
Identificación de las fuentes
Disponibilidad
Tipo:
Concretas: Los datos se encuentran tal como los necesitamos Adicionales: Es necesario combinar datos de ≠ fuentes
+
Proceso de Construcción:
Diseño
Datawarehouse
Vista multidimensional
Los distintos enfoques
se diferencian principalmente
en la forma en la que almacenan los datos
(estructuras de almacenamiento)
Proceso de Construcción:
Diseño
La mayor parte de la bibliografía adopta (tácitamente) una
perspectiva relacional debido a la importancia y supremacía
de las bases de datos relacionales
Proceso de Construcción:
Diseño
Existen dos enfoques de implementación:
Motor de base de datos relacional
Motor de base de datos multidimensional
Proceso de Construcción:
Diseño
Proceso de Construcción:
Diseño –
Enfoque multidimensional
La estructura de datos que soporta es el arreglo n-dimensional
No necesita transformar los objetos almacenados
para presentarlos a los clientes
Proceso de Construcción:
Diseño –
Enfoque multidimensional
Eje 3 de análisis: Clientes
Propiedad objeto de
análisis
Eje 2 de análisis: ArtículosProceso de Construcción:
Proceso de Construcción:
Proceso de Construcción:
Arreglos n-dimensionales:
Variables dependientes (celdas)
Variables independientes (dimensiones o ejes de análisis) en
conjunto determinan los valores de las variables dependientes
Proceso de Construcción:
La única estructura de datos que soporta el enfoque relacional
es la relación (tabla)
Un datawarehouse implementado en un motor relacional
estará formado por tablas
Proceso de Construcción:
Proceso de Construcción: Diseño -
Enfoque Relacional
OCEAN (1) 123-5555 Argentina Buenos Aires Av. del Libertador 900Rancho grande RANCH
(1) 135-5333 Argentina
Buenos Aires Ing. Gustavo Moncada 8585 Piso 20-A
Océano Atlántico Ltda.
(1) 135-5555 Argentina
Buenos Aires Cerrito 333
Cactus Comidas para llevar CACTU Teléfono País Región Ciudad Dirección Nombre de compañía Id. de cliente 21-11-1997 24-10-1997 Peacock, Margaret RANCH 10716 05-06-1997 08-05-1997 King, Robert OCEAN 10531 27-05-1997 29-04-1997 Callahan, Laura CACTU 10521 17-03-1997 17-02-1997 Peacock, Margaret RANCH 10448 06-02-1997 09-01-1997 Leverling, Janet OCEAN Fecha de entrega Fecha de pedido Empleado Id.de cliente 10409 Id. de pedido 10100 10110
Tabla de Pedidos
Tabla de Clientes
Clave Primaria Clave Foránea Clave Primaria
Proceso de Construcción:
Diseño -
Enfoque Relacional
Las tablas deberán estar vinculadas de tal manera de poder
brindar la vista multidimensional
Esquemas
Estrella, Copo de Nieve,
Constelación de Estrellas,
Proceso de Construcción:
Diseño -
Enfoque Relacional
Cualquiera sea el esquema o modelo utilizado:
Tabla de hechos
Proceso de Construcción:
Diseño -
Enfoque Relacional
Tabla de Hechos
(variables dependientes)
Describen
datos sobre actividades básicas
Proceso de Construcción:
Diseño -
Enfoque Relacional
Tabla de Dimensiones
(variables independientes)
Describen
objetos relevantes de la organización
por los cuales se analiza la actividad
Proceso de Construcción:
Diseño -
Enfoque Relacional
Esquema Estrella:
claves datos tabla de hechos tabla de dimensión clave foránea clave foránea clave foránea clave foránea tabla de dimensión clave primaria datos clave primaria clave primaria datos clave primaria datos clave primaria datosSección
Sección de
referencias
Esquema Estrella:
Una tabla de hechos y n tablas de dimensiones
Se relacionan directamente a través de claves foráneas
Proceso de Construcción:
Proceso de Construcción:
Diseño -
Enfoque Relacional
Atributos Tabla de hechos :
Sección de referencias (dimensiones)
Sección descriptiva (medidas)
Proceso de Construcción:
Diseño -
Enfoque Relacional
Atributos Tabla de dimensiones:
Identificador del objeto
Proceso de Construcción:
Diseño -
Enfoque Relacional
Esquema Copo de Nieve:
claves datos tabla de hechos tablade dimensión clave foránea clave foránea clave foránea clave foránea tabla de dimensión tabla de dimensión clave primaria datos clave primaria clave primaria datos clave primaria datos clave primaria datos claveforánea claveforánea clave primaria datos clave primaria datos jerarquía entre dimensiones jerarquía entre dimensiones tabla de dimensión
Sección
Tabla de dimensiones Tabla de hechos Tabla de dimensiones Tabla de dimensiones Tabla de dimensiones Tabla de dimensiones Tabla de dimensionesSección de
referencias
Proceso de Construcción:
Comparación de Modelos
Proceso de Construcción:
Diseño -
Enfoque Relacional
Normalización:
Las desventajas de un esquema de base de datos relacional no
normalizado están relacionadas fundamentalmente con los
Proceso de Construcción:
Diseño - Enfoque Relacional
En un datawarehouse no se efectúan
¨update¨ como en una
base de datos transaccional
Proceso de Construcción:
Diseño - Enfoque Relacional
Se pueden generar esquemas no normalizados para alcanzar
Datawarehouses
Esquema Estrella (no normalizado 3FN):
Proceso de Construcción:
Diseño - Enfoque Relacional
clave primaria datos tabla de dimension tabla de dimension no normalizada tabla de dimension clave primaria datos exclave foránea datos clave primaria datos exclave foránea datos clave primaria datos claves datos tabla de hechos clave foránea clave foránea clave foránea clave foránea clave primaria Tabla de hechos
Proceso de Construcción:
Diseño -
Enfoque Relacional
Dimensión Tiempo:
Presente en todo dw
Aunque SQL ofrece funciones sobre el tipo DATE, la representación
de la dimensión permite representar otros atributos no calculables en
SQL
Atributos frecuentes: nro. de día, nro. de semana, valores absolutos
del calendario juliano que permiten ciertos cálculos aritméticos, día de
la semana (lunes, etc.), día festivo, fin de semana
Proceso de Construcción:
Diseño - Enfoque Relacional
Analizando el enfoque Relacional
Ventajas
:
Tecnología madura
Extremadamente utilizada y conocida
Sistemas altamente escalables
Poseen lenguaje de consulta standard
En general, las organizaciones ya
poseen las licencias
Desventajas
:
Las estructuras del modelo no
son naturales para el
procesamiento OLAP
Por ello necesitan contar con una
capa intermedia que mapee
ambas estructuras provocando
una baja performance en las
consultas
Granularidad:
Nivel de detalle de la información
almacenada en las estructuras
Proceso de Construcción:
Diseño
A mayor nivel de granularidad:
Mayor tiempo de procesamiento en la carga
Menor volumen de información
Consultas con mejor performance
Escasa flexibilidad ante consultas no planificadas
Proceso de Construcción:
Diseño
Analizar cuidadosamente el nivel de detalle adecuado en cada
caso de manera de poder balancear ventajas y desventajas
Proceso de Construcción:
Diseño
Relacional:
Cuan resumida o no es la información de la tabla de hechos
Multidimensional:
El grado de detalle de la variable dependiente
Proceso de Construcción:
Diseño
Definir el intervalo de tiempo oportuno entre cada actualización
del dw
Balancear:
Sobrecarga del ambiente operacional
Actualidad del datawarehouse
Proceso de Construcción:
Diseño
Definir la Ventana de tiempo oportuna de un dw
¿Cuánta historia debe mantener el datawarehouse
?
Proceso de Construcción:
Diseño
Ejemplo
La empresa GUMA S.A. vende productos alimenticios.
Los datos transaccionales que maneja diariamente son referidos a:
Los productos que comercializa
Las ventas (facturas) efectuadas por sus empleados
Las pedidos recibidos
Los clientes
Los proveedores
Las compañías de envíos que se encargan de la entrega de los pedidos
Los empleados que trabajan en ella
Ejemplo
Pa
ra soportar las operaciones diarias
(transaccionales)
que administran los datos mencionados posee una
base de datos cuyo modelo conceptual es el
Ejemplo
1,1Rubro
Empleado
Factura
Producto
Proveedor
Pedido
Detalle Factura Incluye Provee EsDeUn EsEnviado Detalle Pedido EsRealizadaEjemplo
1.
El gerente plantea la siguiente situación: “Hay que aumentar los ingresos”
2.
Por lo tanto, se pregunta:¿Qué podemos hacer
Disminuir gastos?
Vender más?
Existen proveedores “preferidos”
Qué productos nos conviene vender, …?
Para responder a esas preguntas, por ejemplo necesitaría saber:
¿Qué productos se venden más?
¿Cuál es el producto que genera el mayor ingreso de dinero a la
empresa?
Ejemplo
Datos
• Poductos
Información
• Los productos P1 y P2 son los más vendidos
• El producto PP es el que provoca el mayor
ingreso a la empresa
• El producto PP es uno de los menos vendidos
• Los productos P1 y P2 son provistos por el
proveedor X
Conocimiento
• Nos conviene que se incrementen
las ventas del producto PP
• Los productos del proveedor X
son los más vendidos
Decisión
• Estudiemos la posibilidad de incorporar nuevos
productos del proveedor X
• Generemos promociones que combinen los
productos P1 y PP y/o P2 y PP
• Investiguemos si el proveedor X vende el
producto PP. En ese caso se lo compremos a él
Ejemplo
¿Los datos que deben analizarse existen dentro de la empresa?
Sí, pero como mencionamos anteriormente:
Recuperar los datos desde las fuentes, altera el trabajo transaccional diario
No se puede dar respuesta a las solicitudes en tiempo real
Los datos necesarios constituyen un subconjunto de la totalidad de datos de la
empresa
Ejemplo
Construyamos un datawarehouse (datamart) que permita
extraer la información/conocimiento que necesitamos
Ejemplo
Pasos a seguir:
1.
Identificar el “proceso” de la organización a analizar,
es decir el objeto de análisis
Ejemplo
Pasos a seguir:
2.
Determinar la granularidad de los datos necesaria (nivel
de detalle)
Ejemplo
Pasos a seguir:
3.
Identificar las dimensiones de análisis
Tablas de Dimensiones
Ejemplo
1,1
Rubro
Empleado
Factura
Cliente
Compañía de Envío
Producto
Proveedor
Pedido
Detalle Factura Incluye Provee EsDeUn EsEnviado Detalle Pedido EsJefe EsRealizadaEjemplo
Pasos a seguir:
5.
Identificar las propiedades tanto del objeto de análisis
como de las dimensiones
Atributos de la tabla de hechos (medidas)
Ejemplo
Ejemplo
Objeto de Análisis: Ventas
Medidas: Cantidad e Importe
Dimensiones de Análisis: Empleado, Producto, Proveedor, Cliente
y Tiempo
Jerarquías de dimensiones:
Producto – Proveedor
Fecha – Día – Mes - Año
Ejemplo – Esquema Estrella
Granularidad “Fina”
Tiempo
Fecha DíaVenta
IdProducto IdCliente IdEmpleado Fecha Importe CantidadProducto
IdProducto Nombre Rubro IdProveedor NombreCompañia Ciudad Region CodPostal PaísCliente
IdCliente NombreEmpleado
IdEmpleado Nombre FechaNac FechaContEjemplo – Esquema Copo de Nieve
Granularidad “Fina”
Tiempo
Fecha Día MesVenta
IdProducto IdCliente IdEmpleado Fecha Importe CantidadProducto
IdProducto Nombre Rubro IdProveedorCliente
IdCliente Nombre Ciudad Region CodPostalEmpleado
IdEmpleado Nombre FechaNac FechaContProveedor
IdProveedor NombreCompañia Ciudad Region CodPostal PaísEjemplo – Esquema Estrella
Granularidad “Menos Fina”
Tiempo
Fecha DíaVenta
IdProveedor IdCliente IdEmpleado Fecha Importe CantidadProveedor
IdProveedor NombreCompañia Ciudad Region CodPostal PaísCliente
IdCliente Nombre CiudadEmpleado
IdEmpleado Nombre FechaNac FechaContNo se
discrimina por
producto
Lenguaje SQL
El standard SQL da soporte a las Bases de Datos
multidimensionales, con extensiones que proveen las
funcionalidades necesarias
Lenguaje SQL
Cláusula group by:
Roll-up
Drill-down
Ejemplos:
1.
Agrupamiento común
select prod_id, cust_id, sum(amount_sold)
from sh.sales
group by prod_id, cust_id;
2.
Disminuyo el nivel de detalle respecto de (1):
select prod_id, sum(amount_sold)
from sh.sales
group by prod_id;
(ROLL-UP)
3.