16 puntos por xguru 2025-01-27 | Aún no hay comentarios. | Compartir por WhatsApp
  • El campo de la gestión de datos está cambiando rápidamente, y con el crecimiento del almacenamiento en la nube y la demanda de analítica en tiempo real, el concepto de Data Lakehouse ha ido ganando relevancia
  • Proyectos como Apache Iceberg, Apache Hudi y Delta Lake han aportado funciones clave a la arquitectura Lakehouse, como evolución de esquemas, transacciones ACID y actualizaciones eficientes
  • El sistema interno de Google, Napa, propone un enfoque más avanzado que las soluciones Lakehouse actuales
  • Además, al incorporar ideas de otros sistemas como Apache Pinot, se propone LakeDB como la siguiente generación de Lakehouse

Entorno actual de Lakehouse: Iceberg, Hudi, Delta Lake

  • Apache Iceberg
    • Admite evolución de esquemas, time travel y planeación eficiente de consultas mediante una gestión sofisticada de metadatos
    • Proporciona garantías de consistencia para grandes conjuntos de datos analíticos
  • Apache Hudi
    • Aprovecha almacenamiento basado en estructura de logs e indexación para procesar de forma eficiente upsert, delete y CDC (captura de datos de cambios)
    • Pone énfasis en la mutación de datos y el procesamiento incremental
  • Delta Lake
    • Proporciona transacciones ACID para Spark y cargas de trabajo de big data
    • Admite validación de esquemas, time travel y procesamiento unificado de batch y streaming
    • También ofrece en parte pipelines declarativos y vistas materializadas mediante Delta Live Tables

Napa de Google: un enfoque macroscópico

  • Es un sistema completo de gestión de datos analíticos que admite consultas de baja latencia y carga continua de datos a gran escala
  • Carga basada en LSM (Log-Structured Merge)-Tree
    • Adopta el enfoque LSM-tree para lograr alto rendimiento de escritura, con una estructura que fusiona los datos existentes mediante compactación
  • Uso de vistas materializadas
    • Mantiene y actualiza automáticamente vistas materializadas para acelerar las consultas
  • Queryable Timestamp (QT)
    • Proporciona gestión consistente de puntos en el tiempo en todo el sistema
    • Permite ajustar con precisión el equilibrio entre frescura de los datos y rendimiento de consulta
  • Integración con F1 Query
    • Aprovecha el motor F1 Query de Google para procesar eficientemente consultas analíticas complejas
  • Alta configurabilidad
    • Permite ajustar frescura de datos, rendimiento, costos y más según las necesidades del usuario

Comparación entre Napa, Iceberg, Hudi y Delta Lake

  • Napa es un sistema integral de gestión de datos analíticos que admite consultas rápidas mediante vistas materializadas basadas en LSM y ajusta finamente la frescura de los datos con una técnica llamada Queryable Timestamp (QT). Resulta útil en escenarios donde se quiere analizar y reportar rápidamente grandes volúmenes de datos, y gracias a su alta flexibilidad de configuración permite equilibrar adecuadamente costo, rendimiento y frescura.
  • Iceberg es un proyecto centrado en el formato de tabla, que administra archivos de datos a gran escala mediante metadatos y ofrece funciones como actualizaciones atómicas. Se utiliza principalmente en entornos de data lake que requieren funciones como data warehousing, evolución de esquemas o time travel, y sus opciones de configuración se concentran sobre todo en el layout de tablas y los metadatos.
  • Hudi es una plataforma que incorpora capacidades similares a las de una base de datos dentro de un data lake, y maneja eficientemente operaciones de mutación de datos como upsert o delete mediante almacenamiento basado en estructura de logs y técnicas de indexación. Está diseñada para responder bien a requisitos como carga en tiempo real, captura de datos de cambios (CDC) y cumplimiento regulatorio como GDPR, aunque no ofrece vistas materializadas de forma nativa.
  • Delta Lake es una capa de almacenamiento con soporte para transacciones ACID, que procesa de manera integrada trabajos batch y streaming, al tiempo que ofrece enforcement de esquemas y funciones de time travel. Para mejorar el rendimiento de consulta, aprovecha data skipping y caching en integración con Spark, y también admite conceptos similares a vistas materializadas mediante Delta Live Tables separadas. Se usa con frecuencia cuando se busca agregar confiabilidad y capacidades transaccionales en distintos entornos de data lake.

La propuesta de LakeDB: inspiración en Napa, aprendizaje de otros sistemas

  • Al combinar ideas innovadoras de Napa y de Apache Pinot, entre otros, se propone el concepto de LakeDB como una solución más integrada y flexible
  • LakeDB apunta a ser una solución de gestión de datos donde el usuario expresa de forma declarativa sus necesidades (frescura, costo, consistencia, uso de índices, etc.) y el sistema se encarga de optimizar automáticamente

1. Integración de almacenamiento, carga, metadatos y procesamiento de consultas

  • Un solo sistema incluye almacenamiento, carga, metadatos y procesamiento de consultas
  • El usuario solo especifica la frescura y consistencia de los datos, y las tareas necesarias se ajustan automáticamente
  • En Iceberg, Hudi y Delta Lake, esta parte requiere integrar herramientas separadas, lo que aumenta la complejidad

2. Optimización inteligente de vistas materializadas y layout de datos

  • Cambia automáticamente entre CoW (Copy-on-Write) y MoR (Merge-on-Read) según la carga de trabajo
  • Genera y administra snapshots y vistas materializadas de forma adecuada según los requisitos definidos por el usuario en rendimiento y costo
  • En Hudi, Delta Lake e Iceberg, este proceso en su mayor parte debe configurarse manualmente

3. Control fino de la frescura de los datos

  • Igual que el QT de Napa, el usuario puede definir el nivel de frescura deseado y el sistema encuentra el punto de equilibrio entre rendimiento y costo
  • En los sistemas existentes, era difícil garantizar comportamiento en tiempo real porque dependían de snapshots periódicos y monitoreo

4. Indexación y particionamiento avanzados inspirados en Apache Pinot

  • Admite métodos avanzados de indexación como Star-Tree, lo que permite manejar también analítica de alta cardinalidad
  • Busca mejoras de rendimiento que van más allá del particionamiento simple y el data skipping de Iceberg y Delta Lake

5. Configuración flexible

  • La misma tabla puede configurarse para varios consumidores con distintos requisitos de rendimiento, costo y frescura
  • Los sistemas existentes tienen un rango de configuración limitado, por lo que requieren mucho tuning manual para responder a cargas de trabajo diversas

6. Soporte para ACID y evolución de esquemas

  • Hereda y amplía la base de ACID y evolución de esquemas de Iceberg y Delta Lake
  • Busca automatizar cambios de esquema concurrentes y la garantía de consistencia de datos en entornos distribuidos

7. Apertura y escalabilidad

  • Admite estándares abiertos e integración con distintos motores de consulta, y puede ampliarse según sea necesario
  • Evita depender de un proveedor o plataforma específicos y permite aplicar capacidades de forma flexible según las necesidades del usuario

Por qué LakeDB es la siguiente evolución

  • Rendimiento: se acerca a velocidades de nivel OLAP mediante índices avanzados, vistas materializadas y optimización dinámica del layout de datos
  • Simplicidad: ofrece funciones de gestión dentro de un solo sistema, de modo que basta con definir los requisitos del usuario (frescura, rendimiento, etc.) para que se ajusten automáticamente
  • Eficiencia: reduce el uso de recursos y la carga operativa, por lo que también puede ofrecer ventajas de costo
  • Flexibilidad: permite responder a diversas cargas de trabajo con control fino de la frescura de los datos y opciones de configuración ricas
  • Analítica en tiempo real: incorpora técnicas de indexación de Apache Pinot para buscar tanto baja latencia como alto throughput

Conclusión

  • Apache Iceberg, Apache Hudi y Delta Lake han desempeñado un papel importante en la evolución del concepto de Lakehouse
  • Al combinar el enfoque de Napa de Google con ideas de Apache Pinot y otros sistemas, es posible imaginar una visión de LakeDB más integrada y poderosa
  • LakeDB tiene alto potencial de convertirse en la arquitectura de gestión de datos de próxima generación como un sistema integrado y maduro que abarca almacenamiento, carga, metadatos y procesamiento de consultas

Aún no hay comentarios.

Aún no hay comentarios.