Almacén de datos (data warehouse)
Un almacén de datos es un depósito de datos de los sistemas operativos de una organización y otras fuentes que respaldan aplicaciones de análisis para ayudar a impulsar la toma de decisiones comerciales. El almacenamiento de datos es una parte clave de una estrategia general de gestión de datos: los datos almacenados en los almacenes de datos se procesan y organizan para su análisis por parte de analistas de negocios, ejecutivos, científicos de datos y otros usuarios.
Normalmente, un almacén de datos es una base de datos relacional o una base de datos en columnas alojada en un sistema informático en un centro de datos local o, cada vez más, en la nube. Los datos de las aplicaciones de procesamiento de transacciones en línea (OLTP) y de fuentes internas o externas adicionales se extraen y consolidan en el almacén de datos para usos de inteligencia de negocios (BI) que incluyen consultas ad hoc, soporte de decisiones e informes empresariales. Los usuarios acceden a los datos a través de software de BI y otros tipos de herramientas de análisis.
Componentes básicos de una arquitectura de almacén de datos
En un nivel fundamental, una arquitectura de almacén de datos contiene un conjunto de tres niveles que incluyen los siguientes componentes principales:
- Un servidor de base de datos para procesar, almacenar y administrar datos como nivel inferior.
- Un motor de análisis que ejecuta consultas y aplicaciones de BI como nivel medio.
- Herramientas de BI y generación de informes que respaldan el análisis, la visualización y la presentación de datos como nivel superior.
Una arquitectura comúnmente también contiene una capa de integración de datos con herramientas que extraen y combinan datos de sistemas operativos y un área de preparación donde los datos se limpian, transforman y organizan antes de cargarlos en el almacén de datos. Se utiliza una combinación de software de integración de datos y calidad de datos para llevar a cabo las tareas en el nivel de preparación.
Un almacén de datos empresarial almacena datos analíticos de todas las operaciones comerciales de una organización; alternativamente, las unidades de negocios individuales pueden tener sus propios almacenes de datos, particularmente en las grandes empresas. Los almacenes de datos también se pueden conectar a múltiples data marts, que son sistemas más pequeños que contienen subconjuntos de datos de una organización para un departamento o grupo de usuarios específico.
Los almacenes de datos también admiten tecnologías de procesamiento analítico en línea (OLAP), que organizan los datos en cubos categorizados por diferentes dimensiones para ayudar a acelerar el proceso de análisis. Además, los registros de datos almacenados en un almacén de datos contienen metadatos detallados y datos resumidos para ayudar a que los usuarios empresariales puedan buscarlos y sean útiles.
Tipos de almacenes de datos y opciones de implementación
Hay dos enfoques principales para implementar un almacén de datos: el método de arriba hacia abajo y el método de abajo hacia arriba.
El método de arriba hacia abajo fue creado por el pionero del almacenamiento de datos William H. Inmon. Requiere construir primero el almacén de datos empresarial y luego utilizar los datos almacenados en él para configurar mercados de datos para unidades y departamentos de negocios. Según el enfoque de Inmon, los datos se extraen de los sistemas de origen y se validan en un área de preparación antes de integrarse en un modelo de datos normalizado y transformarse para usos analíticos y de BI planificados.
El método ascendente fue desarrollado por el consultor Ralph Kimball como un enfoque alternativo de almacenamiento de datos que requiere que primero se creen mercados de datos dimensionales. Los datos se extraen de las fuentes y se modelan en un diseño de esquema en estrella, con una o más tablas de hechos conectadas a una o más tablas dimensionales. Luego, los datos se procesan y se cargan en data marts, que pueden integrarse entre sí o utilizarse para poblar un almacén de datos empresarial.
También existe un enfoque híbrido para el diseño de almacenes de datos que incluye aspectos de los métodos tanto de arriba hacia abajo como de abajo hacia arriba. Las organizaciones que adoptan una estrategia híbrida a menudo buscan combinar la velocidad de desarrollo del enfoque ascendente con las capacidades de integración de datos que se pueden lograr en un diseño de arriba hacia abajo.
Finalmente, algunas organizaciones han adoptado almacenes de datos federados que integran sistemas analíticos separados que ya están implementados independientemente unos de otros — un enfoque que los defensores describen como una forma práctica de aprovechar las implementaciones existentes.
Beneficios del almacén de datos
Los almacenes de datos pueden beneficiar a las organizaciones tanto desde una perspectiva empresarial como de TI. Por ejemplo, los beneficios potenciales incluyen los siguientes:
- Al consolidar datos de diferentes fuentes, los almacenes de datos brindan a los ejecutivos corporativos y otros tomadores de decisiones una visión más completa de las operaciones, el desempeño y las tendencias comerciales de la que podrían obtener fácilmente de otra manera.
- Los almacenes de datos también ofrecen una mayor calidad y coherencia de los datos para usos analíticos, mejorando así la precisión de las aplicaciones de BI.
- Administrados y utilizados de manera efectiva, los almacenes de datos permiten decisiones comerciales más informadas que pueden ayudar a las organizaciones a mejorar la productividad y la eficiencia operativa, aumentar los ingresos y obtener ventajas competitivas sobre los rivales comerciales.
- La información generada a partir de los almacenes de datos se puede utilizar para responder de manera más proactiva a las tendencias del mercado, los problemas comerciales y las nuevas necesidades comerciales.
- Los almacenes de datos brindan una mejor comprensión del comportamiento y las preferencias de los clientes para ayudar a las organizaciones a mejorar el marketing, las ventas y el servicio al cliente — y, en última instancia, la satisfacción del cliente.
- Separar los procesos analíticos de los operativos moviéndolos a un almacén de datos puede mejorar el rendimiento de los sistemas operativos y permitir que los analistas de datos y los usuarios comerciales accedan y consulten datos relevantes más rápido.
- Para satisfacer mejor sus necesidades comerciales y de TI, las organizaciones pueden elegir entre sistemas locales, implementaciones en la nube convencionales y ofertas de almacenamiento de datos como servicio (DWaaS) que las liberan de la necesidad de implementar, configurar y administrar almacenes de datos.
Casos de uso y aplicaciones comunes de almacenamiento de datos
Debido a que un almacén de datos permite un acceso más rápido y eficiente a varios conjuntos de datos y, por lo general, tiene los recursos informáticos y de memoria necesarios para ejecutar consultas complicadas, puede ayudar a las empresas a obtener rápidamente información y, por tanto, valor de sus datos. Para ayudar a cumplir los objetivos comerciales, los almacenes de datos se utilizan comúnmente para los siguientes propósitos:
- Fuente única de verdad. Muchas organizaciones, especialmente las más grandes, tienen una estructura operativa compleja, con varias unidades de negocios y departamentos, cada uno de los cuales produce cantidades significativas de datos. Esos datos se pueden recopilar, integrar y fusionar en un almacén de datos, brindando a los usuarios conjuntos de datos más completos para obtener conocimientos más precisos y mejores decisiones comerciales. Al hacerlo, una organización puede romper los silos de datos que limitan el acceso a algunos conjuntos de datos y, a menudo, dan como resultado datos inconsistentes. En cambio, el almacén de datos se convierte en una única fuente de información para toda la organización, lo que garantiza que los usuarios de diferentes unidades trabajen con los mismos datos.
- Informes. De manera similar, un almacén de datos puede consolidar varios tipos de datos, incluidos datos operativos actuales y datos históricos — algunos de los cuales anteriormente podrían haber estado encerrados en sistemas heredados. Como resultado, mantiene en un solo lugar todos los datos necesarios para la presentación de informes internos a los ejecutivos y gerentes de negocios. Además, el almacén de datos permite la entrega rápida de esa información — los informes a menudo se pueden generar y distribuir en segundos o minutos, en lugar de horas o días si se recopilan a partir de datos en diferentes sistemas.
- Minería de datos. La minería de datos es el proceso de clasificar grandes conjuntos de datos para identificar patrones y relaciones que pueden proporcionar información sobre tendencias futuras e informar la toma de decisiones. Aunque las plataformas de lagos de datos más nuevas que contienen diversos conjuntos de big data ahora se utilizan a menudo para la minería de datos en aplicaciones de análisis avanzado, el almacén de datos continúa respaldando la minería de datos como parte de las aplicaciones de BI en muchas organizaciones.
- BI e IA. Las bases de datos operativas normalmente no pueden manejar el procesamiento requerido para las consultas de BI y las iniciativas de inteligencia artificial (IA), pero los almacenes de datos sí pueden. Por lo general, también pueden entregar las grandes cantidades de datos que las aplicaciones de BI e IA requieren para una precisión óptima y —en el caso del aprendizaje automático y el procesamiento del lenguaje natural, en particular— un aprendizaje exitoso.
- Auditoría y cumplimiento normativo. El almacén de datos, con sus almacenes de datos históricos de toda la empresa, también respalda los procesos de auditoría y cumplimiento. Puede proporcionar de manera eficiente registros relevantes, ahorrando tiempo y dinero a una organización en sus auditorías y trabajo de cumplimiento normativo, al mismo tiempo que elimina errores y permite un análisis de datos más preciso.
Mejores prácticas para diseñar y gestionar un almacén de datos
A continuación se presentan algunas de las mejores prácticas para adoptar como parte del proceso de diseño y gestión del almacén de datos.
Comprender los objetivos y estrategias comerciales que impulsan la necesidad de un almacén de datos. El almacén de datos contiene datos estructurados y procesados para que estén listos para consultas analíticas. Por eso es importante comenzar por comprender las necesidades de almacenamiento de datos de la organización y las razones comerciales detrás de ellas. Los líderes de TI y los equipos de gestión de datos deben involucrar a las partes interesadas del negocio en estas discusiones, ya que los objetivos comerciales que impulsan la necesidad del almacén de datos ayudarán a dar forma a las decisiones sobre los datos a incluir, las fuentes de datos requeridas y cómo formatear los conjuntos de datos.
Revisar el programa de gobierno de datos, el plan de gestión de datos y los procesos de soporte de la organización. El valor de un almacén de datos surge de los datos que contiene, no del hardware y software subyacentes. Como resultado, una organización debe revisar su programa de gobierno de datos y su estrategia general de gestión de datos y actualizarlos si es necesario para respaldar los casos de uso empresarial planificados del almacén de datos. Los procesos de gestión de datos en todos los sistemas de origen designados también deben revisarse para ayudar a garantizar que los datos que se introducen en el almacén de datos sean limpios, precisos y coherentes.
Esta planificación también debe considerar la frecuencia con la que se deben cargar los datos y si se debe realizar un procesamiento de datos por lotes o en tiempo real, según los casos de uso empresarial. Además, los gerentes de proyectos y sus equipos deben confirmar que existe un proceso continuo para revisar dichas consideraciones y actualizar los planes y procesos de gestión de datos. Por ejemplo, este paso podría incluir la implementación de capacidades de captura de datos de cambios, de modo que cualquier cambio realizado en las bases de datos se replique en el almacén de datos. Los equipos deben definir permisos de usuario y controles de acceso y también abordar requisitos más amplios de cumplimiento y seguridad de datos por adelantado.
Seleccione la arquitectura, la plataforma y las herramientas de almacenamiento de datos adecuadas. También se deben considerar los requisitos y casos de uso empresarial para determinar las tecnologías adecuadas para el almacén de datos. Hay una gran cantidad de preguntas que hacer. Por ejemplo, ¿los requisitos comerciales requieren un almacén de datos local o uno basado en la nube cumpliría mejor con los objetivos de la organización? Además, ¿deberían utilizarse herramientas de extracción, transformación y carga (ETL) o el método alternativo de extracción, carga y transformación (ELT) para introducir datos en el almacén? ¿Debería haber una capa de integración independiente del origen? ¿Debería la organización implementar una plataforma de almacenamiento de datos por sí misma o utilizar un servicio administrado?
Adopte nuevos procesos para optimizar el almacén de datos y maximizar su valor comercial. Las prácticas establecidas y emergentes pueden ayudar a las organizaciones a optimizar la gestión de un almacén de datos y maximizar el valor que ofrece. Por ejemplo, las técnicas de observabilidad de datos pueden ayudar a mantener la salud de los datos en los sistemas empresariales y las canalizaciones de datos. La aplicación de metodologías de desarrollo ágiles a la gestión del almacén de datos puede hacer posible ofrecer valor empresarial más rápidamente y con menores riesgos que utilizar un enfoque en cascada tradicional. Habilitar capacidades de análisis y BI de autoservicio también puede acelerar la entrega de valor al facilitar que los usuarios empresariales analicen los datos por sí mismos.
Almacenes de datos locales versus almacenes de datos en la nube
Al igual que otros tipos de sistemas de TI, los almacenes de datos se están trasladando cada vez más a la nube. Todos los principales proveedores de almacenes de datos ofrecen ahora sistemas basados en la nube que están disponibles tanto para implementaciones convencionales administradas por el usuario como como parte de ofertas DWaaS totalmente administradas. Incluyen proveedores que ofrecieron por primera vez almacenes de datos locales —en particular, IBM, Microsoft, Oracle, SAP y Teradata— así como aquellos que desarrollaron almacenes de datos específicamente para la nube, como Amazon Web Services (AWS), Google y Snowflake.
En general, la arquitectura subyacente es la misma en los almacenes de datos locales y en la nube. Pero ambos tienen ventajas y desventajas potenciales en comparación entre sí. Por ejemplo, un almacén de datos que se ejecuta en un servidor local puede tener las siguientes ventajas sobre uno basado en la nube:
- Tiempo de respuesta más rápido y menor latencia para los usuarios.
- Más control de la administración de bases de datos, mantenimiento del sistema y seguridad por parte de los equipos de TI y gestión de datos.
- Una supervisión más estricta para fines de cumplimiento normativo, especialmente en industrias altamente reguladas.
- Costos potencialmente más bajos —o al menos comparables— durante la vida útil del almacén de datos, incluso si los costos iniciales son más altos debido a la necesidad de comprar e instalar nueva tecnología.
Por otro lado, los almacenes de datos en la nube ofrecen las siguientes ventajas:
- Capacidades de seguridad, copia de seguridad de datos y recuperación ante desastres proporcionadas por el proveedor de la nube, particularmente en entornos DWaaS.
- Escalabilidad más fácil y rápida a medida que crecen los volúmenes de datos y las necesidades de recursos del sistema.
- Costos iniciales más bajos, sin necesidad de compras iniciales de hardware o software.
- Instalación y aprovisionamiento más rápidos de un nuevo almacén de datos.
- Potencialmente mayor confiabilidad, ya que los proveedores de nube generalmente ofrecen más redundancia y tienen habilidades de gestión de datos más profundas que las que la mayoría de las organizaciones pueden permitirse por sí solas.
- Conexiones más sencillas a otros servicios basados en la nube que las que normalmente puede proporcionar un almacén de datos local.
Otra opción es un entorno de almacenamiento de datos híbrido que combine sistemas locales y en la nube. Por ejemplo, una organización podría mantener datos confidenciales en un almacén de datos local por motivos de privacidad de datos y cumplimiento normativo, mientras traslada otros conjuntos de datos a un repositorio basado en la nube.
Almacenes de datos versus lagos de datos versus bases de datos
Tanto los lagos de datos como los almacenes de datos admiten aplicaciones de análisis, pero existen diferencias notables entre los dos repositorios de datos. Los almacenes de datos suelen almacenar datos procesados en esquemas predefinidos diseñados para aplicaciones específicas de BI, análisis e informes. Por lo general, contienen datos estructurados convencionales de sistemas de procesamiento de transacciones y otras aplicaciones comerciales.
Por el contrario, un lago de datos es un depósito de todo tipo de datos sin procesar, ya sean estructurados, no estructurados o semiestructurados. Los lagos de datos se crean más comúnmente en Hadoop, Spark u otras plataformas de big data, no en bases de datos. No es necesario definir un esquema por adelantado en un lago de datos — en cambio, los conjuntos de datos se pueden analizar tal cual o filtrarse y prepararse para aplicaciones de análisis individuales. Los procesos ELT son comunes en los lagos de datos, frente a los enfoques ETL que se utilizan con mayor frecuencia en los almacenes de datos.
Como resultado de su flexibilidad y soporte para diversos conjuntos de datos, los lagos de datos pueden manejar tipos de análisis más avanzados que los almacenes de datos. Por ejemplo, se pueden utilizar para aprendizaje automático, modelado predictivo, minería de textos y otras aplicaciones de ciencia de datos.
Los almacenes de datos también se diferencian de las bases de datos operativas. Mientras que un almacén de datos almacena datos de múltiples fuentes para su análisis, una base de datos operativa generalmente se utiliza para recopilar, procesar y almacenar datos de un único sistema o aplicación para respaldar los procesos comerciales en curso. Luego, los datos de dichas bases de datos se consolidan, se limpian y se introducen en almacenes de datos.
Historia e innovaciones del almacenamiento de datos
El concepto de almacenamiento de datos se remonta al trabajo realizado a mediados de la década de 1980 por los investigadores de IBM Barry Devlin y Paul Murphy. El dúo acuñó el término almacén de datos empresariales en su artículo de 1988, "Una arquitectura para un sistema de información y negocios", que describía el marco de un sistema de generación de informes y recuperación de información creado para su uso dentro de IBM. El periódico decía:
"La arquitectura se basa en el supuesto de que dicho servicio se ejecuta en un repositorio de toda la información comercial requerida que se conoce como Business Data Warehouse (BDW)... Un requisito previo necesario para la implementación física de un servicio de almacenamiento de datos comerciales es un proceso de negocio y una arquitectura de información que define (1) el flujo de informes entre funciones y (2) los datos requeridos".
Bill Inmon, como se le conoce más familiarmente, impulsó el desarrollo del almacén de datos con su libro de 1992 Building the Data Warehouse, además de escribir algunas de las primeras columnas sobre el tema. Como parte de su metodología de diseño de arriba hacia abajo para crear un almacén de datos, Inmon describió la tecnología como una colección de datos no volátil, integrada, variable en el tiempo y orientada a temas que respalda el proceso de toma de decisiones de una organización.
El crecimiento de la tecnología continuó con la fundación en 1995 del Data Warehousing Institute, una organización de educación e investigación ahora conocida como TDWI que se centra más ampliamente en tecnologías de gestión y análisis de datos. A esto le siguió la publicación en 1996 del libro de Ralph Kimball The Data Warehouse Toolkit, que introdujo su modelado dimensional y su enfoque ascendente para el diseño de almacenes de datos.
Los primeros en adoptarlos comenzaron a implementar almacenes de datos a mediados de la década de 1990, y el uso generalizado por parte de las organizaciones comenzó a crecer más tarde esa década y se generalizó en la década de 2000. En 2008, Inmon actualizó su metodología introduciendo un concepto de Data Warehouse 2.0 que se centró en la inclusión de capacidades de gestión del ciclo de vida de los datos, datos no estructurados, metadatos y entornos de procesamiento compartimentados.
La siguiente gran evolución del almacén de datos se produjo en 2012, cuando AWS lanzó el primer almacén de datos basado en la nube, Amazon Redshift. Pronto otros proveedores siguieron su ejemplo y la cantidad de opciones de almacenamiento de datos en la nube proliferó en los años siguientes. Los proveedores también han incorporado más funciones de automatización e inteligencia en su software de almacenamiento de datos. Por ejemplo, Oracle lanzó en 2018 Oracle Andalusian Data Warehouse, una versión de su tecnología de base de datos autónoma que la compañía describe como "autónoma".
Además, los sistemas de big data se han convertido en una valiosa extensión de los almacenes de datos en muchas organizaciones. En algunos casos, los clústeres de Hadoop u otras plataformas de big data sirven como área de preparación para los almacenes de datos tradicionales. En otros, los almacenes y lagos de datos se implementan en un entorno de análisis unificado.
Eso también ha llevado al desarrollo de data lakehouse, que combina la flexibilidad y escalabilidad de un lago de datos con las funciones de consulta y gestión de datos de un almacén de datos. El concepto se describió por primera vez en 2017 y, desde entonces, las tecnologías de data lakehouse han estado disponibles a través de varios proveedores.