almacenes de datos - piazza

127
Grandes de Bases de Datos Almacenes de Datos (DW) e Inteligencia de negocios IN (BI)

Upload: others

Post on 23-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Almacenes de datos - Piazza

Grandes de Bases de Datos

Almacenes de Datos (DW) e Inteligencia de negocios

IN (BI)

Page 2: Almacenes de datos - Piazza

¿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

Page 3: Almacenes de datos - Piazza

¿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

Page 4: Almacenes de datos - Piazza

¿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

Page 5: Almacenes de datos - Piazza

¿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)

Page 6: Almacenes de datos - Piazza

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

Page 7: Almacenes de datos - Piazza

Elementos de BI

– Almacenamiento

• Almacenes de datos

– Análisis

• Estadística

• Minería de datos

– Presentación

• Visualización

Page 8: Almacenes de datos - Piazza

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

Page 9: Almacenes de datos - Piazza

Un Data Warehouse (DW - almacén de datos), generaliza y consolida datos en espacios de múltiples dimensiones.

Almacenes de datos

Page 10: Almacenes de datos - Piazza

La construcción de un DW incluye limpieza, transformación e integración de los datos

Almacenes de datos

Page 11: Almacenes de datos - Piazza

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

Page 12: Almacenes de datos - Piazza

Almacenes de datos

Uso de datos

concentrados

según área

Page 13: Almacenes de datos - Piazza

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.

Page 14: Almacenes de datos - Piazza

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

Definición

Page 15: Almacenes de datos - Piazza

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

$

Orientado a Objetivo

Page 16: Almacenes de datos - Piazza

• Múltiples fuentes de datos heterogéneas.

• Pre-procesamiento de datos

Integrados

Page 17: Almacenes de datos - Piazza

• 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)

Variante en tiempo

Page 18: Almacenes de datos - Piazza

• 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

No volátil

Page 19: Almacenes de datos - Piazza

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.

Page 20: Almacenes de datos - Piazza

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

Page 21: Almacenes de datos - Piazza

OLTP vs OLAP

Característica OLTP OLAP

Funcionalidad Operación diaria Soporte de Decisiones

Diseño Orientado a la aplicación - Relacional

Orientado a objetivos - Estrella, copo de nieve

Datos Actualizados, aislados, no repetidos Históricos, consolidados

Vista Detallada, plana relacional Resumida, múltiples dimensiones

Uso Estructurado, repetitivo Ad Hoc

Unidad Transacciones simples Consultas complejas

Acceso Lectura/Escritura Lectura

Registros Millones Billones

Tamaño BD 100GB/1000GB 1TB/1000TB

Métrica "Throughput" de transacciones "Response" de consultas

Page 22: Almacenes de datos - Piazza

¿Dónde debe encontrarse?

Page 23: Almacenes de datos - Piazza

¿Dónde debe encontrarse?

Page 24: Almacenes de datos - Piazza

¿Dónde debe encontrarse?

Page 25: Almacenes de datos - Piazza

• 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?

Page 26: Almacenes de datos - Piazza

• 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

¿Dónde debe encontrarse?

Page 27: Almacenes de datos - Piazza

• 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

Modelo de datos de múltiples dimensiones

Cada elemento, agrega valor al contexto de enunciado inicial

Page 28: Almacenes de datos - Piazza

• 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

Page 29: Almacenes de datos - Piazza

• 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

Page 30: Almacenes de datos - Piazza

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?

Page 31: Almacenes de datos - Piazza

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?

Page 32: Almacenes de datos - Piazza

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.

Page 33: Almacenes de datos - Piazza

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.

Page 34: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto

De tablas a cubos

Page 35: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

Cubos de datos en 3D Mexico

FranciaChina

Italia

Page 36: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

Cubos de datos en 3D Mexico

FranciaChina

Italia

Page 37: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

Cubos de datos en 3D

Page 38: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad, Forma de Pago

Cubos de datos en 4D

Forma de Pago

Visa MasterCard American Express

Page 39: Almacenes de datos - Piazza

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.

Page 40: Almacenes de datos - Piazza

• 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

Modelo multidimensional

Page 41: Almacenes de datos - Piazza

• 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

ER vs Modelo multidimensional

Page 42: Almacenes de datos - Piazza

• 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

Tabla de hechos

Page 43: Almacenes de datos - Piazza

• 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

Tablas de dimensión

Page 44: Almacenes de datos - Piazza

• 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

Page 45: Almacenes de datos - Piazza

• 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

Page 46: Almacenes de datos - Piazza

• 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

Page 47: Almacenes de datos - Piazza

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

Medida

Page 48: Almacenes de datos - Piazza

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

¿Qué hacer desde el modelo Relacional?

Page 49: Almacenes de datos - Piazza

• 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

Modelo de negocio

Page 50: Almacenes de datos - Piazza

Elección del "Data Mart“.

Definición de la granularidad.

Elección de las dimensiones.

Elección de los hechos.

Proceso de diseño

Page 51: Almacenes de datos - Piazza

• 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

Page 52: Almacenes de datos - Piazza

• En un inicio:

– Instalación

– Despliegue

– Entrenamiento

– Orientación

Proceso de diseño

Page 53: Almacenes de datos - Piazza

• En la administración

– Refresco

– Sincronización

– Recuperación de desastres

– Control de acceso y seguridad

– Crecimiento

– Mejoramiento

Proceso de diseño

Page 54: Almacenes de datos - Piazza

• 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)

Construir un DW a partir de un BD

Page 55: Almacenes de datos - Piazza

• 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

Page 56: Almacenes de datos - Piazza

• 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)

Modelado multidimensional

Page 57: Almacenes de datos - Piazza

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

Granularidad

Page 58: Almacenes de datos - Piazza

Ejemplo

Page 59: Almacenes de datos - Piazza

Ejemplo

Page 60: Almacenes de datos - Piazza

• 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

Page 61: Almacenes de datos - Piazza

Esquema en estrella

Page 62: Almacenes de datos - Piazza

• 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

Page 63: Almacenes de datos - Piazza

Esquema en copo de nieve

Page 64: Almacenes de datos - Piazza

Detalles del diseño

• ¿Llaves primarias y subrogadas?

Page 65: Almacenes de datos - Piazza

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

Page 66: Almacenes de datos - Piazza

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

Page 67: Almacenes de datos - Piazza

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

Page 68: Almacenes de datos - Piazza

Detalles del diseño

• Subrogada :

• Ocupa menos espacio

• Permite el mantenimiento de un historial

• La fusión de varias fuentes es más sencilla

Page 69: Almacenes de datos - Piazza

Ejemplos

Page 70: Almacenes de datos - Piazza

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

Page 71: Almacenes de datos - Piazza

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

Page 72: Almacenes de datos - Piazza

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.

Page 73: Almacenes de datos - Piazza

Puntos sobre ROLAP

Pero!!!

• Usa SQL para manipulaciones de múltiples dimensiones.

–GROUP BY

–WITH CUBE, WITH ROLLUP

–GROUPING SETS

Page 74: Almacenes de datos - Piazza

MOLAP: Modelo multidimensional puro

• Modelo de datos especifico

• Los hechos se almacenan en arreglos multidimensionales

• Dimensiones usadas en índices

• Generalmente sobre BD relacionales

Page 75: Almacenes de datos - Piazza

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

Puntos sobre MOLAP

Page 76: Almacenes de datos - Piazza

OLAP Hibrido (HOLAP)

• Almacenamiento detallado en SMBDR

• Almacenamiento de agregaciones en SMBDM

• Acceso vía herramientas MOLAP

Page 77: Almacenes de datos - Piazza

Clientes SMBDM SMBDR

Meta datos

Datos

calculados

SQL

Flujo de datos en HOLAP

Page 78: Almacenes de datos - Piazza

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.

Page 79: Almacenes de datos - Piazza

• Es una función que puede ser evaluada en cada punto del espacio del cubo.

– Distributivas: count()

– Algebraicas: avg()

– Estadísticas: median()

mode()

Métricas, categorización y computo

Page 80: Almacenes de datos - Piazza

• ¿Para qué son útiles las Jerarquías de Concepto en OLAP?

– Drill-Down

– Roll-Up

– Slice & Dice

– Pivot

Operaciones multidimensionales

Page 81: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

Forma de Pago

Visa MasterCard American Express

• Drill-Down

Operaciones multidimensionales

, Forma de Pago

Page 82: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

Forma de Pago

Visa MasterCard American Express

• Roll-Up

Operaciones multidimensionales

, Forma de Pago

Page 83: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

• Slice & Dice

Operaciones multidimensionales

Page 84: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

• Slice & Dice

Operaciones multidimensionales

: Localidad = {Verde}

Page 85: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

• Slice & Dice

Operaciones multidimensionales

: Producto = {BR}

Page 86: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

• Slice & Dice

Operaciones multidimensionales

: Tiempo = {2000}

Page 87: Almacenes de datos - Piazza

Dimensiones: Tiempo, Producto, Localidad

• Pivot

Operaciones multidimensionales

Page 88: Almacenes de datos - Piazza

• Enfoques en la elaboración de DW

– Top-down

– Data source

– Data warehouse

– Business

Arquitectura de un DW

Page 89: Almacenes de datos - Piazza

• 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

Page 90: Almacenes de datos - Piazza

Arquitectura de un DW

Page 91: Almacenes de datos - Piazza

Arquitectura de un DW

Page 92: Almacenes de datos - Piazza

Arquitectura de un DW

Ambientes

transaccionales que

alimentan los

repositorios

Page 93: Almacenes de datos - Piazza

Arquitectura de un DW

Servidores

intermedios que

procesan los datos y

posiblemente los

limpian

Page 94: Almacenes de datos - Piazza

Arquitectura de un DW

Servidores OLAP

a)OLAP Relacional

(ROLAP)

b) Multidimensional

(MOLAP)

c) Híbrido

Page 95: Almacenes de datos - Piazza

Arquitectura de un DW

Herramientas de

consulta y de reporte

además de

herramientas de

análisis y/o de

minería de datos.

Page 96: Almacenes de datos - Piazza

• 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

Page 97: Almacenes de datos - Piazza

• 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

Page 98: Almacenes de datos - Piazza

• Virtual Warehouse: es un conjunto de vistas sobre una base de datos operacional.

Clasificación de tipos de DW

Page 99: Almacenes de datos - Piazza

Implementación de un DW

Page 100: Almacenes de datos - Piazza

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

Calculo eficiente de cubos

Page 101: Almacenes de datos - Piazza

Calcula agregados sobre todos los

subconjuntos de las dimensiones

especificadas en la operación.

La maldición de la dimensionalidad

Page 102: Almacenes de datos - Piazza

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:

Page 103: Almacenes de datos - Piazza

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)

Ejemplo:

Page 104: Almacenes de datos - Piazza

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

• Un operador en el cubo en n dimensiones es equivalente a una colección de group-by’s, uno por

cada subconjunto de las n dimensiones. Por lo tanto, el

operador en el cubo es la generalización n-dimensional del operador group-by.

• Para un cubo con n dimensiones, hay un total de 2n

cuboides, incluyendo el cuboide base

Page 105: Almacenes de datos - Piazza

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:

Page 106: Almacenes de datos - Piazza

n

i

iLcuboidesdeNumero1

)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

Page 107: Almacenes de datos - Piazza

• 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

Page 108: Almacenes de datos - Piazza

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.

Calculo eficiente de cubos

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

Page 109: Almacenes de datos - Piazza

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.

Calculo eficiente de cubos

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

Page 110: Almacenes de datos - Piazza

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.

Calculo eficiente de cubos

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

(ciudad, producto, año)

(producto, año)(ciudad, producto)(ciudad, año)

(año)(producto)

(ciudad)

Page 111: Almacenes de datos - Piazza

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

Calculo eficiente de cubos

Page 112: Almacenes de datos - Piazza

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

Page 113: Almacenes de datos - Piazza

Índices en ambientes OLAP

Cliente

ID ColorFavorito Pais

1 Rojo MX

2 Verde UK

3 Azul JP

4 Morado MX

5 Azul MX

6 Verde US

7 Azul US

8 Rojo UK

9 Verde MX

IndiceBM1

ID Rojo Verde Azul Morado

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 0 0 0 1

5 0 0 1 0

6 0 1 0 0

7 0 0 1 0

8 1 0 0 0

9 0 1 0 0

IndiceBM2

ID MX US UK JP

1 1 0 0 0

2 0 0 1 0

3 0 0 0 1

4 1 0 0 0

5 1 0 0 0

6 0 1 0 0

7 0 1 0 0

8 0 0 1 0

9 1 0 0 0

Page 114: Almacenes de datos - Piazza

• 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

Page 115: Almacenes de datos - Piazza

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

Page 116: Almacenes de datos - Piazza

Índices en ambientes OLAP Cliente

ID Nombre ColorFavorito Pais Ap_PaT

1 Hugo Rojo MX Abundes

2 Paco Verde UK Azul

3 Luis Azul JP Cruz

4 Hugo Morado MX Bejenta

5 Ana Azul MX Berrulio

6 Silvia Verde US Cadiz

7 Carmen Azul US Santa

8 Ana Rojo UK Villa

9 Hugo Verde MX Perez

Encabezado (96 bytes)

Cuerpo (8096 bytes)Registro de desplazamiento

Datos 1 Datos 2

Datos 4

Datos 5

Datos 6

Datos 3

5 4 3 2 1 0

Encabezado (96 bytes)

Nombr’

ID Nombre

1 Hugo

2 Paco

3 Luis

4 Hugo

5 Ana

6 Silvia

7 Carmen

8 Ana

9 Hugo

ColorFa’

ID Nombre

1 Rojo

2 Verde

3 Azul

4 Morado

5 Azul

6 Verde

7 Azul

8 Rojo

9 Verde

Nombr’7 Nombr’8 Nombr’9

Encabezado (96 bytes)

Cuerpo (8096 bytes)Registro de

desplazamiento

Nombr’1 Nombr’2 Nombr’3

5 4 3 2 1 0

Nombr’4 Nombr’5 Nombr’6

Encabezado (96 bytes)

678

Page 117: Almacenes de datos - Piazza

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

Índices en ambientes OLAP

Page 118: Almacenes de datos - Piazza

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

Page 119: Almacenes de datos - Piazza

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.

Page 120: Almacenes de datos - Piazza

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

Page 121: Almacenes de datos - Piazza

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?

Procesamiento de consultas OLAP

Page 122: Almacenes de datos - Piazza

Data Warehouse y Minería de datos

Page 123: Almacenes de datos - Piazza

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

Page 124: Almacenes de datos - Piazza

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.

Uso de DW

Page 125: Almacenes de datos - Piazza

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

Page 126: Almacenes de datos - Piazza

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

Page 127: Almacenes de datos - Piazza

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.

Tipos de aplicaciones en DW