BASE DE DATOS MULTIMENSIONALES
ALMACENAMIENTO ÁGIL DE DATOS
Origen de datos
Existen diferentes fuentes de almacenes de datos que contienen enormes cantidades
de datos:
Bases de datos de distintos modelos
Archivos obtenidos de sistemas operativos distintos
Plataformas independientes.
ALMACENAMIENTO ÁGIL DE DATOS
Volumen de datos
Los almacenes de datos engloban grandes volúmenes de información
(probablemente medido en terabytes), necesitando:
Para proyectos, precisan de una enorme inversión de tiempo y recursos.
Vistas de bases de datos para consultas locales o remotos.
ALMACENAMIENTO ÁGIL DE DATOS
Toma de decisiones
Si bien se necesitan de disponer de información actualizada a través de consultas,
también se requiere de tener acceso a datos provenientes de periodos anteriores.
Caso 1: Una empresa puede tener cadena de tiendas, donde cada tienda registra operaciones de
traslados de artículos entre ellas (ingreso y salida de stock).
Caso 2: Una fabrica almacena quiere realizar pagos hacia su proveedores a nota de crédito.
Caso 3: Una empresa quiere comparar las productos comprados en determinados años.
ALMACENAMIENTO ÁGIL DE DATOS
Historias de usuarios
Se comienza aplicando bajo entornos de desarrollo de inteligencia de negocios (BI),
o también en Data WareHouse (DWH).
Para que haya un impacto en el resultado final, se elabora en la fase de diseño
historias de usuario como técnica de desarrollo incremental (de forma alternativa
usar metodología scrum).
ALMACENAMIENTO ÁGIL DE DATOS
Metodología en cascada
Los proyectos DWH/BI pueden comenzar a ser planificados de forma secuencial
siguiendo el modelo en cascada, tomando en cuenta que la disponibilidad de los
datos y la entrega de valor quedan pospuestos hasta la finalización del proyecto.
ALMACENAMIENTO ÁGIL DE DATOS
Método incremental
Para reducir riesgos, terminado la primera instancia del modelo en cascada se
comienza a aportar valor incremental mediante estructuras de base de datos
multidimensional, por ejemplo, el esquema en estrella de dimensiones y hechos.
Se recomienda haber tomado a detalle todos los requerimientos antes de tomar una
aproximación iterativa, así como establecer colaboraciones continuas con los usuarios
de negocio.
ALMACENAMIENTO
ÁGIL DE DATOS
Esquema de los almacenes de datos
En el proceso de almacenamiento de datos puede incluir:
Herramientas de limpieza a travez de extracción, transformación y carga (ETL)
Visión global, común e integrada de los datos (datawarehouse)
Datos multidimensionales.
Archivos de imágenes, audio y video.
Herramientas OLAP, DSS y OLTP, para posterior análisis y generación de nueva información
Modelos de datos multidimensionales.
ETL
Extracción
Para una base de datos, se tendrá que enviar los datos de los sistemas de origen
como archivos XML o CSV, y luego importarse a las tablas de la base de datos.
ETL
Transformación/limpieza
Puede venir datos repetidos, no uniformes, desordenados, o vacíos, por lo que se
ejecutan funciones para identificar y calcular valores, también se agrupa valores
para sesgarlos.
Posteriormente los valores podrían ser actualizados de forma automática, aunque
también de forma automática a través de un archivo de script.
ETL
Carga (load)
Los datos se mueven del área de transformación al área de almacenamiento central,
haciendo uso de operaciones INSERT individuales o masivos, aunque también
mediante activación de eventos TRIGGER.
DATA WAREHOUSE
Consiste en el servicio de reunir y almacenar datos o archivos de información
procedente de varios orígenes de datos, proporcionando el diseño y la respuesta
adecuada a las consultas que se escapan del ámbito de las bases de datos bajo un
esquema unificado en un solo sitio.
Los datos almacenados serán accesibles como datos históricos
Proporciona a los usuarios una sola interfaz consolidada con los datos para facilitar introducción de
consultas.
Data warehouse usa de preferencia modelos de datos multidimensional.
DATA WAREHOUSE
Arquitectura
La arquitectura de almacén de datos ilustra la recogida de datos, su
almacenamiento, y soporte de consultas, asi como análisis de datos, resolviendo
problemas como:
Actualización continua o periódica de datos
Selección de esquema de modelo de datos
Corrección y limpieza de datos incorrectos o duplicados.
Mantener vistas ante propagación de actualizaciones
Resumen de los datos por agregación de relaciones
BASE DE DATOS MULTIDIMENSIONALES
Una base de datos multidimensional (MDB) es similar a la base de datos relacional,
la forma de guardar y procesar información se almacena en tablas.
Sin embargo, la diferencia radica en la estructura que forman estas tablas, ya que
en las bases multidimensionales los datos se ven como “cubos de información”.
Los cubos están formados por dos componentes:
Tabla de dimensiones: aquí se almacenan datos como ítems (nombre del producto, marca, etc) o
fechas
Tabla de hechos: almacena las medidas y las claves que la relaciona con las tablas de dimensiones.
Por ejemplo, tamaño en centímetros o valor en euros.
BASE DE DATOS MULTIDIMENSIONALES
Aplicaciones
Permite añadir nuevas dimensiones a las relaciones que se establecen dentro de la base de datos,
gracias a la creación de tablas de dimensiones que se asocian con tablas de hechos.
Son muy empleadas en la analítica online y a la hora de trabajar con Data Warehouses.
Entre sus ventajas están su gran rendimiento y la posibilidad de establecer relaciones complejas, pero
entre sus desventajas, su escalabilidad y flexibilidad es bastante baja debido a su estructura.
BASE DE DATOS MULTIDIMENSIONALES
Sistemas de gestión de bases de datos multidimensionales (MDDBMS)
Las bases de datos multidimensionales son utilizadas para aplicaciones encargadas
de realizar análisis de procesos en línea, aunque también puede usar la información
ya contenida en otras bases de datos relacionales.
Sin embargo se requiere de una herramienta capaz de procesar la información a
gran velocidad, obteniendo respuestas a las consultas inmediatas o en tiempo real.
BASE DE DATOS MULTIDIMENSIONALES
Tablas
Las bases de datos multidimensionales también pueden verse como una sola tabla,
pero tienen una peculiaridad. Y es que tienen un campo o columna por cada
dimensión, del mismo modo que también tiene un campo por cada hecho (métricas).
*Ejemplo: d1, d2, d3,…,m1, m2, m3…
*Donde «d» hace referencia a las dimensiones y «m» a las métricas o hechos que se
almacenan.
BASE DE DATOS MULTIDIMENSIONALES
Atributos
En las tablas de hechos se almacenan las medidas de los datos, conformada por
atributos:
Atributos de dimensión: Representa al objeto a analizar que mediante una formula puede combinar
distintos valores de medida, como fechas, cuentas, productos, clientes, etc.
Atributos de medida: Representan datos cuantitativos o de valores numéricos.
Las valores de medidas de datos suelen ser:
Medidas aditivas: pueden ser combinadas a lo largo de varias dimensiones. Por ejemplo, medir las
ventas totales de un producto a lo largo del tiempo.
Medidas semiaditivas: no está permitida su combinación a lo largo de una o varias dimensiones. Por
ejemplo, hacer inventario de productos presentes en el almacén. Sin embargo, no tendría ningún
sentido sumar el stock total de un producto a través del tiempo.
Medidas no aditivas: no es posible combinarlas en ninguna dimensión.
BASE DE DATOS MULTIDIMENSIONALES
Organización de datos
Los datos se deben de organizar de forma jerarquica, en base a niveles de
abstracción, por ejemplo:
Nivel 1: Todos
Nivel 2: Continentes > Europa, Asia
Nivel 3: Países > Europa > Francia, Italia, España
Nivel 4: Ciudades > España > Madrid, Barcelona, Sevilla
Nivel 5: Oficinas > Madrid > Oficina 1, Oficina 2, Oficina 3
BASE DE DATOS MULTIDIMENSIONALES
Tabla de hechos (FACT TABLES)
Posee una tabla principal que registra datos masivos.
Contienen campos claves que se unen a las tablas principal.
Contiene atributos de medidas, donde uno de los atributos posee valor numérico que permitirá
establecer las relaciones entre las distintas dimensiones de un cubo OLAP.
Las tablas de hechos representan temas específicos, como Ventas, Ganancias,
Climatología, compras, contabilidad, etc.
BASE DE DATOS MULTIDIMENSIONALES
Ejemplo Tabla de hechos (FACT TABLES)
Las siguientes tablas registran información de ventas de una tienda
minorista, con una tupla para cada artículo a la venta.
• Las atributos de dimensiones de la tabla ventas incluyen
descripción del artículo/producto (usando como identificador IDs,
códigos personalizados o códigos de barras), la fecha (tiempo) en
que se ha vendido, ubicación (Almacen) en que se vendió, el cliente
que lo ha comprado, y el tipo de promoción correspondiente.
• Los atributos de medida pueden estar el número de artículos
vendidos y el precio de cada artículo.
BASE DE DATOS MULTIDIMENSIONALES
Tablas de dimensiones (DIMENSION TABLE)
Son numerosas tablas asociadas entre si que almacenan información de temas
concretos, generalmente incluyen atributos de medida que poseen valores numéricos de
claves externas que son automáticamente predefinidas, o se define de forma manual.
Entre sus características se encuentran:
Tablas simples des normalizadas
Las tablas de hechos se relacionan mediantes campos clave, formando un esquema en estrella.
Los atributos de la tabla dimensión ofrecen información acerca de las tablas de hechos.
Las tablas de dimensión no tienen limites.
Las dimensiones pueden tener una o varias relaciones jerárquicas, es decir varios niveles de tablas de
dimensión, formando un esquema en copo de nieve.
Tiene pocos registros, como registros que describen a los clientes, productos, sucursales de almacen,
proveedores, etc.
BASE DE DATOS
MULTIDIMENSIONALES
Tablas de dimensiones (DIMENSION TABLE)
• El atributo idAlmacen es una clave externa en la tabla
de dimensiones Almacen, que tiene atributos como la
ubicación (ciudad, localidad, provincia).
• El atributo idProducto de la tabla de hechos ventas es
una clave externa de la tabla de dimensiones
Producto, que contiene información como el nombre
del artículo, la categoría a la que pertenece el
artículo y otros detalles del artículo como el peso y la
altura.
• Tambien se consideran como tablas dimensionales la
tabla tiempo y cliente. La tabla Producto puede tener un atributo idsubCat que es
clave externa en otra tabla que da detalles de subcategoría, y
esta ultima tabla puede tener un atributo idcategoria que es
clave externa de otra tabla que detalla la categoría.
OLAP (PROCESAMIENTO ANALÍTICO EN
LÍNEA)
OLAP organiza las tablas de BD de diferentes
maneras según perspectiva de organización,
generalmente en forma de cubo.
El cubo OLAP esta compuesto por atributos de
dimensiones y por atributos de medida.
Cada dimensión del cubo equivale a un campo de
dimensiones en la tabla, mientas que la información
almacenada en cada celda del cubo corresponde a
los hechos.
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
En resumen, OLAP proporciona un cubo de datos multidimensional, acelerando las
consultas de resúmenes de datos a través de un formato de tabulaciones cruzadas.
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Tabulaciones cruzadas
Una tabulación cruzada lee con
que frecuencia se produce las
combinaciones de los valores que
se encuentran en las dos
variables: comparando las
dimensiones y medidas.
Para la primera variable, los valores se
trazan de izquierda a derecha.
Para la segunda variable, los valores
se trazan de arriba a abajo.
Sexo Con paraguas
mujer sí
OLAP (PROCESAMIENTO ANALÍTICO hombre
mujer
sí
sí
EN LÍNEA) mujer
hombre
sí
sí
hombre no
mujer no
Tabulaciones cruzadas
hombre no
Por ejemplo, en un día de lluvia, un estudiante cuenta cuántas mujer no
personas "con" y cuántas "sin" paraguas acuden a la clase de mujer no
estadística. Además, el alumno anota el sexo de los hombre no
estudiantes. mujer sí
hombre sí
Se puede usar un software de estadística en línea, copiando mujer sí
la siguiente tabla que contiene la variable Sexo y con hombre sí
paraguas. hombre sí
hombre no
mujer no
hombre no
mujer no
mujer no
mujer no
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Tabulaciones cruzadas
La tabla de clasificación cruzada contendrá las frecuencias de las respectivas
combinaciones de las dos variables Sexo y con paraguas.
Con paraguas
sí no Total
mujer 5 7 12
Sexo hombre 5 5 10
Total 10 12 22
Una tabla cruzada puede utilizarse para examinar si existe una relación entre las dos
variables. Sin embargo, como la tabla cruzada es una estadística descriptiva, sólo
puede hacerse una afirmación sobre la muestra.
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
El componente OLAP de la norma SQL:1999
Proporciona gran variedad de funcionalidades nuevas para el análisis de los datos:
Nuevas funciones de agregación
Operaciones con cubos y de abstracción
Funciones de clasificación
Funciones para la creación de ventanas
Realización de particiones
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
En un esquema con forma de estrella se forma una tabla de Hecho y una tabla para
cada una de las Dimensiones.
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
Se ponen todas las tablas de dimensiones en la cláusula FROM.
En WHERE relacionaremos cada tabla de Dimensión con la tabla de hecho utilizando
la clave foránea correspondiente (nunca vincularemos Dimensiones entre sí)
Añadir las condiciones requeridas sobre los atributos de las tablas de Dimensión.
En SELECT se coloca las Medidas de la tabla de hecho a visualizar con la
correspondiente operación de agregación.
Finalmente, colocar la cláusula GROUP BY con los identificadores de los Niveles en
los que se requiere ver los datos en cada Dimensión.
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
Se recomienda siempre añadiremos los atributos que aparezcan en GROUP BY en
SELECT para distinguir las filas.
También se añade la cláusula ORDER BY con todos los atributos de las tablas de
Dimensión que tenemos en SELECT, para obtener el resultado ordenado y facilitar su
visualización.
SELECT Nivel1, ..., Niveln, Operacion(Medida), ...
FROM Hecho, Dimension1, ..., Dimensionn
WHERE Hecho=Dimension1 AND ... AND Hecho=Dimensionn
AND Descriptor1=valor AND ... AND Descriptorm=valor
GROUP BY Nivel1, ..., Niveln
ORDER BY Nivel1, ..., Niveln
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
Existen operaciones que tienen relacion con directa con una consulta, siendo
operaciones de selección, roll-up y Cambio de base.
Por ejemplo, se tiene la siguiente consulta:
SELECT d1.nombre_articulo, d2.nombre_fabrica, d3.mesAño,
SUM(hecho.unidades)
FROM Produccion hecho, Producto d1, Fabrica d2, Tiempo d3
WHERE hecho.IDProducto=d1.id
AND hecho.IDFabrica=d2.id
AND hecho.IDTiempo=d3.id
AND d1.nombre_articulo IN ('Bolígrafos', 'Gomas')
AND d2.num_trabajadores>100
AND d3.mesAño IN ('Enero2002','Febrero2002')
GROUP BY d1.nombre_articulo, d2.nombre_fabrica, d3.mesAño
ORDER BY d1.nombre_articulo, d2.nombre_fabrica, d3.mesAño;
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
Selección: para seleccionar unos puntos u otros del espacio n-dimensional, se tiene
que añadir o quitar condiciones sobre los Descriptores en la cláusula WHERE.
R := selecciónRegión.nombre="Cataluña"(F)
SELECT d1.nombre_articulo, d2.region, d3.mesAño, SUM(hecho.articulos)
FROM Ventas hecho, Producto d1, Lugar d2, Tiempo d3
WHERE hecho.IDProducto=d1.id
AND hecho.IDLugar=d2.id AND hecho.IDTiempo=d3.id
AND d1.nombre_articulo IN ('Bolígrafos', 'Gomas')
AND d2.region='Cataluña'
AND d3.mesAño IN ('Enero2002','Febrero2002')
GROUP BY d1.nombre_articulo, d2.region, d3.mesAño
ORDER BY d1.nombre_articulo, d2.region, d3.mesAño;
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
A := roll-upFábrica::All("Unidades producidas por Producto, Fábrica y Mes")
Roll-up: Aumenta o disminuye el nivel
de detalle como se ven los datos, solo SELECT d1.nombre_articulo, 'All', d3.mesAño,
hay que agrupar según el atributo que SUM(hecho.unidades)
identifica el Nivel u otro de la FROM Produccion hecho, Producto d1, Fabrica d2, Tiempo d3
WHERE hecho.IDProducto=d1.id
Dimensión que corresponde.
AND hecho.IDFabrica=d2.id
Luego se pone los atributos AND hecho.IDTiempo=d3.id
correspondientes a GROUP BY. AND d1.nombre_articulo IN ('Bolígrafos', 'Gomas')
AND d2.num_trabajadores>100
AND d3.mesAño IN ('Enero2002','Febrero2002')
GROUP BY d1.nombre_articulo, d3.mesAño
ORDER BY d1.nombre_articulo, d3.mesAño;
OLAP (PROCESAMIENTO ANALÍTICO EN LÍNEA)
Estructura básica de la consulta
CambioBase: Si se requiere ver los mismos datos ordenados de manera distinta, solo
hay que modificar los atributos de SELECT y cambiar el orden de los atributos a
ORDER BY.
B := cambioBaseProducto×Tiempo(A)
SELECT d1.nombre_articulo, d3.mesAño, SUM(hecho.unidades)
FROM Produccion hecho, Producto d1, Fabrica d2, Tiempo d3
WHERE hecho.IDProducto=d1.id AND hecho.IDTiempo=d3.id
AND hecho.IDFabrica=d2.id
AND d1.nombre_articulo IN ('Bolígrafos', 'Gomas')
AND d2.num_trabajadores>100
AND d3.mesAño IN ('Enero2002','Febrero2002')
GROUP BY d1.nombre_articulo, d3.mesAño
ORDER BY d1.nombre_articulo, d3.mesAño;
DSS (SISTEMAS DE SOPORTE A LAS
DECISIONES/ DECISION-SUPPORT SYSTEMS),
Tambien conocido también como EIS (Sistemas de información ejecutiva/Executive
Information Systems), dan soporte a las personas que toman las decisiones en una
organización ofreciéndoles datos de más alto nivel para ayudarles en las decisiones
importantes y complejas.
Forma parte de minería de datos, porque se emplea para el descubrimiento del
conocimiento y el proceso de búsqueda de datos para los nuevos conocimientos
imprevistos.
OLTP (PROCESAMIENTO DE TRANSACCIONES EN
LÍNEA/ONLINE TRANSACTION PROCESSING )
Es el soporte de base de datos tradicionales, que incluye inserciones, actualizaciones
y borrados además de las consultas para la recuperación de información.
Los sistemas de relaciones tradicionales están optimizados para procesar consultas
que toquen sólo una pequeña parte de la base de datos y transacciones que se
ocupen de actualizar o insertar algunas tuplas por relación.
No están preparadas para soportar OLAP, DSS o minería de datos
ESTRUCTURA DE UNA BASE
DE DATOS
MULTIDIMENSIONAL
Esquema de estrella
Está formada por los siguientes elementos:
Una tabla central o Fact Table donde se almacenan
los datos no redundantes.
Una serie de tablas de dimensiones (una por cada
dimensión).
Cada tabla de dimensiones está formada por un
conjunto de atributos.
Estos atributos se pueden organizar de forma
jerárquica o parcial.
ESTRUCTURA DE UNA BASE DE DATOS
MULTIDIMENSIONAL
Esquema de copo de nieve
Las tablas que componen la base de datos
están normalizadas, pudiendo generar
tablas adicionales.
Reduce y ahorra espacio de
almacenamiento.
ESTRUCTURA DE UNA BASE DE
DATOS MULTIDIMENSIONAL
Cubo de datos
Esta basado en una matriz de dos dimensiones rellena que
se benefician de las relaciones, por ejemplo:
Mediante creación de tabla dinámica en una hoja de calculo, se
almacenan datos de sumatoria de ventas regionales de cada producto
durante un periodo determinado, los productos podrían ser las filas,
mientras que las ventas de cada región comprenderían las columnas.
ESTRUCTURA DE UNA BASE DE DATOS
MULTIDIMENSIONAL
Hipercubo de datos
Esta basado en una matriz de 3 o más dimensiones rellenas que no son visibles, pero
es útil para cuando se soliciten cualquier combinación para consulta de datos más
complejas simplemente cambiando su rotación dimensional, por ejemplo:
Organizar los datos de venta de un producto por periodos fiscales y regiones de venta. Cada celda
podría contener datos de un producto, periodo fiscal y región específicos.
ESTRUCTURA DE UNA BASE DE DATOS
MULTIDIMENSIONAL
Pivotaje
La rotación entre ejes de un cubo de datos fácilmente
cambia la orientación dimensional.
La técnica de pivotaje permite rotación entre ejes de
un cubo y mostrar una orientación dimensional
diferente, por ejemplo:
Se puede pivotar el cubo para mostrar las ventas regionales
como filas, los totales de ventas por periodos como columnas y
los productos de la empresa en la tercera dimensión.
Nota: esta técnica equivale a tener una tabla de ventas
regionales independiente por cada producto, donde cada una
de ellas muestra las ventas por periodo región por región.
HERRAMIENTAS DE BASE DE DATOS
MULTIDIMENSIONAL CON INTELIGENCIA DE NEGOCIOS
Holistics
Metabase
Mode Analytics
Redash
Cluvio
Conclusion
Power BI
Looker
Tableau
Sisense