Almacén de datos: descripción general

Un almacén de datos consta de datos de multiple heterogeneous data sourcesy se utiliza para informes analíticos y toma de decisiones. El almacén de datos es un lugar central donde se almacenan datos de diferentes fuentes de datos y aplicaciones.

El término almacén de datos fue inventado por primera vez por Bill Inmom en 1990. Un almacén de datos siempre se mantiene separado de una base de datos operativa.

Los datos en un sistema DW se cargan desde sistemas de transacciones operativas como:

  • Sales
  • Marketing
  • HR
  • SCM, etc.

Puede pasar por el almacén de datos operativos u otras transformaciones antes de que se cargue en el sistema DW para el procesamiento de la información.

Un almacén de datos se utiliza para informar y analizar información y almacena datos históricos y actuales. Los datos en el sistema DW se utilizan para informes analíticos, que luego los analistas comerciales, gerentes de ventas o trabajadores del conocimiento utilizan para la toma de decisiones.

En la imagen de arriba, puede ver que los datos provienen de multiple heterogeneous datafuentes a un almacén de datos. Las fuentes de datos comunes para un almacén de datos incluyen:

  • Bases de datos operativas
  • Aplicaciones SAP y no SAP
  • Archivos planos (archivos xls, csv, txt)

Los usuarios de BI (Business Intelligence) acceden a los datos del almacén de datos para la elaboración de informes analíticos, la minería de datos y el análisis. Esto se usa para la toma de decisiones por parte de los usuarios comerciales, el gerente de ventas y los analistas para definir la estrategia futura.

Características de un almacén de datos

Es un repositorio de datos central donde los datos se almacenan de una o más fuentes de datos heterogéneas. Un sistema DW almacena tanto datos actuales como históricos. Normalmente, un sistema DW almacena de 5 a 10 años de datos históricos. Un sistema DW siempre se mantiene separado de un sistema de transacciones operativas.

Los datos en un sistema DW se utilizan para diferentes tipos de informes analíticos que van desde la comparación trimestral hasta la anual.

Data Warehouse Vs Base de datos operativa

Las diferencias entre un almacén de datos y una base de datos operativa son las siguientes:

  • Un Operational System está diseñado para cargas de trabajo y transacciones conocidas, como actualizar un registro de usuario, buscar un registro, etc. Sin embargo, las transacciones del almacén de datos son más complejas y presentan una forma general de datos.

  • Un Operational System contiene los datos actuales de una organización y el almacén de datos normalmente contiene los datos históricos.

  • Un Operational Databaseadmite el procesamiento paralelo de múltiples transacciones. Se requieren mecanismos de recuperación y control de concurrencia para mantener la coherencia de la base de datos.

  • Un Operational Database consulta permite leer y modificar operaciones (insertar, eliminar y actualizar) mientras que una consulta OLAP solo necesita acceso de solo lectura de los datos almacenados (instrucción Select).

Arquitectura del almacén de datos

El almacenamiento de datos implica la limpieza de datos, la integración de datos y la consolidación de datos. Un almacén de datos tiene una arquitectura de 3 capas:

Capa de fuente de datos

Define cómo llegan los datos a un almacén de datos. Implica varias fuentes de datos y sistemas de transacciones operativas, archivos planos, aplicaciones, etc.

Capa de integración

Consiste en un almacén de datos operativos y un área de preparación. El área de preparación se utiliza para realizar la limpieza de datos, la transformación de datos y la carga de datos de diferentes fuentes a un almacén de datos. Como hay varias fuentes de datos disponibles para la extracción en diferentes zonas horarias, el área de preparación se utiliza para almacenar los datos y luego para aplicar transformaciones en los datos.

Capa de presentación

Se utiliza para realizar informes de BI por parte de los usuarios finales. Los usuarios de BI acceden a los datos de un sistema DW y los utilizan para informes y análisis.

La siguiente ilustración muestra la arquitectura común de un sistema de almacenamiento de datos.

Características de un almacén de datos

Las siguientes son las características clave de un almacén de datos:

  • Subject Oriented - En un sistema DW, los datos se clasifican y almacenan por un sujeto de negocios en lugar de por una aplicación como planes de acciones, acciones, préstamos, etc.

  • Integrated - Los datos de múltiples fuentes de datos están integrados en un almacén de datos.

  • Non Volatile- Los datos en el almacén de datos no son volátiles. Significa que cuando los datos se cargan en el sistema DW, no se modifican.

  • Time Variant- Un sistema DW contiene datos históricos en comparación con un sistema transaccional que contiene solo datos actuales. En un Data warehouse puede ver datos de 3 meses, 6 meses, 1 año, 5 años, etc.

OLTP frente a OLAP

En primer lugar, OLTP significa Online Transaction Processing, mientras que OLAP significa Online Analytical Processing

En un sistema OLTP, existe una gran cantidad de transacciones breves en línea como INSERT, UPDATE y DELETE.

Mientras que, en un sistema OLTP, una medida eficaz es el tiempo de procesamiento de transacciones cortas y es muy inferior. Controla la integridad de los datos en entornos de acceso múltiple. Para un sistema OLTP, el número de transacciones por segundo mide la efectividad. Un sistema de almacenamiento de datos OLTP contiene datos actualizados y detallados y se mantiene en los esquemas del modelo de entidad (3NF).

For Example -

Un sistema de transacciones del día a día en una tienda minorista, donde los registros de los clientes se insertan, actualizan y eliminan a diario. Proporciona un procesamiento de consultas más rápido. Las bases de datos OLTP contienen datos detallados y actualizados. El esquema utilizado para almacenar la base de datos OLTP es el modelo de entidad.

En un sistema OLAP, hay una menor cantidad de transacciones en comparación con un sistema transaccional. Las consultas ejecutadas son de naturaleza compleja e implican agregaciones de datos.

¿Qué es una agregación?

Guardamos tablas con datos agregados como anual (1 fila), trimestral (4 filas), mensual (12 filas) más o menos, si alguien tiene que hacer una comparación de año a año, solo se procesará una fila. Sin embargo, en una tabla no agregada comparará todas las filas. Esto se llama agregación.

Hay varias funciones de agregación que se pueden usar en un sistema OLAP como Sum, Avg, Max, Min, etc.

For Example -

SELECT Avg(salary)
FROM employee
WHERE title = 'Programmer';

Diferencias clave

Estas son las principales diferencias entre un sistema OLAP y OLTP.

  • Indexes - Un sistema OLTP tiene solo unos pocos índices, mientras que en un sistema OLAP hay muchos índices para optimizar el rendimiento.

  • Joins- En un sistema OLTP, se normalizan un gran número de uniones y datos. Sin embargo, en un sistema OLAP hay menos uniones y están desnormalizadas.

  • Aggregation - En un sistema OLTP, los datos no se agregan mientras que en una base de datos OLAP se utilizan más agregaciones.

  • Normalization - Un sistema OLTP contiene datos normalizados, sin embargo, los datos no están normalizados en un sistema OLAP.

Data Mart Vs Data Warehouse

Data mart se centra en un área funcional única y representa la forma más simple de un Data Warehouse. Considere un almacén de datos que contenga datos de ventas, marketing, recursos humanos y finanzas. Un mercado de datos se centra en una única área funcional como ventas o marketing.

En la imagen de arriba, puede ver la diferencia entre un almacén de datos y una despensa de datos.

Tabla de hechos vs dimensiones

Una tabla de hechos representa las medidas sobre las que se realiza el análisis. También contiene claves externas para las claves de dimensión.

For example - Cada venta es un hecho.

ID de cliente ID de producto ID de tiempo Cantidad vendida
1110 25 2 125
1210 28 4 252

La tabla Dimensión representa las características de una dimensión. Una dimensión de cliente puede tener Customer_Name, Phone_No, Sex, etc.

ID de cliente Cust_Name Teléfono Sexo
1110 Salida 1113334444 F
1210 Adán 2225556666 METRO