La avalancha de Apache Iceberg: cómo el formato de tabla abierto cambia la cara de los data lakes

El almacenamiento de datos ha ido evolucionando, desde bases de datos hasta almacenes de datos y amplios data lakes, y cada arquitectura responde a diferentes necesidades empresariales y de datos. Las bases de datos tradicionales destacaban en cuanto a datos estructurados y workloads transaccionales, pero presentaban problemas de rendimiento a escala a medida que aumentaban los volúmenes de datos. El almacén de datos resolvía el rendimiento y la escala, pero, al igual que las bases de datos que lo precedieron, dependía de formatos propios para crear sistemas integrados verticalmente. Los sistemas de data lake pasaron a tener formatos más abiertos, pero carecían de las ventajas funcionales que proporcionan los almacenes, como las transacciones conformes con ACID, la gobernanza integral y mucho más. En última instancia, los usuarios se vieron atascados entre dos opciones: o bien una plataforma totalmente integrada con solo soluciones propias disponibles o bien un data lake propio que consumía muchos recursos, no dependía de proveedores y estaba en constante estado de migración, con la esperanza de capturar finalmente el valor prometido.
Ahora no tienes que elegir. Con la llegada y la amplia adopción de Apache Iceberg™, ha surgido el data lakehouse abierto, que combina lo mejor de los almacenes de datos y data lakes mediante la desvinculación del almacenamiento abierto y el cómputo para dotar a los equipos de datos de la flexibilidad y el control de las arquitecturas abiertas y el alto rendimiento de los almacenes de datos. Este es el motivo por el que Snowflake está adoptando plenamente este formato de tabla abierto. Ahora, los clientes pueden beneficiarse de la ventaja de almacenar datos en un formato totalmente abierto e interoperable, al tiempo que aprovechan la potencia de la plataforma sencilla, conectada y fiable de Snowflake. Como resultado, las organizaciones pueden acelerar sus estrategias de data lakehouse abierto y ofrecer analíticas avanzadas e IA más rápido.
¿Qué es Iceberg?
El núcleo de esta revolución de data lakehouse abierto es Iceberg, un formato de tabla de código abierto para workloads de analíticas de gran tamaño. Iceberg no es un motor de cómputo ni siquiera una base de datos. Es una descripción de cómo un conjunto de archivos puede comportarse como una tabla de base de datos. Dado que la descripción es abierta y no depende de ningún motor, una tabla de Iceberg es intrínsecamente neutral. Esta combinación de función y neutralidad en cuanto a proveedores está abriendo el camino a la siguiente etapa en la evolución de la arquitectura: el lakehouse abierto, donde el cómputo, el formato y el almacenamiento están desvinculados entre sí.
Las tablas de Iceberg se vuelven interoperables y, al mismo tiempo, cumplen con ACID (atomicidad, consistencia, aislamiento y durabilidad) al agregar una capa de metadatos a los archivos de datos en el almacenamiento de objetos de un usuario. Un catálogo externo realiza un seguimiento de los metadatos de tablas más recientes y ayuda a garantizar la coherencia entre varios lectores y escritores.

En pocas palabras: Iceberg es metadatos. Los archivos de datos se rastrean de forma individual, en lugar de a nivel de directorio, mediante archivos de manifiestos, listas de manifiestos y archivos de metadatos. Esta capa de metadatos bien coordinada significa que Iceberg no es víctima de algunos de los problemas más perniciosos a los que se enfrentan otros formatos de tabla comunes (p. ej., Apache Hive™) debido a su estricta dependencia de una estructura de directorio física.
¿Por qué deberías considerar Iceberg?
Sin la adopción de las tablas de Iceberg, los equipos de datos se ven obligados a dedicar una cantidad considerable de tiempo y recursos a gestionar las migraciones y la gobernanza antes de poder aprovechar las oportunidades que ofrecen las nuevas tecnologías y soluciones. Iceberg acaba con este compromiso. Al ofrecer un formato de almacenamiento totalmente interoperable que permite a los ingenieros de datos poseer y controlar su capa de almacenamiento, Iceberg ofrece la flexibilidad necesaria para aprovechar cualquier plataforma de datos o motor de cómputo moderno compatible. Esto significa que los equipos de datos pueden pasar de la idea a la ejecución en un tiempo récord, sin riesgos, y lograr un impacto a la velocidad que exigen las empresas actuales.
A continuación, explicamos cómo los equipos de datos pueden beneficiarse cuando basan sus arquitecturas de lakehouse abierto en tablas de Iceberg:
Mayor productividad de los desarrolladores: Iceberg permite a los desarrolladores e ingenieros de datos trabajar como si estuvieran utilizando una base de datos relacional estándar como Postgres, pero que puede ampliarse hasta petabytes de datos.
Capacidad de escribir una vez, leer en todas partes: Iceberg es compatible con todas las herramientas de analíticas más recientes sin migración. Cambia de motor o usa varios motores al mismo tiempo sin penalización.
Cómputo más rápido: La capa de metadatos de Iceberg está optimizada para el almacenamiento en la nube, lo que permite la poda anticipada de archivos y particiones con una sobrecarga de IO mínima.
Dado que es un estándar de código abierto, disponible para cualquier herramienta o motor, Iceberg puede aportar estas increíbles ventajas a cualquier organización. En última instancia, esta flexibilidad es ventajosa para ti.
Tener la mente más abierta
Snowflake siempre ha dado prioridad a sus usuarios. A medida que la tecnología sigue evolucionando, Snowflake sigue priorizando a sus clientes al respaldar iniciativas de código abierto. Las ventajas son claras: cuando los usuarios pueden elegir, salen ganando. Este compromiso con el código abierto se pone de relieve en las contribuciones de Snowflake a Iceberg para permitir una gestión eficiente y gobernada de data lake con evolución de esquemas, particiones y gestión de transacciones.
Aunque Iceberg especifica cómo deben comportarse los catálogos, la comunidad de Iceberg ha evitado de forma muy intencionada proporcionar uno. Dado que el catálogo gestiona los metadatos de la tabla y ayuda a garantizar la coherencia entre varios lectores y escritores, esta ausencia de un catálogo estandarizado creó el riesgo de reintroducir los problemas que Iceberg debía resolver. En concreto, obligaría de nuevo a las organizaciones a decidir entre dos opciones: implementar, gestionar y mantener un catálogo por sí mismas o aprovechar una solución de proveedor y, por tanto, volver a depender de uno. Al ver esta brecha, Snowflake redobló su compromiso con los estándares abiertos y el desarrollo impulsado por la comunidad mediante la creación de un catálogo de Iceberg, de código abierto, que lo donó a la Apache Software Foundation en julio de 2024, y que ahora es conocido como Apache Polaris (en incubación).
Polaris es un catálogo de código abierto de Iceberg con todas las funciones. Su diseño es neutral con respecto a los proveedores, y la estructura de gobernanza y el desarrollo impulsado por la comunidad de Polaris garantizan que siga siendo así. Polaris implementa REST API de Iceberg para garantizar la coherencia entre varios lectores y escritores, y proporciona un medio para actualizar atómicamente las tablas de un estado a otro.
Polaris no se queda ahí, sino que también ofrece un medio centralizado para proteger los datos de una organización. Creada inicialmente como un catálogo de Iceberg interoperable, la hoja de ruta de Polaris ahora incluye compatibilidad con una gama más amplia de formatos de datos y tipos de objetos de datos para ayudar a garantizar que los usuarios puedan catalogar todos sus datos desde un solo lugar.
Crear un data lakehouse abierto
El objetivo de Snowflake es ayudar a las organizaciones a establecer y acelerar sus aspiraciones de data lakehouse abierto para que puedan obtener más impacto con menos complejidad.
Cómo empezar:
Primero activa los datos almacenados en un proveedor de almacenamiento en la nube, sin dependencia, con la creación de tablas de Iceberg directamente a partir de archivos Parquet existentes en Snowflake.
Aplica controles integrales de seguridad y gobernanza en la plataforma de Snowflake a través de Horizon Catalog.
Gestiona el acceso multimotor seguro con Snowflake Open Catalog, un servicio totalmente gestionado para Polaris que conserva la opción de autogestión al mantener intactos los controles de acceso basados en roles (RBAC), los espacios de nombres y las definiciones, independientemente de dónde esté alojado el catálogo, lo que casi elimina la complejidad de la migración.
Además, el motor de datos elástico y sin operaciones de Snowflake sigue evolucionando con capacidades diseñadas específicamente para mejorar el rendimiento y la eficiencia de las consultas en las tablas de Iceberg. Los clientes se benefician de ventajas como las técnicas mejoradas de poda, que reducen las solicitudes de almacenamiento en la nube y aceleran la ejecución de consultas, y Adaptive Scan, que permite ejecutar consultas, que requieren un análisis intensivo, más rápidamente. Estas capacidades están disponibles de inmediato, sin necesidad de implementarlas de nuevo, lo que mejora el rendimiento y reduce la sobrecarga operativa.
Descubre cómo WHOOP está reinventando su arquitectura de datos con Snowflake y Iceberg, ahorrando 20 horas de cómputo cada día y mejorando la accesibilidad a los datos en toda la organización.
Más información
Únete a Snowflake en Iceberg Summit, un evento de dos días que se celebrará en San Francisco el 8 de abril y, de forma virtual, el 9 de abril. Estamos encantados de apoyar a la comunidad como patrocinador principal del evento inaugural.
Visita nuestro webinar Data Engineering Connect: Building Pipelines for Open Lakehouse el 29 de abril, con dos demostraciones virtuales y un laboratorio práctico.
Lee la guía “Modernización con un data lake en Snowflake”, donde te ofrecemos orientación de expertos para crear la base que permite aprovechar todo el potencial de los datos y la IA.
