Ya está aquí Snowflake Intelligence

La información empresarial al alcance de todos los empleados

¿Qué son las tablas de Apache Iceberg?

Los formatos de tabla compatibles con las transacciones ACID, como Apache Iceberg, ayudan a que las estrategias de data lakes y data mesh sean soluciones rápidas y eficaces para consultar datos a escala.

  • Descripción general
  • Cómo los formatos de tabla optimizan los data lakes
  • ¿Qué es Apache Iceberg?
  • Ventajas de Apache Iceberg
  • Recursos

Descripción general

Los formatos de tabla compatibles con las transacciones ACID, como Apache Iceberg, ayudan a que las estrategias de data lakes y data mesh sean soluciones rápidas y eficaces para consultar datos a escala. Con el formato de tabla adecuado, las organizaciones pueden aprovechar todo el potencial de sus datos gracias al rendimiento, la interoperabilidad y la facilidad de uso. El formato de tabla de Iceberg es único entre las distintas opciones de código abierto, ya que funciona con distintos motores y formatos de archivo, y además es un proyecto de código abierto colaborativo y transparente. A continuación, vamos a ver las ventajas de usar un formato de tabla abierto para analizar grandes conjuntos de datos y los motivos por los que Iceberg se ha convertido rápidamente en uno de los formatos de tabla de código abierto más populares.

Cómo los formatos de tabla optimizan los data lakes

Los data lakes son ideales para almacenar grandes cantidades de datos estructurados, semiestructurados y no estructurados en formatos de archivo nativos. Proporcionan a las organizaciones una forma integral de explorar, refinar y analizar petabytes de información que llegan constantemente de distintas fuentes de datos. 

Sin embargo, los archivos individuales de un data lake no contienen la información suficiente que necesitan los motores de consultas y otras aplicaciones para hacer podas, Time Travel, evolución de esquemas y mucho más de forma eficaz. Por ese motivo, hacer tareas de gestión de este tipo resulta difícil y requiere mucho tiempo. Los formatos de tabla abordan estos problemas al proporcionar metadatos que permiten emplear capacidades y funcionalidades similares a las que ofrecen las tablas SQL en las bases de datos relacionales tradicionales. Definen explícitamente una tabla, su esquema, su historial y cada archivo que la compone. Además, los formatos de tabla como Iceberg facilitan el cumplimiento de ACID, lo que permite que varias aplicaciones trabajen simultáneamente con los mismos datos de forma segura.

¿Qué es Apache Iceberg?

Iceberg es un formato de tabla de código abierto desarrollado originalmente por Netflix para afrontar diversos desafíos que planteaba el proyecto Hive Hadoop de Apache. Tras el desarrollo inicial en 2018, Netflix donó Iceberg a la Apache Software Foundation como un proyecto plenamente de código y gestión abiertos. Soluciona muchas de las deficiencias de su predecesor y se ha convertido rápidamente en uno de los formatos de tabla de código abierto más populares.

Ventajas de Apache Iceberg

El formato de tabla de Iceberg ofrece muchas funciones que ayudan a impulsar la arquitectura de data lake. 

  • SQL expresivo: Iceberg ofrece una compatibilidad total con los comandos SQL flexibles. Gracias a ello, permite hacer tareas como actualizar filas existentes, fusionar nuevos datos y eliminar información de manera selectiva. Iceberg puede usarse para reescribir archivos de datos y mejorar el rendimiento de lectura, así como para emplear deltas de eliminación con el fin de acelerar las actualizaciones.
  • Evolución de esquemas: Iceberg admite una evolución completa de los esquemas. Al modificar un esquema en una tabla de Iceberg, solo se cambian los metadatos, sin alterar los archivos de datos en sí. Entre los cambios en la evolución de los esquemas se incluyen las adiciones, las eliminaciones, los cambios de nombre, las reordenaciones y las promociones de tipos.
  • Evolución de particiones: Las particiones dividen las tablas grandes en otras más pequeñas agrupando filas similares, lo que acelera los tiempos de lectura y carga de las consultas que solo necesitan acceder a una parte de los datos. Una especificación de una partición puede evolucionar sin que los datos previos escritos con una especificación anterior se vean afectados. Los metadatos asociados a cada versión de partición se almacenan por separado.
  • Time Travel y reversión: La función Time Travel de Iceberg hace posible ejecutar consultas reproducibles en la misma instantánea de tabla y permite que los usuarios revisen los cambios anteriores. Esta capacidad de reversión permite a los usuarios corregir errores fácilmente restableciendo las tablas a su estado anterior. 
  • Coherencia transaccional: Los datos almacenados en una arquitectura de data lake o data mesh están disponibles para distintas aplicaciones independientes de una organización de forma simultánea. Aunque se trata de una ventaja significativa, también puede conllevar importantes riesgos, especialmente si varios usuarios escriben en los mismos datos a la vez. Sin embargo, Iceberg hace posibles las transacciones ACID a escala, lo que permite que haya varias personas trabajando al mismo tiempo. La compatibilidad con ACID ayuda a garantizar que los lectores no se vean afectados por cambios parciales o sin confirmar de los escritores. Cuando un escritor confirma un cambio, se crea una nueva versión inmutable de los archivos de datos y de los metadatos de la tabla en Iceberg.
  • Consultas más rápidas: Iceberg se ha diseñado para usarse con conjuntos de datos analíticos enormes. Ofrece varias funciones pensadas para aumentar la rapidez y la eficiencia de las consultas, como la planificación rápida del escaneo, la poda de archivos de metadatos que no se necesitan y la capacidad de filtrar archivos de datos que no contienen datos coincidentes.
  • Una comunidad vibrante de colaboradores y usuarios activos de Apache ORC: Iceberg es uno de los proyectos estrella de la Apache Software Foundation. Su compatibilidad con varios motores de procesamiento y formatos de archivo, como Apache Parquet, Apache Avro y Apache ORC, ha atraído a un grupo diverso de usuarios comerciales con talento dispuestos a contribuir a que su éxito continúe.