¿Qué es Apache Iceberg?

Última actualización: 1/5/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 administran los datos como colecciones de archivos, lo que ofrece confiabilidad, rendimiento y flexibilidad mejorados para las arquitecturas de datos modernas. Piensa en ella como una capa inteligente que se encuentra sobre el almacenamiento de tu data lake, como Cloud Storage, y que proporciona capacidades similares a las de una base de datos para tus conjuntos de datos masivos. En lugar de administrar archivos, Iceberg administra tablas como colecciones de archivos de datos, lo que permite funciones como la evolución de esquemas, el viaje en el tiempo y una planificación de consultas más eficiente. Esto permite a los analistas, ingenieros y científicos de datos trabajar con datos en data lakes 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 gran escala, sino que también admite operaciones transaccionales para garantizar que los datos sean precisos y coherentes. Las tablas de Iceberg habilitan estas propiedades, que se conocen en conjunto como ACID.

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

Casos de uso comunes para tablas Iceberg

Las tablas de Iceberg son adecuadas para una variedad de casos de uso modernos de data lakes y lakehouses, incluidos los siguientes:

  • Cumplimiento y privacidad: Ideal para data lakes que requieren eliminaciones frecuentes para aplicar las leyes de privacidad de los datos
  • Actualizaciones a nivel de registro: Permite actualizar registros individuales sin volver a publicar conjuntos de datos completos, como datos de ventas que cambian debido a devoluciones de clientes
  • Administración de cambios impredecibles: Admite tablas de dimensiones que cambian lentamente (SCD), como registros de clientes en los que la información de contacto puede cambiar en intervalos desconocidos
  • Viaje en el tiempo y auditoría: Mantiene un historial de instantáneas de tablas, lo que permite a los usuarios consultar versiones históricas para el análisis de tendencias o revertir y corregir problemas
  • Aprendizaje automático: Proporciona conjuntos de datos coherentes y con versiones que son fundamentales para entrenar modelos confiables

¿Quiénes usan tablas de Iceberg?

Varios perfiles técnicos aprovechan las tablas de Iceberg para administrar grandes conjuntos de datos de manera eficiente:

  • Ingenieros y administradores de datos: Usan tablas de Iceberg para diseñar y crear sistemas de almacenamiento escalables y confiables.
  • Analistas y científicos de datos: Usan tablas Iceberg para analizar conjuntos de datos masivos con la familiaridad de SQL y snapshots históricos reproducibles.

Beneficios clave de las tablas de Iceberg

Permite que los usuarios familiarizados con SQL estándar realicen operaciones complejas de data lake sin aprender un nuevo lenguaje.

Permite realizar cambios sin problemas en las estructuras de datos (agregar, cambiar el nombre o quitar columnas) sin interrumpir las consultas.

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

Usa metadatos para reducir los archivos innecesarios, lo que acelera la ejecución de consultas a través de técnicas como lel pushdown de predicados.

Es 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 ubica sobre los archivos de datos en tu data lake. Estos metadatos hacen un seguimiento de la estructura y el contenido de tus tablas de una forma más organizada y sólida que los sistemas tradicionales basados en archivos. Estos son los mecanismos clave:

  • Administració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 depende de un catálogo para hacer un seguimiento 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 la tabla: Cada vez que se realiza un cambio en la tabla (por ejemplo, agregar datos, borrar datos o evolución del 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 manifiesto: Cada instantánea apunta a una lista de manifiestos, que a su vez enumera uno o más archivos de manifiestos. Los archivos de manifiesto contienen metadatos sobre archivos de datos individuales, incluida su ubicación, valores de partición y estadísticas (como recuentos de filas y rangos de valores).

Arquitectura de Apache Iceberg

La arquitectura de Apache Iceberg incluye varios componentes clave que trabajan en conjunto:

  • Almacenamiento de data lakes: Esta es la capa de almacenamiento subyacente, como Cloud Storage, donde se almacenan los archivos de datos (en formatos como Parquet, ORC o Avro) y los archivos de metadatos de Iceberg.
  • Catálogo de Iceberg: Este componente es responsable de administrar los indicadores de metadatos para las tablas de Iceberg. Actúa como un registro central que hace un seguimiento de la versión actual de los metadatos de cada tabla. Las implementaciones de catálogos comunes incluyen los siguientes componentes:
  • Almacén de metadatos de Hive: Un repositorio de metadatos muy utilizado, que a menudo se emplea con sistemas basados en Hadoop.
  • Catálogo del sistema de archivos: Una implementación simple 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 administrados que ofrecen los proveedores de servicios en la nube para almacenar y administrar metadatos.
  • Metadatos de iceberg: Consiste en varias capas de archivos de metadatos que hacen un seguimiento de la estructura y los datos de la tabla:
  • Archivo de metadatos de la tabla: Este archivo apunta a la lista de manifiesto actual y contiene información general sobre la tabla, como su esquema y la especificación de partición.
  • Lista de manifiestos: Este archivo enumera los archivos de manifiesto que contienen metadatos sobre los archivos de datos en una instantánea específica de la tabla.
  • Archivos de manifiesto: Estos archivos contienen información detallada sobre archivos de datos individuales, incluidos su ubicación, valores de partición y estadísticas.
  • Motores de consultas y frameworks de procesamiento: Los motores de procesamiento interactúan directamente con los metadatos de Iceberg para leer, escribir y ejecutar transacciones ACID. Los frameworks de código abierto como Apache Spark usan estos metadatos para omitir archivos innecesarios y acelerar la ejecución de consultas.
  • Recursos de procesamiento: 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 los data lakes

Apache Iceberg mejora significativamente las capacidades de los data lakes con la adición de un formato de tabla confiable y de alto rendimiento. En los data lakes tradicionales sin un formato de tabla como Iceberg, los datos suelen ser solo una colección de archivos. Esto puede generar varios desafíos:

  • Falta de evolución del esquema: Cambiar la estructura de los datos puede ser complejo y propenso a errores
  • Lecturas inconsistentes: Las operaciones de escritura simultáneas pueden provocar que las consultas lean una combinación de datos nuevos y antiguos
  • Rendimiento de la consulta lento: Como no hay metadatos para guiar a los motores de consultas, a menudo tienen que analizar grandes porciones de los datos
  • Dificultad con la administración de datos: Funciones como el viaje en el tiempo y el control de versiones no están disponibles

Iceberg aborda estas limitaciones proporcionando una capa estructurada sobre el data lake. Aporta funciones similares a las de una base de datos a los data lakes, con lo que los transforma en data lakehouses más potentes y fáciles de administrar. Al administrar las tablas como colecciones de archivos con metadatos enriquecidos, Iceberg permite lo siguiente:

  • Acceso a datos confiable y coherente: Las propiedades ACID garantizan la integridad de los datos
  • Procesamiento de consultas eficiente: El filtrado y omisión de datos basados en metadatos aceleran las consultas
  • Administración de datos flexible: La evolución del esquema 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 usan comúnmente con data lakes.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.
Habla con un especialista en ventas de Google Cloud para analizar tu desafío único en 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.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud