Almacenes de datos

Anuncio
Grandes de Bases de Datos
Almacenes de Datos (DW) e
Inteligencia de negocios
IN (BI)
¿Qué es Inteligencia de Negocios?
• Las TI permiten la toma de decisiones basadas
en procesos de análisis sobre datos simples o
complejos
– Administración de BD
– Consultas y reportes
– Análisis de datos y simulaciones
– Paneles
– Minería de datos
¿Por qué IN (BI)?
• Proyectar la dirección de las organizaciones a
un nivel de administración superior
– Toma de decisiones con mejor información
– Análisis competitivos
– Estrategias de publicidad enfocadas
– Escenarios y predicciones de negocios
– Optimización en operación
– Cumplimiento con regulaciones
¿Se usa la BI realmente?
– Desde 2009
• Existen sistemas que integran procesos de toma de
decisiones de manera colaborativa dentro de
plataformas BI
– Desde el 2010
• El 20% de las organizaciones contaba con una
aplicación analítica específica de la industria, entregada
a través de software como servicio (SaaS) como un
componente estándar de su cartera de BI
¿Se usa la BI realmente?
– Para 2012
• Más del 35% de las empresas globales no toman
decisiones adecuadas sobre cambios significativos en
sus negocios y mercados (o hacen decisiones no
adecuadas).
• Las unidades de negocio controlarán al menos el 40%
del presupuesto total de BI
• Una tercera parte de aplicaciones analíticas aplicadas a
procesos de negocio se entregarán mediante
aplicaciones genéricas (no desarrollos específicos)
Conocimientos y habilidades
– Conocimiento de BD y almacenes de datos (DWH)
– Administrar, integrar y probar sistemas de BD
– Administrar sistemas de reportes
– Implementar políticas, requerimientos de
seguridad y regulaciones
Elementos de BI
– Almacenamiento
• Almacenes de datos
– Análisis
• Estadística
• Minería de datos
– Presentación
• Visualización
Almacenes de datos
– Conceptos básicos
– Arquitecturas
– Data Marts
– Estructuras de datos y flujo de datos
– Modelado dimensional
– Extracción, limpieza, congregación y entrega de
datos
– Generación y entrega de reportes
– Monitoreo y verificación de desempeño
Almacenes de datos
Un Data Warehouse (DW - almacén de datos),
generaliza y consolida datos en espacios de múltiples
dimensiones.
Almacenes de datos
La construcción de un DW incluye limpieza,
transformación e integración de los datos
Almacenes de datos
Proveen herramientas de proceso analítico en línea
(OLAP) para el análisis interactivo de datos de múltiples
dimensiones en varias granularidades.
Facilita la generalización efectiva de los datos y la
minería de datos.
En conjunto con operaciones OLAP, tenemos funciones
de minería de datos como clasificación, predicción,
asociación y cúmulos.
Almacenes de datos
Uso de datos
concentrados
según área
Definición
El término de Data Warehouse se dio a conocer en el
artículo "An architecture for a business and information
system" en 1988.
El término que se empleo en tal artículo fue "Business
Data Warehouse" el cuál propone un repositorio de
datos y herramientas para su uso.
Definición
Base de datos de soporte de decisiones que se mantiene separada de las bases
de datos operacionales de la organización en cuestión.
“Un almacén de datos es una colección de datos
Orientada a un objetivo
Integrada
Variante en el tiempo
No volátil
utilizada principalmente en la organización para la toma de decisiones”[1]
[1] William H. Inmon
Orientado a Objetivo
• Organización de los datos en objetos mejor definidos.
• Exclusión de los datos que no son útiles en el proceso.
• Enfoque en el modelado y análisis de datos para los
encargados de decisiones.
$
Integrados
• Múltiples fuentes de datos heterogéneas.
• Pre-procesamiento de datos
Variante en tiempo
• El horizonte de datos es mayor que una BD operacional
• Cada elemento contiene una referencia al tiempo,
explicita o implícitamente. (aunque no necesariamente
el elemento principal)
No volátil
• Almacenamiento físico distinto del ambiente
operacional
• Actualizaciones operacionales no se reflejan en el
ambiente del DW
• ¿Procesamiento de transacciones? ¿Recuperación?
¿Concurrencia?
• Dos actividades:
• Carga inicial
• Acceso a datos
Diferencias entre Sistemas Operacionales de
Bases de Datos y Data Warehouse
• Transacción y procesamiento de consultas.
• Esos sistemas son conocidos como sistemas de
procesamiento de transacciones en línea (OLTP).
• Cubren la mayor parte de las operaciones diarias de
una organización, tales como venta, inventario, etc.
Diferencias entre Sistemas Operacionales de
Bases de Datos y Data Warehouse
• Sirven a los usuarios o trabajadores del conocimiento
en el papel de análisis de datos y toma de decisiones.
• Pueden organizar y presentar los datos en varios
formatos de tal forma que se acomoden a las
necesidades de los diferentes usuarios.
• Estos sistemas son conocidos como sistemas de
procesamiento analítico en línea (OLAP).
OLTP vs OLAP
Característica OLTP
OLAP
Funcionalidad Operación diaria
Soporte de Decisiones
Diseño
Datos
Vista
Uso
Unidad
Acceso
Registros
Tamaño BD
Métrica
Orientado a la aplicación Relacional
Actualizados, aislados, no
repetidos
Detallada, plana relacional
Estructurado, repetitivo
Transacciones simples
Lectura/Escritura
Millones
100GB/1000GB
"Throughput" de transacciones
Orientado a objetivos - Estrella,
copo de nieve
Históricos, consolidados
Resumida, múltiples dimensiones
Ad Hoc
Consultas complejas
Lectura
Billones
1TB/1000TB
"Response" de consultas
¿Dónde debe encontrarse?
¿Dónde debe encontrarse?
¿Dónde debe encontrarse?
¿Dónde debe encontrarse?
• Desempeño
– BD operaciones diseñadas y optimizadas para
cargas de trabajo distintas
– Consultas OLAP complejas degradan el desempeño
(bloqueos, etcétera)
– Organización de datos especial que permite:
•
•
Métodos de acceso y de implementación para datos de
múltiples dimensiones
Vistas y consultas de datos de múltiples dimensiones
¿Dónde debe encontrarse?
• Funcionalidad
• Datos faltantes:
– Requieren datos históricos, que generalmente no mantienen las BD
operacionales
• Consolidación de datos:
– Requieren consolidación (agregación, resúmenes) de datos múltiples fuentes de datos externas
• Calidad de Datos:
– Necesidad de procesamiento previo a los datos
Modelo de datos de múltiples
dimensiones
• DW y herramientas OLAP están basadas en un modelo
de datos multidimensional
• tiendaWeb:
– Se han vendido $120,000
– Se han vendido $120,000 durante el último trimestre
– Se han vendido $120,000 en DVD’s durante el último
trimestre
– Se han vendido $120,000 en DVD’s durante el último
trimestre en la ciudad de Monterrey
Cada elemento, agrega valor al contexto de
enunciado inicial
Modelo de datos de múltiples
dimensiones
• DW y herramientas OLAP están basadas en un modelo
de datos multidimensional
– TABLA DE HECHOS
• Nombres de hechos, medidas, llaves a otras
tablas de dimensión
• Medidas numéricas: Unidades vendidas, dinero,
etcétera.
– Modelo más común en DW
Modelo de datos de múltiples
dimensiones
• DW y herramientas OLAP están basadas en un modelo
de datos multidimensional
– TABLA DE DIMENSION
• Representa información contextual al hecho y
agrega significado
• Ayuda al análisis desde distintos puntos de vista
sobre los hechos
• Se organiza en forma de atributos y jerarquías
Modelo de datos de múltiples
dimensiones
• Los datos se encuentran organizados en múltiples
dimensiones y cada dimensión contiene múltiples
niveles de abstracción definidos por jerarquías de
conceptos.
¿Ejemplo?
Modelo de datos de múltiples
dimensiones
• Los datos se encuentran organizados en múltiples
dimensiones y cada dimensión contiene múltiples
niveles de abstracción definidos por jerarquías de
conceptos.
¿Ejemplo?
Modelo de datos de múltiples
dimensiones
• Los datos se encuentran organizados en múltiples
dimensiones y cada dimensión contiene múltiples
niveles de abstracción definidos por jerarquías de
conceptos.
• Esta organización provee a los usuarios de la
flexibilidad de analizar los datos desde distintas
perspectivas.
• Existen un número de operaciones de cubo OLAP
para materializar esas diferentes vistas, permitiendo
consultas interactivas y análisis de los datos.
De tablas a cubos
• tiendaWeb
– Venta de varios productos
• Según clasificación de producto
• Según el color, tamaño o el peso del producto.
– Venta durante varios años
• Por años, meses, días
– Venta hacia clientes en distintos lugares
• Por Zona, País, Ciudad, Localidad.
– Venta mediante varios tipos de formas de pago
– Venta por detalles del cliente
• Según su grado escolar, numero de hijos, etcétera.
De tablas a cubos
Dimensiones: Tiempo, Producto
Cubos de datos en 3D
Mexico
Italia
China
Francia
Dimensiones: Tiempo, Producto, Localidad
Cubos de datos en 3D
Mexico
Italia
China
Francia
Dimensiones: Tiempo, Producto, Localidad
Cubos de datos en 3D
Dimensiones: Tiempo, Producto, Localidad
Cubos de datos en 4D
Forma de Pago
Visa
MasterCard
American Express
Dimensiones: Tiempo, Producto, Localidad, Forma de Pago
Modelo multidimensional
• Conjunto de HECHOS en un espacio de
múltiples dimensiones.
• Un hecho, contiene:
– Una dimensión de métrica
• Un conjunto de dimensiones en las cuales se
analizan los datos.
– Conforman un sistema de coordenadas y cada
dimensión tiene un conjunto de atributos.
– Los atributos de una dimensión se encuentran
relacionados por un orden parcial
• Jerárquico.
Modelo multidimensional
• Un modelo relacional no-normalizado
• Compuesto de tablas con atributos.
• Relaciones definidas por llaves foráneas.
• Organizado para su comprensión y facilidad
para hacer análisis, en lugar de actualizaciones.
• Consultado y mantenido por SQL o
herramientas administrativas de propósito
especial
ER vs Modelo multidimensional
• Una tabla por entidad
• Minimizar redundancia de
datos
• Optimizado para la
actualización
• Modelo de procesamiento
de transacciones
• Una tabla de hechos para
organizar los datos
• Maximizar comprensión
• Optimizado para acceso
• Modelo de almacenes de datos
Tabla de hechos
•
•
•
•
Contiene varias llaves foráneas
Tiende a contener bastantes registros
Hechos útiles tienden a ser numéricos y aditivos
Atributos No-llave (Los atributos en las tablas de
dimensión son constantes. Los hechos varían con la
granularidad de la tabla de hechos).
Lo que se mide
Tablas de dimensión
• Contienen texto e información descriptiva
• Una tabla (o jerarquía de tablas) conectada(s) con una
tabla de hechos mediante llaves y llaves foráneas.
• Valores univaluados para cada registro de la tabla de
hechos (1 en una relación 1-M).
• Generalmente, la fuente de restricciones de interés.
Las características
Medida
• La información contenida en la tabla de hechos, debe
ser ponderada
• Una medida es cualquier valor o cantidad que
representa un métrica alienada a la organización
• Se utilizan intercambiablemente “hecho”, “medida” o
“métrica”
• Un grupo de medidas es una colección de medidas
asociadas a una tabla de hechos
Medida
• Los tipos básicos son:
• Hechos totalmente aditivos
– Se pueden calcular para todas las dimensiones asociadas
– Ejemplo: Total de ventas para clientes, localidades y fechas
• Hechos semi – aditivos
– Se pueden calcular para algunas de las dimensiones
asociadas.
– Ejemplo: El balance bancario de un cliente NO se puede
calcular en la dimensión de fecha de manera aditiva
Medida
• Los tipos básicos son:
• Hechos no aditivos
– No se pueden calcular para ninguna de las dimensiones
asociadas (se carece de sentido)
– Ejemplo: Ganancia porcentual del producto no se puede
adicionar en la dimensión de tiempo
• Hechos derivados
– Se calculan a base de otros hechos
– Generalmente no se almacenan en el cubo, se calculan al
vuelo
– Ejemplo: Impuestos sobre ventas para dimensión de tiempo
Medida
• Los tipos básicos son:
• Hechos sin métrica
– No infieren información que modificar en la tabla de hechos,
pero se requieren para su análisis
– Ejemplo: Solicitar un balance de cuenta en cajero
automático
• Hechos textuales
– Es información no numérica que no es medible pero se
requiere para el análisis
– Ejemplo: Códigos de productos, banderas de estatus, etc.
¿Qué hacer desde el modelo
Relacional?
• En la mayoría de los casos, se crean múltiples índices y
tablas de resumen para evitar recorridos constantes
(el costo de E/S) sobre grandes tablas.
• La proliferación de estos elementos para mejorar el
desempeño de consultas y agregaciones que los
usuarios realizan, no hace sino incrementar el tiempo
de creación y espacio en disco utilizado para ello.
• Generalmente requiriendo más tiempo y espacio que
los datos originales.
Modelo de negocio
• Identificar la estructura de los datos, atributos y restricciones
para el ambiente que manejaran los clientes dentro del almacén
de datos
• Estable
• Optimizado para consultar
• Flexible
• Desventajas
• Desempeño
• Complejo
• Inflexible
Proceso de diseño
Elección del "Data Mart“.
Definición de la granularidad.
Elección de las dimensiones.
Elección de los hechos.
Proceso de diseño
• Enfoque de arriba – abajo
– Los problemas a ser resueltos están claros y bien
entendidos, tecnología disponible
• Enfoque de abajo – arriba
– El desarrollo de la tecnología en curso con uso de
prototipos
• Combinación de ambos
– Utiliza el enfoque de arriba – abajo y el uso oportunista
de abajo - arriba
Proceso de diseño
• En un inicio:
– Instalación
– Despliegue
– Entrenamiento
– Orientación
Proceso de diseño
• En la administración
– Refresco
– Sincronización
– Recuperación de desastres
– Control de acceso y seguridad
– Crecimiento
– Mejoramiento
Construir un DW a partir de un BD
• Desarrollar un modelo E/R del DW.
• Trasladarlo a un modelo de múltiples dimensiones.
(Este paso refleja las características analíticas y la
información del DW.
• Trasladar a un modelo físico (Esto refleja los cambios
necesarios para alcanzar los objetivos de
desempeño)
Modelado multidimensional
• Seleccionar una entidad asociativa como tabla de
hechos.
• Determinar la granularidad.
• Remplazar llaves con llaves generadas.
• Promover las llaves de todas las jerarquías hacia la
tabla de hechos.
Modelado multidimensional
• Tomar la intersección de las entidades como tablas de
hechos y construir las relaciones llaves foráneas 
llaves primarias, como dimensiones.
• Agregar datos de dimensión.
• Dividir todos los atributos compuestos.
• Agregar dimensiones categóricas necesarias
• Hechos (Varían con el tiempo) / Atributos (Constante)
Granularidad
• La granularidad <- -> nivel de detalle.
Por ejemplo:
– Transacciones individuales.
– Instantáneas (puntos en el tiempo).
– Elementos en un documento
• Generalmente mejor enfocar en granularidad
pequeña.
Ejemplo
Ejemplo
Esquema en estrella
• Estrella
– Tabla central llamada tabla de hechos, sin
redundancias
– Un juego de tablas mas pequeñas llamadas tablas
de dimensión
– Cada dimensión esta representada por una sola
tabla con atributos propios
Esquema en estrella
Esquema en copo de nieve
• Copo de nieve
– Algunas tablas de dimensión están normalizadas,
permitiendo la división en tablas adicionales
– Tablas de dimensión normalizadas que evitan
redundancia y ahorran espacio
– Más reuniones (JOIN) para encontrar los datos
Esquema en copo de nieve
Detalles del diseño
• ¿Llaves primarias y subrogadas?
Detalles del diseño
• Primaria:
– Identifica un registro y tiene un significado dentro
del contexto del negocio
– Ejemplo: Número de incidente, número de
seguridad social, correo electrónico, etcétera.
• Puede ser numérica, cadena o combinación,
pero las reuniones son más lentas
Detalles del diseño
• Primaria:
• Ocupa más espacio
• No permite el mantenimiento de un historial
– ¿Qué sucede si un cambio en los datos del cliente
se realiza?
• La fusión de varias fuentes es más compleja
Detalles del diseño
• Subrogada:
– Identifica un registro y NO tiene un significado
dentro del contexto del negocio
– Ejemplo: nIdAlgo, Unique identifier, secAlgo,
etcétera.
• Es numérica y las reuniones son más rápidas
Detalles del diseño
•
•
•
•
Subrogada :
Ocupa menos espacio
Permite el mantenimiento de un historial
La fusión de varias fuentes es más sencilla
Ejemplos
Almacenamiento OLAP
A. OLAP Relacional (ROLAP)
– SMBDR especializado para almacenar y administrar
datos de DW
B. OLAP Multidimensional (MOLAP)
– Estructuras basadas en arreglos y cubos
C. OLAP Hibrido (HOLAP)
– Almacenamiento detallado en SMBDR
– Almacenamiento de agregaciones en SMBDM
– Acceso vía herramientas MOLAP
ROLAP: Modelado multidimensional usando
un SMBDR
• Esquemas especiales: star, snowflake
• Índices especiales: bitmap, columnas
• Tecnología probada, supera en rendimiento a
sistemas especializados con grandes conjuntos de
datos
Puntos sobre ROLAP
• Define modelado complejo usando conceptos
sencillos
• Reduce el numero de reuniones necesarias
• Permite evolucionar al DW con poco
mantenimiento
• Contiene datos de resumen y detallados.
• ROLAP se basa en tecnologías probadas y con
una fuerte base.
Puntos sobre ROLAP
Pero!!!
• Usa SQL para manipulaciones de múltiples
dimensiones.
– GROUP BY
– WITH CUBE, WITH ROLLUP
– GROUPING SETS
MOLAP: Modelo multidimensional puro
• Modelo de datos especifico
• Los hechos se almacenan en arreglos
multidimensionales
• Dimensiones usadas en índices
• Generalmente sobre BD relacionales
Puntos sobre MOLAP
• Consolidar los datos de transacciones mejora
la velocidad.
PERO
– Requiere una sobrecarga enorme la consolidación
de todos los datos entrantes. En procesamiento
como en almacenamiento
• Si los datos son menores a 50GB, es buen
modelo de datos.
• Rolling up y Drilling down se realiza sobre los
datos agregados.
OLAP Hibrido (HOLAP)
• Almacenamiento detallado en SMBDR
• Almacenamiento de agregaciones en SMBDM
• Acceso vía herramientas MOLAP
Flujo de datos en HOLAP
SMBDR
SMBDM
Meta datos
Datos
calculados
SQL
Clientes
Elementos a considerar para elegir
• Desempeño:
• ¿Qué tan rápido es necesario?
– MOLAP se desempeña mejor.
• Volumen de datos y escalabilidad:
– MOLAP manejan fácilmente 50GB, pero los
SMBDR van hacia 100 – 1000 gigabytes.
Métricas, categorización y computo
• Es una función que puede ser evaluada en cada
punto del espacio del cubo.
– Distributivas:
count()
– Algebraicas:
avg()
– Estadísticas:
median()
mode()
Operaciones multidimensionales
• ¿Para qué son útiles las Jerarquías de Concepto
en OLAP?
– Drill-Down
– Roll-Up
– Slice & Dice
– Pivot
Operaciones multidimensionales
• Drill-Down
Forma de Pago
Visa
MasterCard
American Express
Dimensiones: Tiempo, Producto, Localidad , Forma de Pago
Operaciones multidimensionales
• Roll-Up
Forma de Pago
Visa
MasterCard
American Express
Dimensiones: Tiempo, Producto, Localidad , Forma de Pago
Operaciones multidimensionales
• Slice & Dice
Dimensiones: Tiempo, Producto, Localidad
Operaciones multidimensionales
• Slice & Dice
Dimensiones: Tiempo, Producto, Localidad : Localidad = {Verde}
Operaciones multidimensionales
• Slice & Dice
Dimensiones: Tiempo, Producto, Localidad : Producto = {BR}
Operaciones multidimensionales
• Slice & Dice
Dimensiones: Tiempo, Producto, Localidad : Tiempo = {2000}
Operaciones multidimensionales
• Pivot
Dimensiones: Tiempo, Producto, Localidad
Arquitectura de un DW
• Enfoques en la elaboración de DW
– Top-down
– Data source
– Data warehouse
– Business
Arquitectura de un DW
• A tomar en consideración:
– Extractores
– Software de actualización
– Transformación de datos para la Toma de
decisiones
– Capacidad de búsqueda de patrones y anomalías
Arquitectura de un DW
Arquitectura de un DW
Arquitectura de un DW
Ambientes
transaccionales que
alimentan los
repositorios
Arquitectura de un DW
Servidores
intermedios que
procesan los datos y
posiblemente los
limpian
Arquitectura de un DW
Servidores OLAP
a)OLAP Relacional
(ROLAP)
b) Multidimensional
(MOLAP)
c) Híbrido
Arquitectura de un DW
Herramientas de
consulta y de reporte
además de
herramientas de
análisis y/o de
minería de datos.
Clasificación de tipos de DW
• Warehouse enterprise: Recolecta toda la
información sobre los temas de la organización.
Provee de integración de datos a lo largo de la
corporación. También incluye datos detallados, datos
resumidos y su alcance va de unos cuantos gigabytes
hasta terabytes o más.
Clasificación de tipos de DW
• Data mart: Contiene un subconjunto de datos
corporativos que es de valor a un grupo específico de
usuarios. El alcance es confinado a una selección
específica de temas. Los datos tienden a ser
resumidos.
– Dependientes
– Independientes
Clasificación de tipos de DW
• Virtual Warehouse: es un conjunto de vistas sobre
una base de datos operacional.
Implementación de un DW
Calculo eficiente de cubos
• Computo eficiente de agregaciones a través de
muchos conjuntos de dimensiones.
En términos SQL estas agregaciones se llaman
group-by’s.
• Cada group-by puede ser representado por un
cuboide, donde el conjunto de group-by’s forma
un enrejado de cuboides, definiendo un cubo de
datos.
• Un cubo de datos es un enrejado de cuboides.
La maldición de la dimensionalidad
Calcula agregados sobre todos los
subconjuntos de las dimensiones
especificadas en la operación.
Ejemplo:
Supongamos que queremos calcular un cubo para
tiendaWeb con las dimensiones: ciudad, producto, año
y el hecho: ventas.
Queremos analizar los datos con consultas como:
• Calcular la suma de ventas, agrupando por ciudad y
producto.
• Calcular la suma de ventas, agrupando por ciudad.
• Calcular la suma de ventas, agrupando por producto.
Ejemplo:
Tomamos ciudad, producto y año como dimensiones
del cubo de datos y ventas como la medida.
El total de group-by’s que podemos calcular es:
23=8
{(ciudad; producto; año), (ciudad; producto), (ciudad; año),
(producto; año), (ciudad), (producto), (año), ()}
El cuboide base contiene tres dimensiones.
Menos generalizado (más especifico)
El cuboide cima ó 0-D es el caso donde el group-by es vacío.
Mas generalizado (menos especifico)
(ciudad)
(producto)
(ciudad, producto)
(ciudad, año)
(año)
• Un
Para
operador
un cuboen
con
el ncubo
dimensiones,
en n dimensiones
hay un(producto,
total
es deaño)
2n
equivalente
a una colección
de group-by’s,
uno por
cuboides,
incluyendo
el cuboide
base
cada subconjunto de las n dimensiones. Por lo tanto, el
operador en el cubo es la generalización n-dimensional
(ciudad, producto, año)
del operador group-by.
La maldición de la dimensionalidad
• Si no hay jerarquías asociadas con cada dimensión,
entonces el numero total de cuboides para un cubo
de datos n-dimensional es 2n .
• Los requisitos de almacenamiento son excesivos
cuando muchas de las dimensiones han asociado
jerarquías de concepto, cada una con niveles
múltiples.
• Para un cubo de datos n-dimensional el numero total
de cuboides que puede ser generado (incluyendo los
cuboides generados por las jerarquías) es:
Calculo eficiente de cubos
n
Numero de cuboides   ( Li  1)
i 1
Li es el numero de niveles asociado con una
dimensión i.
Esta formula se basa en el hecho de que a lo mas un
nivel de abstracción en cada dimensión aparecerá en
un cuboide.
Se suma 1 a la ecuación para incluir el nivel 0-D.
Calculo eficiente de cubos
• Si hay muchos cuboides y éstos son grandes en
tamaño, una opción mas razonable es la
materialización parcial, esto es, materializar solo
algunos de los posibles cuboides que pueden ser
generados.
Calculo eficiente de cubos
Hay tres opciones para la materialización de un cubo de
datos dado un cuboide base.
1. No materialización:
No pre-calcular los cuboides “no base”. Esto conduce a
calcular los agregados multidimensionales costosos lo cual
puede ser extremadamente lento.
(ciudad)
(producto)
(ciudad, producto)
(ciudad, año)
(ciudad, producto, año)
(año)
(producto, año)
Calculo eficiente de cubos
2. Materialización completa:
Pre-calculo de todos los cuboides. El enrejado resultante de
calcular los cuboides es llamado cubo completo. Esta opción
comúnmente requiere enormes cantidades de espacio en
memoria para almacenar todos los cuboide pre-calculados.
(ciudad)
(producto)
(ciudad)
(producto)
(año)
(ciudad, producto)
(ciudad, producto)
(ciudad, año)
(ciudad, año)
(producto, año)
(ciudad, producto, año)
(ciudad, producto, año)
(año)
(producto, año)
Calculo eficiente de cubos
3. Materialización parcial:
Calcular selectivamente un subconjunto propio de los
cuboides posibles. Calcular un subconjunto del cubo, el cual
contiene solo aquellas celdas que satisfacen algunos criterios
especificados por el usuario. Esta materialización representa
una compensación entre el espacio de almacén y el tiempo
de respuesta.
(ciudad)
(producto)
(ciudad)
(producto)
(año)
(ciudad, producto)
(ciudad, producto)
(ciudad, año)
(ciudad, año)
(producto, año)
(ciudad, producto, año)
(ciudad, producto, año)
(año)
(producto, año)
Calculo eficiente de cubos
La materialización parcial de cuboides o de sub-cubos
debe considerar tres factores:
1. Identificar el subconjunto de cuboides o sub-cubos para
materializar.
2. Aprovechar los cuboides o sub-cubos materializados
durante el proceso de consultas.
3. Actualizar eficientemente los cuboides o sub-cubos
materializados durante la carga y refresco
Índices en ambientes OLAP
El indexado en bitmap permite una búsqueda rápida en
cubos de datos.
Para un atributo dado, hay un vector de bits distinto, Bv,
para cada valor v en el dominio del atributo.
Si el dominio de un atributo dado consiste de n valores,
entonces son necesarios n bits para cada entrada en el
índice del bitmap (es decir, hay n vectores de bits).
Índices en ambientes OLAP
Cliente
ID
ColorFavorito
1 Rojo
2 Verde
3 Azul
4 Morado
5 Azul
6 Verde
7 Azul
8 Rojo
9 Verde
Pais
MX
UK
JP
MX
MX
US
US
UK
MX
IndiceBM1
ID
Rojo
1
2
3
4
5
6
7
8
9
IndiceBM2
ID
MX
1
2
3
4
5
6
7
8
9
Verde
1
0
0
0
0
0
0
1
0
Azul
0
1
0
0
0
1
0
0
1
US
1
0
0
1
1
0
0
0
1
Morado
0
0
1
0
1
0
1
0
0
UK
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
JP
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
Índices en ambientes OLAP
• Ventaja
– Útil para dominios de baja cardinalidad porque las
operaciones de comparación, unión y agregación son
reducidas a aritmética de bits, lo cual reduce
substancialmente el tiempo de procesamiento.
– Acelera operaciones de reunión y de unión
– Ideal para llaves foráneas y primarias entre tablas de
hechos y de dimensión
• Desventaja
– Para dominios de cardinalidad alta, el método puede ser
adaptado usando técnicas de compresión.
Índices en ambientes OLAP
El indexado por columna
• Considera un nuevo paradigma de almacenamiento
para los datos
• No es exclusivo de modelos de múltiples
dimensiones
• Permite una mejora tanto en velocidad como
almacenamiento
• No permite actualizaciones inmediatas
Índices en ambientes OLAP
Cliente
ID
1
2
3
4
5
6
7
8
9
Nombre
Hugo
Paco
Luis
Hugo
Ana
Silvia
Carmen
Ana
Hugo
ColorFavorito
Rojo
Verde
Azul
Morado
Azul
Verde
Azul
Rojo
Verde
Pais
MX
UK
JP
MX
MX
US
US
UK
MX
Ap_PaT
Abundes
Azul
Cruz
Bejenta
Berrulio
Cadiz
Santa
Villa
Perez
Encabezado
Encabezado
bytes)
Encabezado
Encabezado(96
(96
(96bytes)
bytes)
Nombr’1
Nombr’2
Nombr’3
Nombr’5
Nombr’6
Datos
1
Datos 2 Nombr’4 Datos
3
Nombr’7 Nombr’8 Nombr’9
Datos 4
Nombr’
ID
1
2
3
4
5
6
7
8
9
Nombre
Hugo
Paco
Luis
Hugo
Ana
Silvia
Carmen
Ana
Hugo
ColorFa’
ID
Nombre
1
Rojo
2
Verde
3
Azul
4
Morado
5
Azul
6
Verde
7
Azul
8
Rojo
9
Verde
Datos 5
Registro de
Datos 6
desplazamiento
Registro de8 7
desplazamiento
Cuerpo (8096 bytes)
Cuerpo (8096 bytes)
6
5
4
3
2
1
0
5
4
3
2
1
0
Índices en ambientes OLAP
• Ventaja
– Útil para consultas predefinidas de ambientes OLAP,
solamente se lee los atributos que se requieren lo cual
reduce substancialmente el tiempo de procesamiento.
– Acelera operaciones de reunión y de unión
• Desventaja
– Son estáticos entre carga y carga.
Procesamiento de consultas OLAP
El propósito de materializar cuboides y construir
estructuras de índices OLAP es acelerar el
procesamiento de consultas en cubos de datos. Dadas
vistas materializadas, el procesamiento de consultas
debe seguir la forma siguiente:
1. Determinar que operaciones se deben realizar en los
cuboides disponibles:
–
Esto implica transformar las operaciones de selección,
proyección , group-by y drill-down, especificadas en la
consulta a operaciones correspondientes en SQL y/o OLAP.
Procesamiento de consultas OLAP
El propósito de materializar cuboides y construir
estructuras de índices OLAP es acelerar el
procesamiento de consultas en cubos de datos. Dadas
vistas materializadas, el procesamiento de consultas
debe seguir la forma siguiente:
2. Determinar a cual cuboide materializado las operaciones
relevantes deben ser aplicas:
–
Esto implica identificar todos los cuboides materializados
que
pueden ser utilizados para responder la consulta, estimando el costo
de usar los cuboides materializados restantes y seleccionado el
cuboide con el menor costo.
Procesamiento de consultas OLAP
Supongamos que definimos un cubo de datos para tiendaWeb
de la forma: cubo ventas [fecha, producto, localidad]:
sum(total_venta), las jerarquías de dimensiones usadas
son:
día < mes < trimestre < año para fecha,
nombre < marca < tipo para producto y
calle < ciudad < estado < país para localidad.
Supongamos que la consulta que se procesará se encuentra en
{marca, estado}, con “año=2011” .
Procesamiento de consultas OLAP
También supongamos que hay cuatro cuboides materializados:
- cuboide 1: {año, nombre, ciudad}
- cuboide 2: {año, marca, país}
- cuboide 3: {año, marca, estado}
- cuboide 4: {nombre, estado}
Donde año = 2011
1. ¿Cuál de los cuboides debe ser seleccionado para procesar la consulta?
2. ¿Cómo se compararían los costos de cada cuboide si se utilizaron para
procesar la consulta?
Data Warehouse y Minería de datos
Uso de DW
Los DW y DM son utilizados en un rango muy amplio de
aplicaciones.
Evolución:
1. DW es utilizado principalmente para generar reportes y
contestar consultas predefinidas.
2. Progresivamente se utilizaron para analizar datos resumidos
y detallados, donde los resultados eran presentados en
forma de reportes o cartas.
Datamart
de Ventas
Datamart
Financiero
Datamart de
Recursos Humanos
Uso de DW
3. Después el DW se utilizo para propósitos estratégicos,
realizar análisis multidimensional y operaciones sofisticadas
de Slice & Dice.
4. Finalmente, ese emplea para descubrir conocimiento y
estrategias para tomar decisiones usando herramientas de
minería de datos. Las herramientas de DW pueden ser
categorizadas en herramientas de acceso y recuperación,
herramientas para reportar las base de datos, herramientas
de análisis de datos y herramientas de minería de datos.
Tipos de aplicaciones en DW
1.Procesamiento de información
Soporta consultas, análisis estadístico y divulgación utilizando
tablas cruzadas, tablas, cartas o graficas.
Una tendencia actual en el procesamiento de información de
DW es construir herramientas de acceso a la web de bajo
costo que son integradas con buscadores web.
Tipos de aplicaciones en DW
2. Procesamiento analítico
Soporta operaciones básicas OLAP incluyendo Slice & Dice,
Drill- Down, Roll-Up, y pivoteo, operando sobre datos
históricos en forma resumida y detallada.
El punto principal del procesamiento analítico en línea sobre
el manejo de información es el análisis de datos
multidimensional de los datos del DW.
Tipos de aplicaciones en DW
3. Minería de datos
Soporta el descubrimiento del conocimiento buscando
patrones y asociaciones ocultos, construyendo modelos
analíticos, realizando predicciones y clasificaciones y
presentando los resultados minados usando
herramientas de visualización.
Descargar