En informática , un almacén de datos ( DW o DWH ), también conocido como almacén de datos empresarial ( EDW ), es un sistema utilizado para la elaboración de informes y el análisis de datos y es un componente fundamental de la inteligencia empresarial . [1] Los almacenes de datos son repositorios centrales de datos integrados de fuentes dispares. Almacenan datos actuales e históricos organizados de manera que sea fácil crear informes, realizar consultas y obtener información a partir de los datos. [2] A diferencia de las bases de datos, están destinados a ser utilizados por analistas y gerentes para ayudar a tomar decisiones organizacionales. [3]
Los datos almacenados en el almacén se cargan desde los sistemas operativos (como marketing o ventas). Los datos pueden pasar por un almacén de datos operativos y pueden requerir una limpieza de datos para operaciones adicionales a fin de garantizar la calidad de los datos antes de que se utilicen en el almacén de datos para la elaboración de informes.
Los dos enfoques principales para construir un sistema de almacenamiento de datos son extraer, transformar, cargar (ETL) y extraer, cargar, transformar (ELT).
El entorno para almacenes y centros de datos incluye lo siguiente:
Las bases de datos operativas están optimizadas para la preservación de la integridad de los datos y la velocidad de registro de las transacciones comerciales mediante el uso de la normalización de bases de datos y un modelo entidad-relación . Los diseñadores de sistemas operativos generalmente siguen las 12 reglas de normalización de bases de datos de Codd para garantizar la integridad de los datos. Los diseños de bases de datos completamente normalizadas (es decir, aquellos que satisfacen todas las reglas de Codd) a menudo dan como resultado que la información de una transacción comercial se almacene en docenas o cientos de tablas. Las bases de datos relacionales son eficientes en la gestión de las relaciones entre estas tablas. Las bases de datos tienen un rendimiento de inserción/actualización muy rápido porque solo una pequeña cantidad de datos en esas tablas se ve afectada por cada transacción. Para mejorar el rendimiento, los datos más antiguos se purgan periódicamente.
Los almacenes de datos están optimizados para patrones de acceso analítico, que generalmente implican la selección de campos específicos en lugar de todos los campos, como es común en las bases de datos operativas. Debido a estas diferencias en el acceso, las bases de datos operativas (en sentido amplio, OLTP) se benefician del uso de un sistema de administración de bases de datos (DBMS) orientado a filas, mientras que las bases de datos analíticas (en sentido amplio, OLAP) se benefician del uso de un DBMS orientado a columnas . Los sistemas operativos mantienen una instantánea del negocio, mientras que los almacenes mantienen datos históricos a través de procesos ETL que migran periódicamente datos de los sistemas operativos al almacén.
El procesamiento analítico en línea (OLAP) se caracteriza por una baja tasa de transacciones y consultas complejas que involucran agregaciones. El tiempo de respuesta es una medida de rendimiento eficaz de los sistemas OLAP. Las aplicaciones OLAP se utilizan ampliamente para la minería de datos . Las bases de datos OLAP almacenan datos históricos agregados en esquemas multidimensionales (generalmente esquemas en estrella ). Los sistemas OLAP suelen tener una latencia de datos de unas pocas horas, mientras que la latencia del data mart es más cercana a un día. El enfoque OLAP se utiliza para analizar datos multidimensionales desde múltiples fuentes y perspectivas. Las tres operaciones básicas en OLAP son la acumulación (consolidación), el desglose y el corte y segmentación.
El procesamiento de transacciones en línea (OLTP) se caracteriza por una gran cantidad de transacciones cortas en línea (INSERTAR, ACTUALIZAR, ELIMINAR). Los sistemas OLTP enfatizan el procesamiento rápido de consultas y el mantenimiento de la integridad de los datos en entornos de acceso múltiple. Para los sistemas OLTP, el rendimiento es la cantidad de transacciones por segundo. Las bases de datos OLTP contienen datos detallados y actuales. El esquema utilizado para almacenar bases de datos transaccionales es el modelo de entidad (generalmente 3NF ). [4] La normalización es la norma para las técnicas de modelado de datos en este sistema.
El análisis predictivo consiste en encontrar y cuantificar patrones ocultos en los datos mediante modelos matemáticos complejos y predecir resultados futuros. Por el contrario, el OLAP se centra en el análisis de datos históricos y es reactivo. Los sistemas predictivos también se utilizan para la gestión de relaciones con los clientes (CRM).
Un data mart es un almacén de datos simple enfocado en un solo tema o área funcional. Por lo tanto, obtiene datos de un número limitado de fuentes, como ventas, finanzas o marketing. Los data mart suelen ser creados y controlados por un solo departamento de una organización. Las fuentes pueden ser sistemas operativos internos, un almacén de datos central o datos externos. [5] Al igual que con los almacenes, los datos almacenados no suelen estar normalizados.
Los tipos de almacenes de datos incluyen almacenes de datos dependientes , independientes e híbridos. [ aclaración necesaria ]
El almacén de datos típico basado en extracción, transformación y carga (ETL) utiliza capas de preparación , integración de datos y acceso para albergar sus funciones clave. La capa de preparación o base de datos de preparación almacena datos sin procesar extraídos de cada uno de los distintos sistemas de datos de origen. La capa de integración integra conjuntos de datos dispares transformando los datos de la capa de preparación, a menudo almacenando estos datos transformados en una base de datos de almacén de datos operativos (ODS). Los datos integrados luego se mueven a otra base de datos, a menudo llamada base de datos de almacén de datos, donde los datos se organizan en grupos jerárquicos, a menudo llamados dimensiones, y en hechos y hechos agregados. La combinación de hechos y dimensiones a veces se denomina esquema en estrella . La capa de acceso ayuda a los usuarios a recuperar datos. [6]
La fuente principal de los datos se limpia , transforma, cataloga y pone a disposición para su uso por parte de gerentes y otros profesionales de negocios para minería de datos , procesamiento analítico en línea , investigación de mercado y soporte de decisiones . [7] Sin embargo, los medios para recuperar y analizar datos, extraer, transformar y cargar datos, y administrar el diccionario de datos también se consideran componentes esenciales de un sistema de almacenamiento de datos. Muchas referencias al almacenamiento de datos utilizan este contexto más amplio. Por lo tanto, una definición ampliada de almacenamiento de datos incluye herramientas de inteligencia empresarial , herramientas para extraer, transformar y cargar datos en el repositorio y herramientas para administrar y recuperar metadatos .
El almacenamiento de datos basado en ELT elimina la necesidad de una herramienta ETL independiente para la transformación de datos. En su lugar, mantiene un área de almacenamiento temporal dentro del propio almacén de datos. En este enfoque, los datos se extraen de sistemas de origen heterogéneos y luego se cargan directamente en el almacén de datos, antes de que se produzca cualquier transformación. Todas las transformaciones necesarias se gestionan luego dentro del propio almacén de datos. Por último, los datos manipulados se cargan en tablas de destino en el mismo almacén de datos.
Un almacén de datos mantiene una copia de la información de los sistemas de transacciones de origen. Esta complejidad arquitectónica brinda la oportunidad de:
El concepto de almacenamiento de datos se remonta a finales de los años 1980 [8], cuando los investigadores de IBM Barry Devlin y Paul Murphy desarrollaron el "almacén de datos empresariales". En esencia, el concepto de almacenamiento de datos tenía por objeto proporcionar un modelo arquitectónico para el flujo de datos desde los sistemas operativos a los entornos de apoyo a la toma de decisiones . El concepto intentaba abordar los diversos problemas asociados a este flujo, principalmente los altos costes asociados a él. En ausencia de una arquitectura de almacenamiento de datos, se requería una enorme cantidad de redundancia para dar soporte a múltiples entornos de apoyo a la toma de decisiones. En las grandes corporaciones, era habitual que varios entornos de apoyo a la toma de decisiones funcionaran de forma independiente. Aunque cada entorno prestaba servicio a distintos usuarios, a menudo requerían gran parte de los mismos datos almacenados. El proceso de recopilación, limpieza e integración de datos de diversas fuentes, normalmente de sistemas operativos existentes a largo plazo (normalmente denominados sistemas heredados ), se solía replicar en parte para cada entorno. Además, los sistemas operativos se reexaminaban con frecuencia a medida que surgían nuevos requisitos de apoyo a la toma de decisiones. A menudo, los nuevos requisitos exigían recopilar, limpiar e integrar nuevos datos de " depósitos de datos " diseñados para que los usuarios pudieran acceder fácilmente a ellos.
Además, con la publicación de The Imperative (Wiley & Sons, 1991) de James M. Kerr, se popularizó la idea de gestionar y poner un valor en dólares a los recursos de datos de una organización y luego reportar ese valor como un activo en un balance general. En el libro, Kerr describió una forma de llenar bases de datos de áreas temáticas a partir de datos derivados de sistemas impulsados por transacciones para crear un área de almacenamiento donde los datos resumidos se pudieran aprovechar aún más para informar la toma de decisiones ejecutivas. Este concepto sirvió para promover una mayor reflexión sobre cómo se podría desarrollar y gestionar un almacén de datos de manera práctica dentro de cualquier empresa.
Principales avances en los primeros años del almacenamiento de datos:
Un hecho es un valor o medida en el sistema que se gestiona.
Los datos brutos son los que informa la entidad que realiza los informes. Por ejemplo, en un sistema de telefonía móvil, si una estación base transceptora (BTS) recibe 1000 solicitudes de asignación de canal de tráfico, asigna 820 y rechaza el resto, podría informar tres datos a un sistema de gestión:
tch_req_total = 1000
tch_req_success = 820
tch_req_fail = 180
Los datos brutos se agregan a niveles superiores en varias dimensiones para extraer información más relevante para el servicio o el negocio. Estos se denominan datos agregados o resúmenes.
Por ejemplo, si hay tres estaciones base en una ciudad, los datos anteriores se pueden agregar al nivel de la ciudad en la dimensión de red. Por ejemplo:
tch_req_success_city = tch_req_success_bts1 + tch_req_success_bts2 + tch_req_success_bts3
avg_tch_req_success_city = (tch_req_success_bts1 + tch_req_success_bts2 + tch_req_success_bts3) / 3
Los dos enfoques más importantes para almacenar datos en un almacén son el dimensional y el normalizado. El enfoque dimensional utiliza un esquema en estrella , tal como lo propuso Ralph Kimball . El enfoque normalizado, también llamado tercera forma normal (3NF), es un modelo normalizado entidad-relacional propuesto por Bill Inmon. [22]
En un enfoque dimensional , los datos de transacción se dividen en "hechos", que suelen ser datos numéricos de transacción, y " dimensiones ", que son la información de referencia que da contexto a los hechos. Por ejemplo, una transacción de venta se puede dividir en hechos como la cantidad de productos pedidos y el precio total pagado por los productos, y en dimensiones como la fecha del pedido, el nombre del cliente, el número de producto, las ubicaciones de envío y facturación del pedido y el vendedor responsable de recibir el pedido.
Este enfoque dimensional facilita la comprensión de los datos y acelera su recuperación. [16] Las estructuras dimensionales son fáciles de entender para los usuarios comerciales porque la estructura se divide en mediciones/hechos y contexto/dimensiones. Los hechos están relacionados con los procesos comerciales y el sistema operativo de la organización, y las dimensiones son el contexto sobre ellos (Kimball, Ralph 2008). Otra ventaja es que el modelo dimensional no involucra una base de datos relacional cada vez. Por lo tanto, este tipo de técnica de modelado es muy útil para las consultas de los usuarios finales en el almacén de datos.
El modelo de hechos y dimensiones también puede entenderse como un cubo de datos , [23] donde las dimensiones son las coordenadas categóricas en un cubo multidimensional, el hecho es un valor correspondiente a las coordenadas.
Las principales desventajas del enfoque dimensional son:
En el enfoque normalizado, los datos del almacén se almacenan siguiendo, hasta cierto punto, las reglas de normalización de bases de datos . Las tablas de bases de datos relacionales normalizadas se agrupan en áreas temáticas (por ejemplo, clientes, productos y finanzas). Cuando se utilizan en grandes empresas, el resultado son docenas de tablas vinculadas por una red de uniones (Kimball, Ralph 2008).
La principal ventaja de este enfoque es que resulta sencillo agregar información a la base de datos. Las desventajas incluyen que, debido a la gran cantidad de tablas, puede resultar difícil para los usuarios combinar datos de diferentes fuentes para obtener información significativa y acceder a la información sin un conocimiento preciso de las fuentes de datos y la estructura de datos del almacén de datos.
Tanto los modelos normalizados como los dimensionales pueden representarse en diagramas de entidad-relación porque ambos contienen tablas relacionales unidas. La diferencia entre ellos es el grado de normalización. Estos enfoques no son mutuamente excluyentes y existen otros enfoques. Los enfoques dimensionales pueden implicar la normalización de los datos hasta cierto punto (Kimball, Ralph 2008).
En Information-Driven Business [24] , Robert Hillard compara los dos enfoques en función de las necesidades de información del problema empresarial. Concluye que los modelos normalizados contienen mucha más información que sus equivalentes dimensionales (incluso cuando se utilizan los mismos campos en ambos modelos), pero a costa de la usabilidad. La técnica mide la cantidad de información en términos de entropía de información y la usabilidad en términos de la medida de transformación de datos Small Worlds. [25]
En el enfoque ascendente , los data marts se crean primero para proporcionar capacidades de análisis y generación de informes para procesos empresariales específicos . Estos data marts pueden luego integrarse para crear un almacén de datos integral. La arquitectura del bus del almacén de datos es principalmente una implementación del "bus", una colección de dimensiones y hechos conformados, que son dimensiones que se comparten (de una manera específica) entre hechos en dos o más data marts. [26]
El enfoque descendente se diseña utilizando un modelo de datos empresariales normalizado . Los datos "atómicos" , es decir, los datos con el mayor nivel de detalle, se almacenan en el almacén de datos. A partir del almacén de datos se crean almacenes de datos dimensionales que contienen los datos necesarios para procesos empresariales específicos o departamentos específicos. [27]
Los almacenes de datos suelen parecerse a la arquitectura de centro y radios . Los sistemas heredados que alimentan el almacén suelen incluir la gestión de relaciones con los clientes y la planificación de recursos empresariales , lo que genera grandes cantidades de datos. Para consolidar estos diversos modelos de datos y facilitar el proceso de extracción, transformación y carga , los almacenes de datos suelen utilizar un almacén de datos operativo , cuya información se analiza en el almacén de datos real. Para reducir la redundancia de datos, los sistemas más grandes suelen almacenar los datos de forma normalizada. A continuación, se pueden crear almacenes de datos para informes específicos sobre el almacén de datos.
Una base de datos de almacén de datos híbrida (también llamada de conjunto) se mantiene en la tercera forma normal para eliminar la redundancia de datos . Sin embargo, una base de datos relacional normal no es eficiente para los informes de inteligencia empresarial en los que prevalece el modelado dimensional. Los pequeños almacenes de datos pueden comprar datos del almacén consolidado y utilizar los datos específicos filtrados para las tablas de hechos y las dimensiones requeridas. El almacén de datos proporciona una única fuente de información desde la que pueden leer los almacenes de datos, lo que proporciona una amplia gama de información empresarial. La arquitectura híbrida permite que un almacén de datos se reemplace por un repositorio de gestión de datos maestros donde podría residir la información operativa (no estática).
Los componentes de modelado de la bóveda de datos siguen una arquitectura de tipo hub and spokes. Este estilo de modelado es un diseño híbrido, que consta de las mejores prácticas tanto de la tercera forma normal como del esquema en estrella . El modelo de bóveda de datos no es una verdadera tercera forma normal y rompe algunas de sus reglas, pero es una arquitectura de arriba hacia abajo con un diseño de abajo hacia arriba. El modelo de bóveda de datos está diseñado para ser estrictamente un almacén de datos. No está diseñado para que el usuario final pueda acceder a él, lo que, cuando se crea, aún requiere el uso de un almacén de datos o un área de lanzamiento basada en esquema en estrella para fines comerciales.
Hay características básicas que definen los datos en el almacén de datos, que incluyen la orientación temática, la integración de datos, los datos variantes en el tiempo, los datos no volátiles y la granularidad de los datos.
A diferencia de los sistemas operativos, los datos del almacén de datos giran en torno a los sujetos de la empresa. La orientación a sujetos no es una normalización de bases de datos . La orientación a sujetos puede ser muy útil para la toma de decisiones. La recopilación de los objetos necesarios se denomina orientación a sujetos.
Los datos que se encuentran en el almacén de datos están integrados. Dado que provienen de varios sistemas operativos, se deben eliminar todas las inconsistencias. Las inconsistencias incluyen convenciones de nomenclatura, medición de variables, estructuras de codificación, atributos físicos de los datos, etc.
Mientras que los sistemas operativos reflejan valores actuales, ya que respaldan las operaciones diarias, los datos del almacén de datos representan un horizonte temporal largo (hasta 10 años), lo que significa que almacena principalmente datos históricos. Está destinado principalmente a la minería de datos y la previsión. (Por ejemplo, si un usuario busca un patrón de compra de un cliente específico, el usuario necesita consultar los datos sobre las compras actuales y pasadas). [28]
Los datos del almacén de datos son de sólo lectura, lo que significa que no se pueden actualizar, crear ni eliminar (a menos que exista una obligación reglamentaria o legal de hacerlo). [29]
En el proceso de almacenamiento de datos, los datos se pueden agregar en almacenes de datos en diferentes niveles de abstracción. El usuario puede comenzar mirando las unidades de venta totales de un producto en una región entera. Luego, el usuario mira los estados de esa región. Finalmente, puede examinar las tiendas individuales en un estado determinado. Por lo tanto, normalmente, el análisis comienza en un nivel superior y se profundiza en niveles inferiores de detalles. [28]
Con la virtualización de datos , los datos utilizados permanecen en sus ubicaciones originales y se establece un acceso en tiempo real para permitir el análisis de múltiples fuentes creando un almacén de datos virtual. Esto puede ayudar a resolver algunas dificultades técnicas, como problemas de compatibilidad al combinar datos de varias plataformas, reducir el riesgo de error causado por datos defectuosos y garantizar que se utilicen los datos más recientes. Además, evitar la creación de una nueva base de datos que contenga información personal puede facilitar el cumplimiento de las regulaciones de privacidad. Sin embargo, con la virtualización de datos, la conexión a todas las fuentes de datos necesarias debe estar operativa ya que no hay una copia local de los datos, lo que es uno de los principales inconvenientes de este enfoque. [30]
Los distintos métodos que se utilizan para construir u organizar un almacén de datos especificado por una organización son numerosos. El hardware utilizado, el software creado y los recursos de datos específicamente requeridos para el correcto funcionamiento de un almacén de datos son los componentes principales de la arquitectura del almacén de datos. Todos los almacenes de datos tienen múltiples fases en las que se modifican y ajustan los requisitos de la organización. [31]
Estos términos se refieren al nivel de sofisticación de un almacén de datos:
Podemos dividir los sistemas de TI en transaccionales (OLTP) y analíticos (OLAP). En general, podemos suponer que los sistemas OLTP proporcionan datos de origen a los almacenes de datos, mientras que los sistemas OLAP ayudan a analizarlos.