¿Qué es Apache Iceberg?

Última actualización: 01/05/2026

Apache Iceberg es un formato de tabla de código abierto diseñado para conjuntos de datos analíticos a gran escala almacenados en data lakes. Las tablas de Iceberg gestionan los datos como colecciones de archivos, lo que ofrece una mayor fiabilidad, rendimiento y flexibilidad para las arquitecturas de datos modernas. Puedes pensar en ella como una capa inteligente que se sitúa encima del almacenamiento de tu data lake, como Cloud Storage, y que proporciona funciones similares a las de una base de datos para tus conjuntos de datos de gran tamaño. En lugar de gestionar archivos, Iceberg gestiona tablas como colecciones de archivos de datos, lo que permite usar funciones como la evolución de esquemas, el viaje en el tiempo y una planificación de consultas más eficiente. De esta forma, los analistas, científicos e ingenieros de datos pueden trabajar con datos de lagos de datos con mayor facilidad y eficiencia, y aumentar sus cargas de trabajo analíticas.

¿Qué es un data lake transaccional?

Un data lake transaccional no solo almacena datos a escala, sino que también admite operaciones transaccionales para asegurar la precisión y la coherencia de los datos. Las tablas de Iceberg permiten estas propiedades, que se conocen colectivamente como ACID.

  • Atomicidad: garantiza que cada transacción se trate como una sola unidad, de modo que se complete o falle por completo, sin estados intermedios.
  • Coherencia: asegura que todos los datos escritos sean válidos según las reglas definidas del data lake.
  • Aislamiento: permite que se produzcan varias transacciones simultáneamente sin interferir entre sí.
  • Durabilidad: garantiza que los datos no se pierdan ni se corrompan una vez que se envía una transacción, incluso en caso de fallo del sistema.

Casos prácticos habituales de las tablas de Iceberg

Las tablas de Iceberg son adecuadas para una gran variedad de casos prácticos de data lakes y lakehouses modernos, entre los que se incluyen los siguientes:

  • Cumplimiento y privacidad: son ideales para data lakes que requieren eliminaciones frecuentes para cumplir las leyes de privacidad de los datos.
  • Actualizaciones a nivel de registro: se pueden actualizar registros individuales sin tener que volver a publicar conjuntos de datos completos, como pueden ser datos de ventas que cambien como consecuencia de las devoluciones de los clientes.
  • Gestión de cambios impredecibles: se admiten tablas de dimensiones de cambio lento (SCD), como registros de clientes en los que la información de contacto pueda cambiar a intervalos desconocidos.
  • Acceso a versiones anteriores y auditoría: se mantiene un historial de capturas de las tablas, lo que permite a los usuarios consultar versiones antiguas para analizar tendencias o revertir y corregir problemas.
  • Aprendizaje automático: se proporcionan conjuntos de datos coherentes y con control de versiones que son fundamentales para entrenar modelos fiables.

¿Quién usa las tablas de Iceberg?

Distintos perfiles técnicos aprovechan las tablas de Iceberg para gestionar grandes conjuntos de datos de forma eficiente:

  • Ingenieros y administradores de datos: pueden usar tablas de Iceberg para diseñar y crear sistemas de almacenamiento escalables y fiables.
  • Analistas y científicos de datos: pueden usar tablas de Iceberg para analizar conjuntos de datos masivos aprovechando el entorno conocido de SQL y las capturas históricas reproducibles

Ventajas clave de las tablas de Iceberg

Permite a los usuarios que conocen el lenguaje SQL estándar realizar operaciones complejas en data lakes sin tener que aprender un nuevo lenguaje.

Permite hacer cambios en las estructuras de datos (añadir, cambiar el nombre o quitar columnas) de manera sencilla sin interrumpir las consultas.

Admite la captura de datos de cambios (CDC), lo que permite a los usuarios procesar solo los datos que han cambiado desde la última ejecución para mejorar la eficiencia.

Usa metadatos para descartar archivos innecesarios, lo que acelera la ejecución de las consultas mediante técnicas como el filtrado de predicados.

Compatible con varios motores, como Spark, Flink, Hive y Presto.

¿Cómo funcionan las tablas de Apache Iceberg?

Apache Iceberg introduce una capa de metadatos que se sitúa por encima de los propios archivos de datos de tu data lake. Estos metadatos registran la estructura y el contenido de tus tablas de una forma más organizada y sólida que los sistemas tradicionales basados en archivos. A continuación, se describen sus mecanismos clave:

  • Gestión de metadatos: Iceberg mantiene archivos de metadatos que describen el esquema, las particiones y las ubicaciones de los archivos de datos de la tabla. Estos archivos de metadatos suelen almacenarse en el data lake junto con los datos.
  • Catálogo: Iceberg utiliza un catálogo para llevar un registro de la ubicación de los metadatos actuales de cada tabla. Este catálogo puede ser un servicio como Hive Metastore, una implementación basada en un sistema de archivos o un servicio de catálogo nativo de la nube.
  • Instantáneas de tablas: cada vez que se hace un cambio en la tabla (por ejemplo, añadir o eliminar datos o evolucionar el esquema), Iceberg crea una nueva instantánea de los metadatos de la tabla. Estas instantáneas son inmutables y proporcionan un registro histórico del estado de la tabla.
  • Listas de manifiestos y archivos de manifiestos: cada instantánea apunta a una lista de manifiestos, que a su vez contiene uno o varios archivos de manifiestos. Los archivos de manifiesto contienen metadatos sobre archivos de datos individuales, como su ubicación, los valores de partición y las estadísticas (como el número de filas y los intervalos de valores).

Arquitectura de Apache Iceberg

La arquitectura de Apache Iceberg consta de varios componentes clave que funcionan en conjunto:

  • Almacenamiento de data lake: es la capa de almacenamiento subyacente, como Cloud Storage, donde se almacenan los propios archivos de datos (en formatos como Parquet, ORC o Avro) y los archivos de metadatos de Iceberg.
  • Catálogo REST de Iceberg: este componente se encarga de gestionar los punteros de metadatos de las tablas de Iceberg. Actúa como un registro central que registra la versión actual de los metadatos de cada tabla. Estas son algunas de las implementaciones de catálogos más habituales:
  • Metastore de Hive: un repositorio de metadatos muy utilizado que se suele emplear con sistemas basados en Hadoop.
  • Catálogo del sistema de archivos: una implementación sencilla en la que la información del catálogo se almacena directamente en el sistema de archivos del data lake.
  • Servicios de catálogo nativos de la nube: servicios gestionados que ofrecen los proveedores de servicios en la nube para almacenar y gestionar metadatos.
  • Metadatos del iceberg: consta de varias capas de archivos de metadatos que registran la estructura y los datos de la tabla:
  • Archivo de metadatos de la tabla: este archivo apunta a la lista de manifiestos actual y contiene información general sobre la tabla, como su esquema y la especificación de particiones.
  • Lista de archivos de manifiesto: este archivo incluye una lista de los archivos de manifiesto que contienen metadatos sobre los archivos de datos en una captura específica de la tabla.
  • Archivos de manifiesto: estos archivos contienen información detallada sobre archivos de datos individuales, como su ubicación, valores de partición y estadísticas.
  • Motores de consultas y frameworks de procesamiento: son las herramientas que interactúan con las tablas de Iceberg para leer y escribir datos. Estos motores aprovechan los metadatos de Iceberg para optimizar la planificación y la ejecución de consultas.
  • Recursos de computación: son la infraestructura subyacente (por ejemplo, máquinas virtuales y contenedores) que ejecutan los motores de consultas y los frameworks de procesamiento.

Apache Iceberg y data lakes

Apache Iceberg mejora significativamente las funciones de los data lakes al añadir un formato de tabla fiable y eficaz. En los lagos de datos tradicionales que no tienen un formato de tabla como Iceberg, los datos suelen ser solo una colección de archivos. Esto puede dar lugar a varios problemas:

  • Falta de evolución de esquemas: cambiar la estructura de los datos puede ser complejo y dar lugar a errores
  • Lecturas inconsistentes: las operaciones de escritura simultáneas pueden hacer que las consultas lean una mezcla de datos antiguos y nuevos
  • Rendimiento lento de las consultas: sin metadatos que orienten a los motores de consultas, a menudo tienen que analizar grandes porciones de datos
  • Dificultad para gestionar los datos: las funciones, como el viaje en el tiempo y la gestión de versiones, no están disponibles fácilmente.

Iceberg aborda estas limitaciones proporcionando una capa estructurada encima del data lake. Aporta funciones similares a las de una base de datos a los data lakes, convirtiéndolos en data lakehouses más potentes y fáciles de gestionar. Al gestionar las tablas como colecciones de archivos con metadatos detallados, Iceberg permite:

  • Acceso a datos fiable y coherente: las propiedades ACID garantizan la integridad de los datos
  • Procesamiento de consultas eficiente: el uso de metadatos para omitir y filtrar datos agiliza las consultas
  • Gestión de datos flexible: la evolución de esquemas y el viaje en el tiempo simplifican el mantenimiento y el análisis de datos
  • Interoperabilidad: Iceberg está diseñado para ser compatible con varios motores de consultas y frameworks de procesamiento que se suelen usar con los data lakes.

Soluciona los retos empresariales que se te presenten con Google Cloud

Los nuevos clientes reciben 300 USD en crédito sin coste para invertirlos en Google Cloud.
Habla con un especialista del equipo de ventas de Google Cloud sobre tus necesidades específicas con más detalle.

Google Cloud y Apache Iceberg

Google Cloud proporciona un entorno sólido para aprovechar Apache Iceberg. Varios servicios de Google Cloud se integran bien con Iceberg, lo que permite a los usuarios crear soluciones de data lakehouse potentes y escalables.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito sin coste económico y más de 20 productos que siempre se ofrecen sin coste.

Google Cloud