En este artículo vamos a explorar la evolución actual del modelo de data warehousing después de estar, como todo proceso IT hoy día, en continua adaptación a las nuevas necesidades que han ido surgiendo a causa de la explosión de las tecnologías Big Data de los últimos años. También hablaremos de la nube, que se antoja un componente estratégico a la hora de implementar un nuevo Data Warehouse.
Por Moisés Marín Delgado, Big Data & BI Lead | OpenSistemas
Arquitectura para Data Warehouse en la nube
Hoy en día encontramos soluciones adaptadas para poder construir un datawarehouse moderno con total garantía de éxito. Para ello debemos centrarnos en plantear cambios en la arquitectura que realizará el procesamiento y almacenamiento de datos, en lugar de seguir intentando mejorar el modelo de datos como tal (que sigue siendo muy importante).
Las piezas que intervienen en esta nueva arquitectura de procesamiento y almacenamiento de datos para data warehouse son las siguientes:
- Capa de origen: esta capa siempre contiene piezas “externas” al modelo. Logs, bases de datos, imágenes, JSONs, etc…
- Capa de ingesta y procesamiento: En esta capa se hace imprescindible la utilización de spark como motor de procesamiento, ya que el volumen de datos a tratar es posible que sea muy elevado. Como comentaremos más tarde, esta capa interactúa de manera cíclica con la siguiente para realizar todo el procesamiento de datos además de modelar los mismos o aportarles calidad.
- Capa de almacenamiento: En este nuevo modelo de arquitectura de un DWH, el DataLake juega un papel esencial, proporcionando varias ventajas que veremos en el siguiente punto más detalladamente.
- Capa de servicio: esta capa necesita contar con una base de datos optimizada para data warehouse que no solo nos permita almacenar los datos, sino que además estos estén particionados y distribuidos en diferentes nodos para procesar consultas, utilizando paralelismo y que la velocidad de respuesta sea la mínima posible. En este caso concreto, las diferentes nubes cuentan con herramientas especializadas que pueden facilitar la implementación de este paso. Además, también se debe contar con alguna herramienta que permita explotar los datos del DWH para crear informes y dashboards.
La importancia del Data Lake
Como hemos comentado antes, vamos a hablar de la importancia de construir un buen Data Lake como repositorio de datos. Algunas de las capas que tradicionalmente se utilizaban a la hora de construir un DWH, ahora nos las podemos llevar a un Data Lake, lo que nos llevará varias ventajas:
- En lugar de una base datos, para las capas de Staging o ODS, utilizaremos el Data Lake, porque al ser un sistema de archivos es más rápido acceder a su información.
- La utilización del mismo como repositorio de datos, teniendo así un único punto centralizado donde se encuentran todos los datos de la compañía.
- Sobrecargar lo menos posible los sistemas de origen al cambiar la forma de ingestar archivos, en lugar de usar ETLs usaremos ELTs (Extract-Transform-Load), con lo que la carga del procesamiento se la llevará el Data Lake.
- Dar acceso directamente a usuarios o aplicaciones al Data Lake para explotar su información.
- Al tratarse de un sistema de archivos, también es más barato el coste de almacenamiento que en una base de datos.
- Nos permite crear niveles de organización de los datos según su calidad y madurez. Para llevar a cabo la implementación de dichos niveles la arquitectura requiere de una interacción cíclica entre esta capa de almacenamiento en Data Lake y la capa de procesamiento con Spark.
Conclusiones
Hemos realizado un repaso a alto nivel de la evolución que ha sufrido el mundo de Data Warehousing en los últimos años para poder adaptarse al nuevo paradigma existente en el mundo de los datos desde la llegada del Big Data. Gracias a esta evolución es posible construir un DWH fiable y con garantías sin que el volumen de datos pueda afectar al rendimiento.
* Nota 1. Como podéis ver, hemos utilizando las herramientas de Azure para este ejemplo concreto, pero cada nube tiene herramientas específicas que podrían sustituirse por las de Azure para obtener los mismos resultados. Incluso también podría hacerse con herramientas on-premises.
Sobre Moisés Marín Delgado Big Data & BI Lead | OpenSistemas
Moisés Marín es Team Leader en proyectos de Big Data y Business Intelligence en OpenSistemas. Está muy ligado también a proyectos de IoT para la Industria 4.0. Actualmente está trabajando en proyectos de datawarehousing con Azure. También ha trabajado con Google Cloud Platform en diferentes plataformas para la ingesta y visualización de datos en tiempo real de la información.
Sobre OpenSistemas
OpenSistemas es una compañía especializada en el desarrollo de proyectos y productos globales altamente innovadores relacionados con la gestión, transformación, análisis, almacenamiento y visualización de datos en entornos de Data Intelligence, Visual Knowledge, Content Management y Cloud Integration, ayudando a nuestros clientes a potenciar el valor estratégico de su información.
OpenSistemas fundamenta esta capacidad en su experiencia de más de una década ofreciendo soporte, soluciones y servicios relacionados con entornos Cloud, Education y Content Management en grandes cuentas a nivel internacional y en la pasión de su equipo por las tecnologías Open Source, siempre bajo un enfoque de vocación de servicio al cliente y de compromiso con la comunidad. Más info en www.opensistemas.com.
Si te interesa saber más sobre este sector, inscríbete en el webinar Big Data Skills 4 New Digital Challenges, que tendrá lugar el miércoles 24 de junio, de 18:00h hasta las 19:30h. PINCHA AQUÍ PARA INSCRIPCIONES.