Ir al contenido principal

¿Qué es un Lakehouse?

Publicado: 30 de enero de 2020

Plataforma8 min de lectura

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.

¿Qué es un lakehouse?

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:

  • Soporte de transacciones: En un lakehouse empresarial, muchos pipelines de datos a menudo leerán y escribirán datos de forma concurrente. El soporte para transacciones ACID garantiza la consistencia mientras múltiples partes leen o escriben datos de forma concurrente, típicamente usando SQL.
  • Aplicación y gobernanza de esquemas: El Lakehouse debe tener una forma de admitir la aplicación y evolución de esquemas, soportando arquitecturas de esquemas de DW como esquemas de estrella/copo de nieve. El sistema debe ser capaz de razonar sobre la integridad de los datos, y debe tener mecanismos robustos de gobernanza y auditoría.
  • Soporte de BI: Los Lakehouses permiten usar herramientas de BI directamente sobre los datos de origen. Esto reduce la obsolescencia y mejora la actualidad, reduce la latencia y disminuye el costo de tener que operacionalizar dos copias de los datos, tanto en un data lake como en un data warehouse.
  • Almacenamiento desacoplado del cómputo: En la práctica, esto significa que el almacenamiento y el cómputo utilizan clústeres separados, por lo que estos sistemas pueden escalar a muchos más usuarios concurrentes y tamaños de datos más grandes. Algunos data warehouses modernos también tienen esta propiedad.
  • Apertura: Los formatos de almacenamiento que utilizan son abiertos y estandarizados, como Parquet, y proporcionan una API para que una variedad de herramientas y motores, incluidas bibliotecas de machine learning y Python/R, puedan acceder eficientemente a los datos directamente.
  • Soporte para diversos tipos de datos, desde no estructurados hasta estructurados: El lakehouse se puede utilizar para almacenar, refinar, analizar y acceder a los tipos de datos necesarios para muchas aplicaciones de datos nuevas, incluyendo imágenes, video, audio, datos semiestructurados y texto.
  • Soporte para diversas cargas de trabajo: incluyendo ciencia de datos, machine learning, y SQL y análisis. Pueden ser necesarias múltiples herramientas para soportar todas estas cargas de trabajo, pero todas dependen del mismo repositorio de datos.
  • Streaming de extremo a extremo: Los informes en tiempo real son la norma en muchas empresas. El soporte para streaming elimina la necesidad de sistemas separados dedicados a servir aplicaciones de datos en tiempo real.

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.

GUÍA

Tu guía compacta para el análisis moderno

Algunos ejemplos tempranos

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.

De BI a IA

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

No te pierdas ninguna publicación de Databricks.

Suscríbete a nuestro blog y recibe las últimas publicaciones en tu bandeja de entrada.