Analicemos primero las definiciones. Se dice que un data warehouse es una combinación de tecnologías y componentes que permite el almacenamiento y el uso estratégico de los datos, los cuales recopila y gestiona desde diversas fuentes para proporcionar información empresarial significativa, a partir de numerosas consultas y de diversos análisis. Dicho de otra manera, toma un conjunto grande de datos y los transforma en información con valor para la organización.
Data lake, por su parte, puede almacenar una gran cantidad de datos estructurados, semiestructurados y no estructurados, en su formato nativo, sin límites fijos en términos de tamaño ni de tipo. De esta manera, ofrece una gran cantidad de datos disponibles para análisis complejos y, por supuesto, acelerar la decisión de negocios a partir de una visión clara de cómo se comporta la realidad.
En principio podría decirse que ambos funcionan como repositorios de almacenamiento de gran tamaño y que tienen como objetivo que la empresa pueda gestionar un enorme volumen de datos para obtener respuestas de negocios. Sin embargo, son numerosas las diferencias que separan a data lake de data warehouses.
A continuación, un detalle de las más destacadas:
– Flexibilidad. Data lake permite el almacenamiento de datos estructurados, no estructurados y semiestructurados para analizar luego en conjunto, independientemente de la fuente: pueden provenir tanto de las bases de datos corporativas como de un video colgado en YouTube o de cualquier otra red social. Data warehouse, por su naturaleza, se concentra en los datos estructurados.
– Arquitectura. Mientras data lake mantiene los datos en bruto -es decir, conserva siempre su formato original- en una arquitectura plana, data warehouse arma una estructura jerárquica con carpetas y archivos. Esto hace que el segundo sea más ágil para encontrar y analizar la información.
– Adaptabilidad. En un momento de alto dinamismo, en el que el negocio necesita moverse a gran velocidad, data lake ofrece una adaptabilidad tal que habilita los resultados más rápido que data warehouse.
– Consumo. En el momento que lo va a utilizar, data lake transforma el dato en el modelo en que lo necesita (en un formato conocido como schema on read (es decir, esquematización para la lectura). En cambio, data warehouse utiliza el modelo de schema on write, esquematización durante la escritura, lo que promueve el hecho de que los datos deban encajar en esquemas predefinidos, lo que les quita capacidad de adaptación en el momento de la lectura. Esto, además, habilita que los datos de data lake puedan ser accedidos en cualquier situación, mientras que los de data warehouse se restringen a proporcionar información sobre preguntas predefinidas para los tipos de datos predefinidos.
– Conservación. Data lake conserva todos los datos, incluso los que no tienen ningún uso específico en este momento pero que podrían tenerlo en un futuro. El data warehouse, en cambio, requiere un esfuerzo de perfilado de datos y de toma de decisiones de qué se conserva e, incluso y dada la situación, de qué datos habría que excluir del almacén.
– Procesamiento. Mientras que data warehouse usa el tradicional ETL (Extract, Transform, Load), es decir, primero extrae los datos, luego los transforma y finalmente los deja disponibles para quien los consulta, data lake aplica el proceso ELT (Extract, Load, Transform), acelerando la carga para generar mayor velocidad de respuesta ante las consultas.
– Usuario típico. En líneas generales data warehouse es el formato ideal para los usuarios operativos: los datos están bien estructurados y son fáciles de utilizar y de comprender. Mientras tanto, data lake también acepta los usuarios operativos, pero además habilita la posibilidad de realizar análisis más profundos, para los que incluso pueden ser necesarios los científicos de datos que apliquen herramientas analíticas avanzadas. De todas maneras, para un usuario menos técnico es más sencillo el data warehouse.
En resumen, data lake promueve una mayor agilidad, más flexibilidad y mayor profundidad que data warehouse a la hora de transformar los datos en valor.