El Futuro de los Data Lakehouses: Apache Iceberg Explicado

Sabemos que la gestión de datos hoy en día está cambiando por completo. Durante décadas, las empresas confiaron en los almacenes de datos, que almacenaban la información de manera apropiada. Son estructurados, gobernados y rápidos para extraer información, aunque costosos y rígidos por naturaleza. En contraste, los lagos de datos son más eficientes y permiten el almacenamiento de enormes cantidades de datos independientemente de la estructura. Sin embargo, la aparición de la arquitectura de lakehouse combina los beneficios de los lagos de datos y los almacenes de datos. Los modelos de lakehouse permiten conservar la flexibilidad proporcionada por los lagos de datos al mismo tiempo que integran la fiabilidad, gobernanza y rendimiento de un almacén de datos.

El formato de tabla de código abierto más notable creado para análisis de datos a gran escala es Apache Iceberg. Iceberg está a la vanguardia de esta transformación y mejora el valor de los datos en la arquitectura de lakehouse. Además, Iceberg proporciona soluciones para muchos de los problemas a los que se enfrentan los lagos de datos, incluida la evolución del esquema, transacciones ACID, consistencia de datos y rendimiento de consultas. 

Esta publicación de blog es la primera de una serie de tres partes que explora Apache Iceberg y su papel en las arquitecturas de datos modernas. En esta publicación, el enfoque estará en los siguientes temas:

  1. La evolución de los almacenes de datos a los lagos de datos
  2. Los desafíos asociados con enfoques tradicionales
  3. Cómo Apache Iceberg aborda estas limitaciones

Las siguientes publicaciones de esta serie profundizarán en la arquitectura de Iceberg y explorarán cómo funcionan las consultas dentro de las tablas de Iceberg.

Breve Resumen: La Evolución de los Data Lakes desde los Data Warehouses

Durante incontables años, las empresas han dependido de los data warehouses, que han servido como la base central para el análisis. Un data warehouse actúa como un repositorio centralizado destinado a capturar datos estructurados de fuentes variadas para producir informes y conocimientos de manera eficiente. Hoy en día, los data warehouses facilitan un rendimiento de consulta rápido junto con mecanismos de gobierno sólidos, lo que les permite ser fiables y bien estructurados.

Sin embargo, las organizaciones se enfrentaron a nuevos problemas a medida que aumentaba el volumen de datos.

  1. Aumento de los costos de almacenamiento debido a las altas tarifas de cómputo y almacenamiento
  2. Aplicación estricta de esquemas que dificultaba la integración de datos semi-estructurados o no estructurados
  3. Soporte limitado para cargas de trabajo de IA y aprendizaje automático

Como solución, las empresas comenzaron a hacer uso de los data lakes. Al hacerlo, las empresas pudieron retener datos en bruto, datos estructurados y datos no estructurados en almacenamiento económico como Amazon S3, Azure Data Lake Storage, Google Cloud Storage y Hadoop Distributed File System.

Los beneficios de los data lakes incluyeron los siguientes factores:

  1. Reducción de costos de almacenamiento dentro de entornos de nube particulares
  2. Uso de nuevos formatos de datos como datos no estructurados, semi-estructurados e incluso estructurados
  3. Mejora en el uso de aplicaciones de IA y aprendizaje automático

A pesar de estas ventajas, los data lakes presentaron nuevos problemas como:

  1. La ausencia de gobernanza y esquema, que causó conjuntos de datos inconsistentes.
  2. La utilización ineficiente de índices y escaneos de tabla completos hizo que el rendimiento de las consultas fuera más lento.
  3. La ausencia de transacciones ACID hizo que la garantía de la integridad de los datos en entornos multiusuario fuera ardua.

La Emergence del Data Lakehouse

Un data lakehouse combina todas las ventajas de escalabilidad y económicas de un data lake con la productividad, confiabilidad y características transaccionales de un data warehouse. Este es un paradigma de diseño moderno.

Las principales ventajas de un data lakehouse incluyen:

  1. Acomodar tanto funciones de almacenamiento como de procesamiento a un precio más bajo
  2. Control eficiente de datos a través de transacciones ACID 
  3. Modificación de esquema sin afectar consultas existentes – Evolución del esquema
  4. Recuperación de versiones anteriores de la tabla a través de capacidades de viaje en el tiempo

La introducción de estas capacidades dio lugar al desarrollo de formatos de tabla modernos como Delta Lake, Apache Hudi y Apache Iceberg. Estas estructuras facilitaron que los data lakes operaran como data warehouses mientras mantenían la libertad de seguir siendo flexibles y no estructurados gracias a la introducción de capas de metadatos estructurados. Entre estos formatos de tabla, Apache Iceberg ha emergido como una opción líder, ofreciendo una solución robusta para organizaciones que buscan hacer la transición a arquitecturas de data lakehouse.

Apache Iceberg: Un Cambio de Juego para los Data Lakehouses

¿Qué es un formato de tabla?

Usar un formato de tabla proporciona una forma de gestionar eficazmente grandes conjuntos de información almacenados en un data lake. Encapsula algunas funciones, incluyendo:

  1. La estructuración de datos en tablas para una gestión y consultas efectivas.
  2. La eliminación y actualización eficiente de datos, así como la alteración de esquemas.
  3. La mejora del rendimiento en los tiempos de respuesta de consultas al cambiar los metadatos.

Al igual que otros formatos de tabla tradicionales como Hive, existía una dependencia del almacenamiento basado en directorios, lo que significaba que las tablas se construían a partir del contenido de ciertos directorios de archivos. Sin embargo, este método creó un cuello de botella en el rendimiento, ya que los motores de consulta tenían que filtrar a través de directorios completos antes de ejecutar una consulta.

La evolución de Hive a Iceberg

El formato de tabla Hive buscó resolver el problema de estructurar data lakes en los primeros años. El propósito era permitir a los usuarios organizar conjuntos de datos en tablas con consultas como las utilizadas en SQL por Apache Hive y Presto. Sin embargo, hay desventajas significativas en el formato Hive:

  1. Inconsistencias debido a escrituras concurrentes de diferentes fuentes por falta de transacciones ACID.
  2. Costosas operaciones de listado de archivos de ley realizadas debido a la gestión ineficiente de metadatos.
  3. Consultas lentas causadas por los desafíos de optimización manual de particiones.

Cómo Apache Iceberg resuelve estos desafíos

Apache Iceberg es un formato de tabla moderno que elimina los problemas presentados por Hive al tiempo que proporciona transacciones ACID, evolución de esquema y un rendimiento rápido en consultas con data lakes.

Entre los beneficios importantes de Apache Iceberg se encuentran:

  1. Transacciones ACID que garantizan actualizaciones de datos confiables y consistencia.
  2. Capacidad para viajar en el tiempo y consultar instantáneas de datos históricos.
  3. Evolución de esquema que permite agregar, renombrar o eliminar columnas sin afectar las consultas existentes.
  4. Evolución de partición que optimiza automáticamente las estrategias de particionamiento.
  5. Reducción de exploraciones de archivos innecesarias que permite una ejecución de consultas más rápida debido a la gestión eficiente de metadatos.

Consideraciones Finales

La gestión de datos ha cambiado drásticamente con la aparición de Apache Iceberg. Permite a las empresas en transición hacia un enfoque de data lakehouse gestionar su información de manera rentable y altamente escalable sin sacrificar el rendimiento. Está claro que la analítica ha sido transformada con la invención de Apache Iceberg, y su uso está aumentando constantemente. Estén atentos a la publicación final de esta serie. Para los dos próximos artículos del blog, el enfoque se desplazará hacia:

  • Parte 2: La arquitectura de Apache Iceberg, incluyendo las capas de datos, metadatos y catálogo.
  • Parte 3: Los mecanismos de consultas en Iceberg, incluyendo lectura y escritura, viaje en el tiempo y métodos de optimización de consultas.

Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg