Semana 5 OLAP - OLTP - 2021 - 2

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 52

Facultad de Ingeniería de Sistemas

Semana 5 – Modelado dimensional

Sistemas de Inteligencia Empresarial


Agenda

1. Feedback (Delegados).

2. Cierre del caso SSIS.

3. Merge vs Merge Join vs Union All

4. Modelo Dimensional – Teoría

5. Test (DWH – DM – OLAP / OLTP)


SSIS – Merge – Merge Join – Union All

Merge
• Dos fuentes de datos.
• Requieren ordenarse previamente.
• El destino de datos necesita estar ordenado.

Unión All
• Más de dos fuentes de datos.
• No requieren ordenamiento previo.
• El destino de datos no necesita estar
ordenado.
Caso – SSIS MultiCast

• Incluir un LookUp con la tabla TERCEROS.


USE DWH_SIE;
• Ejecutar el query siguiente  DROP TABLE CONTACTO;

• Agregar ‘división condicional’ para solo filtrar los CREATE TABLE CONTACTO(
ID_CONTACTO INT IDENTITY,
datos de CORREO, TELEFÓNO no nulos.
VALOR_CONTACTO VARCHAR(100),
ID_TIPO_DOCUMENTO INTEGER,
NUM_DOCUMENTO VARCHAR(20)
)
Sistemas de Información

OLTP OLAP
• On-Line Transaction Processing. • On-Line Analytical Processing.
• Sistemas operacionales que capturan • Respuesta rápida y flexible a consultas, orientada
transacciones y las almacenan en Base de al análisis de datos.
Datos.
• Características:
• Características: • Optimizado para responder rápidamente a
• Transacciones en tiempo real (con día a día) consultas.
• Datos almacenados cambian continuamente. • Consulta interactiva de los usuarios.
• Mantienen los datos (INSER; DELETE;UPDATE) • Almacenan varios niveles de datos optimizadas para
• responden a consultas.
Estructuras de datos optimizadas – normalizadas.
• Proporciona una vista de datos multidimensional.
• Basado en reglas.
• Se puede cambiar fácilmente filas, columnas, y
• Limitado para la toma de decisiones, las consultas
históricas producen un impacto en la operación páginas en informes de OLAP.
del sistema.
• Usa Diagrama Entidad Relación (DER).
Sistemas de Información
Ejemplos
• Operación en sitio Web: • Sistemas de Información para ejecutivos
• Validar al cliente y autenticarlo en el sistema. • Alertas.
• Tomar el pedido. • Toma de decisiones.
• Controlar los topes de créditos.
• En la Actividad Financiera
• Informar los valores parciales de la compra y
acumulados. • Reportes analíticos.
• Requerir confirmación del cliente antes de enviar el • Planeamiento.
pedido. • Análisis.
• Enviar el pedido.
• Descontar del stock las cantidades vendidas. • En el Marketing
• Informar el número de venta y la fecha de entrega. • Análisis de productos.
• Saludar al cliente. • Análisis de Clientes.
• Análisis de Facturación.
• Realizar una transferencia:
• Verificar que está autorizado para realizarla. • Otros Usos
• Verificar que tiene saldo. • Análisis de la Producción.
• Inicializar la transferencia manejándola como una • Análisis de Servicios al cliente.
transacción. • Evolución del Costo del producto.
• Emitir comprobante.
• Saludar al Cliente.
¿Como se organizan los datos?

OLTP OLAP
• Generalmente se usa el modelo relacional. • Usamos el modelado dimensional
• Se busca eliminar redundancias. • También conocido como Modelo Estrella (Star join
Schema)
• Dividimos la información en entidades discretas.
• Técnica de diseño lógico.
• Se diseñan buscando el satisfacer los
requerimientos de un sistema de información. • Representa diagramas orientados a temas.
• Está basado en tablas con distintos atributos o • Busca presentar la información dentro de un
campos y las relaciones entre las tablas. Cada marco intuitivo.
tabla tiene un Clave primaria (“Primary key” o
PK en nuestro esquema) formada por uno o más • Permite un acceso de alta performance, por su
atributos y las tablas se relacionan entre ellas diseño es de alta performance en las consultas.
mediante las Claves externas (“Foreign Key” o • Fácilmente accesible y entendible.
FK en nuestro esquema) que actúan como
claves primarias en sus propias tablas.
Modelo Relacional

Modelo de datos Conceptual = Base de Datos Relacional

• Utiliza un serie de símbolos y reglas para


representar datos y relaciones.
• Representa de manera gráfica la estructura
lógica de una Base de datos.
• Refleja tan solo la existencia de los datos, no lo
que se hace con ellos.
• No tiene en cuenta espacio, almacenamiento, ni
tiempo de ejecución.
• Está abierto a la evolución del sistema.
• Es el más utilizado.

•Entidad
•Atributo
•Clave principal
•Relaciones
¿Cómo hacerlo?
Las entidades representan cosas u
objetos (ya sean reales o abstractos),
1. Identificar las entidades que se diferencian claramente entre sí.

2. Determinar las claves primarias Es el atributo de una entidad, al que le aplicamos una restricción
que lo distingue de los demás registros.
3. Describir los atributos de las entidades • Clave Primaria
• Clave Foránea
4. Establecer relaciones entre las entidades
Los atributos definen o identifican las características de entidad
5. Dibujar el modelo de datos (es el contenido de esta entidad). Cada entidad contiene distintos
atributos, que dan información sobre esta entidad. Estos atributos
6. Realizar comprobaciones. pueden ser de distintos tipos (numéricos, texto, fecha...).
Es un vínculo que nos permite definir una dependencia entre
varias entidades, es decir, nos permite exigir que varias entidades
compartan ciertos atributos de forma indispensable.
Ejemplo

Vendedores
Geografía
Contacto de Ventas
Regiones

Ventas Oficina

Compras
Tiempo
Almacén
Cliente
Ordenes de Compra
Devoluciones

Producto
Cuentas
Pagos de Clientes

Tienda

Cuentas Generales
Ejemplo

MEDICO
PACIENTE

PAGO

CITA

ESPECIALIDAD DETALLE_PAGO

SEDE
Modelo dimensional
Modelo de datos Lógico = Alto desempeño

• Una técnica para diseñar el modelo lógico de la


bodega de datos.
• Permite alto rendimiento en el momento de
acceder a los datos (orientado a consultas)
• Dimensional (orientado al negocio)
• Usa algunos conceptos del modelo
entidad/relación
• Diferente del modelo relacional.

Hechos
Medidas
Dimensiones
Atributos
Relaciones
¿Cómo hacerlo?

1. Seleccionar el proceso de negocio a modelar Dimensión Producto


Dimensión Tiempo
2. Definir el nivel de granularidad del proceso de negocio Llave_Tiempo
Llave_Producto
Descripcion
DiadelaSemana
3. Escoger las dimensiones que aplican en cada fila de la tabla PeriodoFiscal
Rama
de hechos. Etc.
SubCategoria
Categoria
4. Identificar los hechos numéricos que poblaran la tabla de Dimensión Tienda Departamento
Sabor
hechos. Llave_Tienda
Fact Table TipoPaquete
NombreTienda
Direccion Llave_Tiempo etc.
TipoPiso Llave_Producto
Etc. Llave_Tienda Dimensión Cliente
Llave_Cliente
Dimensión Vendedor Llave_Cliente
Llave_Vendedor
NombreCliente
Llave_Vendedor Llave_Registrador
PerfilCompras
NombreVendedor Llave_Promoción
etc.
Nivel Venta en dólares
Etc. Unidades Vendidas
Dimensión Registrador
Costo en dólares
Dimensión Promoción Llave_Registrador
Ubicación
Llave_Promocion
Tipo
NombrePromocion
Etc.
TipoPrecio
TipoAnuncio
Etc.
Diferencias
E-R Dimensional
Enfocado a la actualización: Enfocado a consulta
Menos redundancia,
coordinar actualizaciones y repetir el
mismo tipo de operaciones
muchas veces en el día.

Altamente normalizadas para Altamente desnormalizada puesto que


soportar actualizaciones se requiere disminución de tiempos
consistentes y mantenimiento de la en la obtención de grandes
integridad referencial cantidades de datos.
Tiempos de respuesta en segundos Tiempos de respuesta aceptables
o inferior pueden ser segundos, minutos,
horas
Almacenan pocos datos derivados Gran cantidad de datos derivados
(redundancia)
Pocos datos agregados Agregación: Varios niveles de datos
precalculados
Esquema estrella

• Representación más importante del Modelo


Dimensional.
• Todo objeto de análisis es un hecho.
• Los hechos son analizados a través de las
dimensiones.
• Los hechos contienen columnas llamadas
métricas y las dimensiones contienes columnas
llamadas Niveles jerárquicos.
• Las tablas de dimensiones tendrán siempre una
clave primaria simple, mientras que en la tabla
de hechos, la clave principal estará compuesta
por las claves principales de las tablas
dimensionales.
Esquema copo de nieve

• Esquema derivado del esquema estrella.


• Tablas de dimensión normalizadas en múltiples
tablas, diferencia principal con el esquema
estrella.
• Necesitamos un esquema estrella para obtener
uno.
• Existen 2 tipos, el completo y el parcial.
Esquema Copo de Nieve vs Estrella

¿Cuándo usar cada tipo de modelo?.

Modelo Estrella: Siempre que sea posible

Modelo Copo de Nieve: Solo cuando exista una tabla de dimensión muy grande que degrade el tiempo de las consultas
CUBO

• Colección de dimensiones y métricas


relacionadas. Contiene información en una
estructura multidimensional
• Se puede tener 3 , 4, 10 o más dimensiones
siempre se llamara “cubo”

Ejemplo:
Si un gerente de ventas
necesita sacar información
de las ventas de productos
por ubicación y en
determinado tiempo.
CUBO
Fundamentos del Modelado Dimensional

• Es una adaptación del modelo relacional.

• Consiste de tablas de hechos que se


caracterizan usando dimensiones y medidas.

• La información sobre un hecho (actividad) se


representa mediante indicadores (medidas o
atributos de hecho).

• La información de cada dimensión se


representa por un conjunto de atributos
(atributos de dimensión).

• Una dimensión en el contexto de un hecho,


tienden a ser discretas y jerárquicas.

• Un indicador es una cantidad que describe el


hecho, debe ser agregables.
Conceptos Básicos

1. Hecho. Evento, actividad, item transacción del negocio.

2. Medida. métrica de hechos, métricas del negocio

3. Dimensión. Característica de un hecho.

4. Jerarquía. Relaciones padre-hijo dentro de una dimensión. Son las estructuras lógicas
que utilizan niveles pedidos como los medios de ordenamiento de datos.

5. Tabla de hechos: Almacena eventos y las métricas. Estas son las tablas centrales en
un esquema estrella de un modelo DW. Los tablas fact representan el conocimiento del
negocio y sus datos generalmente son numéricos y/o añadidos para ser analizados.

6. Tabla de dimensión. También conocidas como Tablas de la Referencia, contienen los


datos relativamente estáticos en el DW. Una dimensión es una estructura, integrada a
menudo por unas o más jerarquías, que categoriza datos.
Ejercicio 1: FILMES
Se requiere diseñar un cubo OLAP que permita dar respuesta
a los siguientes requerimientos de información de la
gerencia:

• Total de películas producidas en ESPAÑA por cada trimestre en


2014.
• Financiamiento invertido en películas de TERROR por cada año.
• Total de adaptaciones realizadas por cada tipo de filme y tipo de
guion en la década de 1990.
Ejercicio 1: FILMES
Ejercicio 1
Hechos

• Representan un evento o actividad específica, tiene


dimensiones y medidas.

• Representan un item de negocio, una transacción o


un evento que tiene significancia para el negocio.

• Corresponden a una colección de items de datos y


datos de contexto.

• Son aquellos datos que residen en una tabla de


hechos y que son utilizados para crear indicadores,
a través de sumarizaciones preestablecidas.

• Un hecho debe estar relacionado al menos con una


dimensión: “El tiempo”.
Medidas – Métricas

• Es un atributo numérico de un hecho que representa la


performance o comportamiento del negocio relativo a la
dimensión

• Ejemplos:
• Ventas en $$
• Cantidad de productos
• Total de transacciones
• Cantidad de pacientes admitidos
• Llamadas efectuadas.
• ImporteTotal = precioProducto * cantidadVendida
• Rentabilidad = utilidad / PN
• CantidadVentas = cantidad
• PromedioGeneral = AVG(notasFinales)
Medidas-Métricas

• Representan los valores que son analizados.

• Características de las medidas:


• Deben ser numéricas. Porque estos valores son las bases de las cuales el
usuario puede realizar cálculos.
• Cruzan todas las dimensiones en todos los niveles.

• Si la medida es no numérica debemos codificarla a un valor


numérico y cuando tengamos que exponerla decodificarla
para mostrarla con el valor original.
Medidas-Metricas

• Las medidas pueden clasificarse en:


Naturales.
• Son aquellas que se obtiene por agregación de los datos originales.
• Suma: suma los valores de las columnas
• Cuenta: conteo de los valores
• Mínima: valor mínimo
• Máxima: valor máximo
• Cuenta de Distintos: valores diferentes
Calculadas
• Si se derivan de una medida natural.
• Cálculos Matemáticos
• Expresiones condicionales
• Alertas
Dimensiones

• Es una característica de un hecho que permite su


análisis posterior, en el proceso de toma de decisiones.

• Determina el contexto del hecho (quién participó,


cuándo y donde pasó y su tipo).

• Es una entidad de negocios respecto de la cual se


deben calcular las métricas (clientes, productos, tiempo)

• Tienden a ser discretas y jerárquicas <país, región,


departamento, provincia, distrito>.

• Es una colección de miembros o unidades o individuos


del mismo tipo que permite categorizar un hecho.
Dimensiones

• Se utilizan como parámetros para los análisis


OLAP

• Las dimensiones habituales son:

Dimensión Miembro
Tiempo Meses, Trimestre, Años
Geografía País, Región, Ciudad
Cliente Id Cliente
Vendedor Id Vendedor
Jerarquía de las dimensiones

• Una jerarquía representa una relación lógica entre


los datos de una dimensión.
• Estos datos poseen una relación “padre-hijo”.
Jerarquía de las dimensiones

• Tienen las siguientes


características:
• Se presentan al interior de una dimensión.
• Pueden existir varios niveles (dos o más)
• Relación “1-n” o “padre-hijo” entre atributos
consecutivos de un nivel superior y uno
inferior.

• Se pueden identificar cuando


existen relaciones “1-n” o “padre-
hijo” en la dimensión.
Origen de las Jerarquías

• Entre los atributos de una dimensión se definen


jerarquías.
Producto

nro. producto categoría tipo

Almacén

ciudad región
almacén
tipo

Tiempo

día mes trimestre año

semana
Granularidad

• La granularidad es el nivel de detalle en que se almacena la


información.

• Por ejemplo:
• Datos de ventas o compras de una
empresa, pueden registrarse día a día
• Datos pertinentes a pagos de sueldos o
cuotas de socios, podrán almacenarse
a nivel de mes.

• A mayor nivel de detalle, mayor posibilidad analítica, ya que


los mismos podrán ser resumidos o sumarizados.
• Los datos con granularidad fina (nivel de detalle) podrán ser
resumidos hasta obtener una granularidad media o gruesa.
No sucede lo mismo en sentido contrario.
Tablas de Hechos

Dimensiones
• Las tablas de hechos contienen las
dimensiones y las medidas de los
hechos.

• Los hechos o medidas son los valores


de datos que se analizan (son méricos).

• La tabla de hechos tiene una clave


primaria compuesta por las claves
primarias de las tablas de dimensiones
relacionadas a este.
Medidas o
hechos
Tablas de Dimensiones

• Definen la organización lógica de los datos.

• Tiene una PK (única) y columnas de referencia:


• Clave principal (PK) o identificador único.
• Clave foráneas.
• Datos de referencia primarios (identifican la dimensión)
• Datos de referencia secundarios (complementan la descripción).

• No siempre la PK del OLTP, corresponde con la PK de la


tabla de dimensión relacionada.
Ejercicio

• Etapas en la construcción de un modelo


dimensional:
Requerimientos
0 del usuario

Construcción Armado de la
Definición de
de las Tabla de
las Medidas
2 Dimensiones 3 Hechos 4

Decidir la
granularidad
1
Requerimientos del usuario

Dimensiones

Medidas Tiempo Sucursal Vendedor Cliente Producto

Ventas_Importe X X X X X
Ventas_Costo X X X X X
Ventas_Unidades X X X X X
Ventas_ImporteTotal X X X X X

Ventas_Ganancia X X X X X
Ventas_Promedio X X X X X
Decidir la granularidad

• La granularidad:
• Es el nivel de detalle al que se desea almacenar información sobre
la actividad a modelar.
• Define el nivel atómico de datos en el almacén de datos.
• Determina el significado de las tuplas de la tabla de hechos.
• Determina las dimensiones básicas del esquema.

• Por ejemplo en la dimensión Sucursal:


Decidir la granularidad

• Ejemplo de la dimensión fecha. Se desea los datos por:


• Información anual
• Información semestral
• Información trimestral
• Información mensual. .... + granularidad
• Información semanal + detalle
• Información diaria
• Transacción en el OLTP
Construcción de las dimensiones

• Identificar las dimensiones que caracterizan el proceso al nivel de


detalle (gránulo) que se ha elegido.
• De cada dimensión se debe decidir los atributos (propiedades)
relevantes para el análisis de la actividad.
• Entre los atributos de una dimensión existen jerarquías naturales
que deben ser identificadas (día-mes-año)

• Tiempo. Cuándo se produce la actividad


• Sucursal. Donde está ubicado el almacén
• Vendedor. Quién ha vendido
• Cliente. Quién es el destinatario de la actividad
• Producto. Cuál es el objeto de la actividad
Dimensión Tiempo Dimensión Sucursal Dimensión Vendedor

* Año * Sucursal * Sucursal


** Semestre ** Tipo Sucursal ** Sección Dimensión Cliente
*** Trimestre *** País *** Vendedor
**** Mes **** Provincia * País
***** Ciudad ** Provincia
***** Día
*** Ciudad
**** Razón Social

Dimensiones

Medidas Tiempo Sucursal Vendedor Cliente Producto

Ventas_Importe X X X X X
Ventas_Costo X X X X X
Ventas_Unidades X X X X X
Ventas_ImporteTotal X X X X X

Ventas_Ganancia X X X X X
Ventas_Promedio X X X X X
Producto

Familia
Departamento
Categoria
Sub-Categoria
Sub-Categoria
Sub-Categoria Producto

Categoria
Categoria

Departamento
Departamento

Dimensiones
Familia
Familia

Medidas Tiempo Sucursal Vendedor Cliente Producto

Ventas_Importe X X X X X
Ventas_Costo X X X X X
Ventas_Unidades X X X X X
Ventas_ImporteTotal X X X X X

Ventas_Ganancia X X X X X
Ventas_Promedio X X X X X
Fact_Ventas
Tabla de Hechos
ID_Tiempo
ID_Producto
ID_Cliente
ID_Vendedor
ID_Sucursal

Dimensiones

Medidas Tiempo Sucursal Vendedor Cliente Producto

Ventas_Importe X X X X X
Ventas_Costo X X X X X
Ventas_Unidades X X X X X
Ventas_ImporteTotal X X X X X

Ventas_Ganancia X X X X X
Ventas_Promedio X X X X X
Definición de las medidas

Fact_Ventas Fact_Ventas

ID_Tiempo ID_Tiempo
ID_Producto ID_Producto
ID_Cliente ID_Cliente
ID_Vendedor ID_Vendedor
ID_Sucursal ID_Sucursal
Fact_Ventas

ID_Fecha
ID_Producto
ID_Cliente
ID_Vendedor
Ventas_Importe
Ventas_Costo
Ventas_Unidades

Medidas
Dimensión Tiempo Dimensión Sucursal
Dimensión Vendedor
* Año * Sucursal
** Semestre ** Tipo Sucursal * Sucursal
*** Trimestre *** País ** Sección
**** Mes **** Provincia *** Vendedor
***** Ciudad
***** Día

Fact_Ventas
Fact_Ventas
Producto
ID_Tiempo
ID_Producto
Familia
ID_Fecha
ID_Cliente
ID_Vendedor
ID_Producto Departamento
ID_Sucursal
ID_Cliente Categoria
Sub-Categoria
ID_Vendedor Sub-Categoria
Ventas_Importe Sub-Categoria Producto
Ventas_Costo
Ventas_Unidades Categoria
Dimensión Cliente Categoria

Departamento
* País
** Provincia Departamento
*** Ciudad
**** Razón Social Familia
Familia
Tipos de OLAP

Baja Medio Alta

Latencia
Data
almacenada
ROLAP HOLAP MOLAP

Tabla1
Tabla1 Tabla2
Tabla2

Tablas (datos+ Data agregada Cubos (datos+


Data agregada) Data agregada)

Baja Medio Alta


Tipos de OLAP

Arquitectura de tres niveles.


• BD relacional (almacenamiento de datos)
• Motor OLAP (funcionalidad analítica)
• Herramienta OLAP (presentación)
ROLAP

Tabla1
Tabla2
Servidor Query FRONT END
ROLAP Análisis
Tablas (datos+
Data agregada) Es capaz de usar datos precalculados (si estos están
disponibles), o de generar dinámicamente los resultados
desde la información elemental (menos resumida).

Fuente: Análisis del modelo de almacenamiento MOLAP frente análisis del modelo de almacenamiento MOLAP frente al modelo de almacenamiento ROLAPM.
Tamayo, F. Moreno (2016)
Tipos de OLAP

Arquitectura de dos niveles.


• BD multidimensional (manejo, acceso y obtención
de datos)
• Motor OLAP (funcionalidad analítica)+Herramienta
MOLAP OLAP (presentación)

Servidor Query FRONT END


MOLAP Análisis
Cubos (datos+ Una de las características distintivas de MOLAP es la
Data agregada) preconsolidación de los datos. En una BDMD, estos totales se
calculan rápidamente usando operaciones sobre arreglos.
Una vez calculados, los totales se pueden almacenar en
estructuras de la misma BDMD.
Fuente: Análisis del modelo de almacenamiento MOLAP frente análisis del modelo de almacenamiento MOLAP frente al modelo de almacenamiento ROLAPM.
Tamayo, F. Moreno (2016)
Tipos de OLAP

Solución Híbrida. Los registros detallados (los


volúmenes más grandes) se mantienen en la
Data
BD relacional, mientras que los agregados lo
almacenada
hacen en un almacén MOLAP independiente
HOLAP

Tabla1
Tabla2
Query
Servidor FRONT END
HOLAP Análisis
Data agregada
Resuelve el problema de dispersión, dejando los datos
menos agregados en la BD relacional, pero almacena los
agregados en un formato multidimensional, minimizando la
presencia de celdas vacías.
Fuente: Análisis del modelo de almacenamiento MOLAP frente análisis del modelo de almacenamiento MOLAP frente al modelo de almacenamiento ROLAPM.
Tamayo, F. Moreno (2016)
Comparando Estructuras de almacenamiento

Almacenamiento MOLAP HOLAP ROLAP

Tabla Tabla
Data Base Cubo
Relacional Relacional
Tabla
Agregación Cubo Cubo
Relacional

Perspectiva del Cliente MOLAP HOLAP ROLAP

Rendimiento de
Rapidísimo Más Rápido Rápido
Consultas

Almacenamiento Alto Medio Bajo

Mantenimiento del Cubo Alto Medio Bajo

También podría gustarte