En los últimos años en Databricks, hemos visto una nueva arquitectura de gestión de datos que surgió de forma independiente en muchos clientes y casos de uso: el lakehouse. En esta publicación describimos esta nueva arquitectura y sus ventajas sobre los enfoques anteriores.
Los data warehouses tienen una larga historia en aplicaciones de soporte a la toma de decisiones y business intelligence. Desde su creación a finales de los años 80, la tecnología de data warehouse continuó evolucionando y las arquitecturas MPP dieron lugar a sistemas capaces de manejar tamaños de datos cada vez mayores. Pero mientras los data warehouses eran geniales para datos estructurados, muchas empresas modernas tienen que lidiar con datos no estructurados, semiestructurados y datos con alta variedad, velocidad y volumen. Los data warehouses no son adecuados para muchos de estos casos de uso, y ciertamente no son la opción más rentable.
A medida que las empresas comenzaron a recopilar grandes cantidades de datos de muchas fuentes diferentes, los arquitectos comenzaron a imaginar un único sistema para albergar datos para muchos productos analíticos y cargas de trabajo diferentes. Hace aproximadamente una década, las empresas comenzaron a construir data lakes, repositorios de datos sin procesar en una variedad de formatos. Si bien son adecuados para almacenar datos, los data lakes carecen de algunas características críticas: no admiten transacciones, no imponen la calidad de los datos y su falta de consistencia/aislamiento hace que sea casi imposible mezclar operaciones de adición y lectura, y trabajos batch y de streaming. Por estas razones, muchas de las promesas de los data lakes no se han materializado y, en muchos casos, han llevado a la pérdida de muchos de los beneficios de los data warehouses.
La necesidad de un sistema flexible y de alto rendimiento no ha disminuido. Las empresas requieren sistemas para diversas aplicaciones de datos, incluyendo análisis SQL, monitorización en tiempo real, ciencia de datos y machine learning. La mayoría de los avances recientes en IA se han centrado en mejores modelos para procesar datos no estructurados (texto, imágenes, video, audio), pero estos son precisamente los tipos de datos para los que un data warehouse no está optimizado. Un enfoque común es usar múltiples sistemas: un data lake, varios data warehouses y otros sistemas especializados como bases de datos de streaming, series temporales, grafos e imágenes. Tener una multitud de sistemas introduce complejidad y, lo que es más importante, introduce retrasos, ya que los profesionales de datos invariablemente necesitan mover o copiar datos entre diferentes sistemas.
Están empezando a surgir nuevos sistemas que abordan las limitaciones de los data lakes. Un lakehouse es una arquitectura nueva y abierta que combina los mejores elementos de los data lakes y los data warehouses. Los lakehouses son posibles gracias a un nuevo diseño de sistema: la implementación de estructuras de datos y características de gestión de datos similares a las de un data warehouse directamente sobre almacenamiento en la nube de bajo costo en formatos abiertos. Son lo que obtendrías si tuvieras que rediseñar los data warehouses en el mundo moderno, ahora que hay almacenamiento barato y altamente confiable (en forma de object stores) disponible.
Un lakehouse tiene las siguientes características clave:
Estos son los atributos clave de los lakehouses. Los sistemas de nivel empresarial requieren características adicionales. Las herramientas de seguridad y control de acceso son requisitos básicos. Las capacidades de gobernanza de datos, incluyendo auditoría, retención y linaje, se han vuelto esenciales, particularmente a la luz de las recientes regulaciones de privacidad. También se necesitan herramientas que permitan el descubrimiento de datos, como catálogos de datos y métricas de uso de datos. Con un lakehouse, estas características empresariales solo necesitan ser implementadas, probadas y administradas para un único sistema.
Lea el documento de investigación completo sobre el funcionamiento interno del Lakehouse.
La Plataforma Databricks Lakehouse tiene las características arquitectónicas de un lakehouse. El servicio Azure Synapse Analytics de Microsoft, que se integra con Azure Databricks, permite un patrón de lakehouse similar. Otros servicios gestionados como BigQuery y Redshift Spectrum tienen algunas de las características de lakehouse mencionadas anteriormente, pero son ejemplos que se centran principalmente en BI y otras aplicaciones SQL. Las empresas que desean crear e implementar sus propios sistemas tienen acceso a formatos de archivo de código abierto (Delta Lake, Apache Spark, Apache Hudi) que son adecuados para construir un lakehouse.
Fusionar data lakes y data warehouses en un único sistema significa que los equipos de datos pueden avanzar más rápido, ya que pueden usar los datos sin necesidad de acceder a múltiples sistemas. El nivel de soporte SQL y la integración con herramientas de BI entre estos lakehouses tempranos son generalmente suficientes para la mayoría de los data warehouses empresariales. Las vistas materializadas y los procedimientos almacenados están disponibles, pero los usuarios pueden necesitar emplear otros mecanismos que no son equivalentes a los que se encuentran en los data warehouses tradicionales. Esto último es particularmente importante para los escenarios de "lift and shift", que requieren sistemas que logren semánticas casi idénticas a las de los data warehouses comerciales más antiguos.
¿Qué hay del soporte para otros tipos de aplicaciones de datos? Los usuarios de un lakehouse tienen acceso a una variedad de herramientas estándar (Spark, Python, R, bibliotecas de aprendizaje automático) para cargas de trabajo no de BI, como ciencia de datos y aprendizaje automático. La exploración y el refinamiento de datos son estándar para muchas aplicaciones analíticas y de ciencia de datos. Delta Lake está diseñado para permitir a los usuarios mejorar incrementalmente la calidad de los datos en su lakehouse hasta que esté lista para su consumo.
Una nota sobre los componentes técnicos. Si bien los sistemas de archivos distribuidos se pueden usar para la capa de almacenamiento, las tiendas de objetos se usan con más frecuencia en los lakehouses. Las tiendas de objetos proporcionan almacenamiento de bajo costo y alta disponibilidad, que se destacan en lecturas masivamente paralelas, un requisito esencial para los almacenes de datos modernos.
El lakehouse es una nueva arquitectura de gestión de datos que simplifica radicalmente la infraestructura de datos empresarial y acelera la innovación en una era en la que el aprendizaje automático está a punto de revolucionar todas las industrias. En el pasado, la mayoría de los datos que se incluían en los productos o la toma de decisiones de una empresa eran datos estructurados de sistemas operativos, mientras que hoy en día, muchos productos incorporan IA en forma de modelos de visión por computadora y voz, minería de texto y otros. ¿Por qué usar un lakehouse en lugar de un data lake para IA? Un lakehouse le brinda control de versiones de datos, gobernanza, seguridad y propiedades ACID que son necesarias incluso para datos no estructurados.
Los lakehouses actuales reducen costos, pero su rendimiento aún puede quedarse atrás de sistemas especializados (como los almacenes de datos) que tienen años de inversión y despliegues en el mundo real. Los usuarios pueden preferir ciertas herramientas (herramientas de BI, IDEs, notebooks) sobre otras, por lo que los lakehouses también deberán mejorar su experiencia de usuario y sus conectores a herramientas populares para poder atraer a una variedad de perfiles. Estos y otros problemas se abordarán a medida que la tecnología continúe madurando y desarrollándose. Con el tiempo, los lakehouses cerrarán estas brechas mientras conservan las propiedades principales de ser más simples, más eficientes en costos y más capaces de servir a diversas aplicaciones de datos.
Lea las preguntas frecuentes sobre Data Lakehouse para más detalles.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
