¿Qué es una casa de lago de datos?
Un data lakehouse es una arquitectura de gestión de datos que combina los beneficios de un data warehouse tradicional y un data lake. Busca fusionar la facilidad de acceso y el soporte para las capacidades de análisis empresarial que se encuentran en los almacenes de datos con la flexibilidad y el costo relativamente bajo del lago de datos.
Los almacenes de datos se desarrollaron en la década de 1980 como un nivel de almacenamiento de alto rendimiento que admitía inteligencia empresarial (BI) y análisis independientes de la base de datos transaccional operativa. Los almacenes de datos también admitían varias funciones de datos para permitir consultas de alto rendimiento y transacciones ACID (atomicidad, consistencia, aislamiento y durabilidad) para garantizar la integridad de los datos.
Los lagos de datos evolucionaron a partir de Hadoop a principios de la década de 2000. Proporcionan un nivel de almacenamiento de bajo costo para datos no estructurados y semiestructurados que reduce el costo de capturar macrodatos. Tradicionalmente, sufren problemas con el rendimiento, la calidad de los datos y la inconsistencia debido a la forma en que se gestionan y modifican los datos.
Los lagos de datos y los almacenes de datos requieren diferentes procesos para capturar datos de los sistemas operativos y moverlos al nivel de destino. El mantenimiento de sistemas separados da como resultado un gasto de capital significativo, gastos operativos continuos y gastos generales de gestión. En consecuencia, las empresas comenzaron a desarrollar una arquitectura de dos niveles en la que los datos se capturan primero en un almacén de datos. Luego, los datos se transforman posteriormente mediante los procesos de extracción, transformación y carga o extracción, carga y transformación (ETL y ELT) en un formato SQL estructurado adecuado para el almacén de datos. Sin embargo, esta arquitectura de varios niveles crea retrasos, complejidad y gastos generales adicionales.
Un lago de datos utiliza varias mejoras en las arquitecturas de datos, el procesamiento de datos y la gestión de metadatos para capturar todos los datos en una plataforma de datos común, que se puede compartir de manera eficiente para el aprendizaje automático y las aplicaciones de BI.
¿Qué hace una casa de lago de datos?
Los data lakehouses abordan cuatro problemas clave con la arquitectura tradicional de dos niveles que abarca distintos niveles de data lake y data warehouse, que incluyen:
- Fiabilidad mejora porque las empresas pueden reducir la fragilidad de las transferencias de datos ETL de ingeniería entre sistemas que podrían romperse fácilmente debido a problemas de calidad.
- Obsolescencia de datos se reduce porque los datos están disponibles para análisis en unas pocas horas, en comparación con los múltiples días que a veces se necesitan para transferir nuevos datos al almacén de datos.
- Analítica avanzada que no funcionó bien en la parte superior de los almacenes de datos tradicionales se puede ejecutar en datos operativos usando TensorFlow, PyTorch y XGBoost.
- Costo puede disminuir porque las empresas pueden reducir los costos de ETL en curso y un solo nivel requiere la mitad del almacenamiento en comparación con dos niveles separados.
¿Cómo funciona una casa de lago de datos?
Un lago de datos maneja varios problemas clave relacionados con la organización de datos para respaldar de manera eficiente los usos de los lagos de datos y los almacenes de datos tradicionales. Las casas de lago de datos funcionan abordando los siguientes problemas:
Gestión de datos. Un lago de datos debe combinar los beneficios de ingerir fácilmente datos sin procesar y, al mismo tiempo, organizar los datos mediante procesos ETL para BI de alto rendimiento. Los lagos de datos tradicionales organizaron los datos utilizando sistemas de archivos Parquet o Optimized Row Columnar (ORC). Las tecnologías de código abierto más nuevas, como Delta Lake y Apache Iceberg, admiten transacciones ACID en estas cargas de trabajo de big data.
Soporte de inteligencia artificial (IA) y aprendizaje automático. Las herramientas de aprendizaje automático y ciencia de datos han admitido tradicionalmente los formatos de archivo ORC y Parquet. Estas herramientas también están adoptando DataFrames que pueden facilitar la optimización de datos para nuevos modelos sobre la marcha.
Ajuste de SQL. Los almacenes de datos tradicionales pudieron ajustar las estructuras de datos de los datos SQL para las consultas más comunes. Las casas de lago de datos pueden optimizar el diseño de datos para formatos de archivo de almacenamiento de datos tradicionales como ORC y Parquet sobre la marcha utilizando herramientas como Databricks Delta Engine.
¿Cuáles son las características de una casa de lago de datos?
Las características de una casa de lago de datos incluyen:
- Tienda de objetos de bajo costo. Una casa de lago de datos debe poder almacenar datos en un almacén de objetos de bajo costo que podría incluir Amazon Simple Storage Service, Azure Blob Storage, Google Cloud Storage o de forma nativa usando ORC o Parquet.
- Capa de metadatos transaccionales. Esto hace posible aplicar funciones de administración de datos importantes para el rendimiento del almacén de datos además del almacenamiento sin procesar de bajo costo.
- Capacidades de optimización de datos. Un lago de datos debe poder optimizar los datos de manera que no se modifique el formato de los datos, lo que incluye la optimización del diseño de datos, el almacenamiento en caché y la indexación.
- Compatibilidad con API declarativa DataFrame. La mayoría de las herramientas de IA pueden acceder a los datos del almacén de objetos sin procesar mediante DataFrames. La compatibilidad con la API Declarative DataFrame agrega la capacidad de optimizar la estructura y presentación de los datos sobre la marcha en respuesta a una carga de trabajo de ciencia de datos o IA específica.
¿Cuáles son las ventajas y desventajas de los data lakehouses?
La principal ventaja de un lago de datos es que puede simplificar la arquitectura general de ingeniería de datos al proporcionar un solo nivel de preparación para todos los datos y todo tipo de aplicaciones y casos de uso. Esto puede reducir los costos porque los equipos solo tienen que administrar una única fuente de datos.
La principal desventaja de los data lakehouses es que se trata de un tipo de arquitectura relativamente nuevo. No está del todo claro que las empresas verán las ganancias prometidas por una plataforma unificada que puede ser más difícil de cambiar en el futuro. Además, los equipos de ingeniería de datos deben dominar las nuevas habilidades asociadas con la ejecución de una capa de gestión de metadatos más compleja que pueda organizar y optimizar los datos sobre la marcha. Los científicos de datos necesitan aprender nuevas habilidades asociadas con la optimización de sus consultas Declarative DataFrame para obtener el beneficio de la nueva arquitectura.
¿Cuál es la diferencia entre un lago de datos, un almacén de datos y un lago de datos?
Las casas de lago de datos se diferencian de los almacenes de datos y los lagos de datos en que todos los datos se pueden organizar en un nivel con una casa de lago de datos. Luego, los datos se pueden optimizar sobre la marcha para diferentes tipos de consultas tanto en datos estructurados como no estructurados.
Con los almacenes de datos, todos los datos deben pasar por una fase ETL / ELT para optimizar los datos a medida que se cargan en el nivel de almacenamiento. Sin embargo, esto conduce a un rendimiento más rápido en lectura para casos de uso de análisis de SQL, como inteligencia empresarial.
Con un lago de datos, todos los datos sin procesar se pueden capturar en un único almacén de objetos y luego estructurarlos al leerlos. Esto mejora el costo de capturar más tipos de estructuras, datos semiestructurados y no estructurados. Sin embargo, también puede reducir el rendimiento de las aplicaciones y provocar problemas de calidad de los datos.