AWS apostó por el formato de tabla abierta (OTF) Apache Iceberg en su pila de análisis, aprendizaje automático y almacenamiento como una respuesta concertada a la demanda de los clientes que ya utilizan su popular almacenamiento de objetos S3.
Si bien existe un consenso cada vez mayor en torno a Iceberg, persisten dudas sobre el futuro de su rival OTF Delta Lake, creado por Databricks y de código abierto bajo la dirección de la Fundación Linux, y actualmente el formato elegido entre los gigantes del software Microsoft y SAP.
Pero para el mayor proveedor de plataformas en la nube del mundo, Iceberg es un trato cerrado hasta que los clientes de su servicio S3 digan lo contrario.
La importancia de la postura se debe a un par de hechos. S3 disfruta alrededor 23 por ciento de participación de mercado en el mercado global de software de almacenamiento de datos empresariales y AWS es recibirá 105 mil millones de dólares en ingresos anualesconvirtiéndolo de alguna manera en el mayor proveedor de infraestructura en la nube.
La importancia de Iceberg también está marcada por la decisión de Databricks de pagar mil millones de dólares (tal vez $2 mil millones) para Tabular, la empresa fundada por los autores originales de Iceberg, sin siquiera echar mano de la tecnología, que es de código abierto.
Andy Warfield, vicepresidente de AWS e ingeniero distinguido, dijo El Registro: «Estamos trabajando directamente con Iceberg. Tenemos responsables principales en la pila de código abierto de Iceberg, por lo que AWS es un responsable activo del propio Iceberg, donde estamos dando forma a las API y trabajando con las otras personas que trabajan en Iceberg. Hemos Realmente hemos ido (en esa) dirección, como lo hacemos con todo, porque es lo que vimos hacer a nuestros clientes de análisis más importantes en S3.
«Si los clientes nos llevan en diferentes direcciones, obviamente exploraremos agregar soporte para esas cosas. Pero por ahora, Iceberg ha surgido como una dirección realmente atractiva en términos de su diseño, pero también una dirección popular y bien respaldada para construir este tipo. de soporte estructurado en almacenamiento.»
A finales del año pasado, AWS anunció las tablas S3un nuevo tipo de depósito de almacenamiento que Warfield describió como «una tabla Iceberg administrada». Proporciona un catálogo Iceberg, en el que los usuarios pueden crear espacios de nombres y tablas; cada tabla es un recurso de primera clase. Los usuarios pueden acceder a la política de control y a la política de seguridad en el mesa misma.»
AWS dijo anteriormente que debido a que el depósito estaba preparticionado, ofrecería un aumento de rendimiento de acceso 10 veces mayor. AWS también ejecuta automáticamente todas las tareas de mantenimiento y optimización en secreto.
El iceberg se originó en 2015. cuando Netflix completó su transición de un almacén de datos y una pila de análisis local a uno basado en el almacenamiento de objetos AWS S3, que intentó consultar a través de Hive Tables hasta que encontró problemas de rendimiento y «algunos comportamientos muy sorprendentes».
Los desafíos llevaron al equipo a desarrollar el formato de tabla abierta Iceberg diseñado para cargas de trabajo analíticas a gran escala y al mismo tiempo compatible con motores de consulta como Spark, Trino, Flink, Presto, Hive e Impala. Prometió ayudar a las organizaciones a incorporar el motor de análisis de su elección a sus datos sin tener que afrontar los gastos y las molestias de trasladarlo a un nuevo almacén de datos. Iceberg fue donado a la Apache Software Foundation como un proyecto de código abierto en noviembre de 2018. Desde principios de 2022, ha obtenido el apoyo vocal de los grandes almacenes y lagos de datos, incluidos Google, Snowflake y Cloudera.
En 2023, AWS hizo su primer anuncio público sobre Iceberg, mostrando una vista previa del soporte para permitir a los usuarios emplear su almacén de datos nativo de la nube, Redshift, para ejecutar consultas analíticas en tablas de Iceberg en lagos de datos externos, pero solo si eran tablas nuevas, no tablas. convertido de parquet a iceberg.
Warfield dijo que el interés en Iceberg comenzó a crecer hace unos tres años cuando los usuarios de S3 y AWS lidiaron con el problema de crear una representación de datos similar a una base de datos en S3. Abordaron este problema separando columnas y creando una representación en los llamados grupos de filas, evitando tener que consultar todo el archivo. Si bien el enfoque generó beneficios, también tuvo un costo.
«El parquet mejoró mucho de esa manera», dijo Warfield. «Obtuvimos esta representación de datos mucho más amigable con las bases de datos, pero debido a que S3 es inmutable, una vez que escribías tu tabla en Parquet, no podías hacer ninguna de las cosas que la gente estaba acostumbrada a hacer con las bases de datos en términos de mutaciones. «No podía actualizarlo y, en el mejor de los casos, lo que estábamos viendo, hasta hace tres años, antes de la introducción de los OTF, era que los datos eran totalmente estáticos y la gente agregaba archivos Parquet adicionales».
Iceberg y otros OTF añaden una capa de metadatos a las estructuras de Parquet. Iceberg crea un nodo raíz que apunta a la vista actual de la tabla almacenando nuevos metadatos, normalmente como archivos JSON. Un nuevo nodo raíz puede actuar como una actualización atómica de la base de datos, ya que mueve la vista de la tabla que el cliente ve de los datos.
«Puedes hacer estas actualizaciones relativamente pequeñas, pero haces que la tabla sea completamente mutable», dijo Warfield. «Hace dos años, esas conversaciones con los clientes pasaron de simplemente jugar a Parquet, a veces con Hive como metastore encima, a disfrutar realmente de sumergirse y hacer cosas con Iceberg».
La encarnación de AWS de su enfoque hacia Iceberg viene con S3 Tables, pero también en Sagemaker, la plataforma de aprendizaje automático, que ha sido reposicionada para acomodar algunos aspectos de almacenamiento de datos, análisis y lagos de datos.
«Desde la perspectiva del equipo de almacenamiento de S3, están muy entusiasmados con S3 Tables porque cualquier persona con estos datos altamente estructurados que los coloca aquí de repente obtiene la capacidad de trabajar con ellos desde básicamente cualquier herramienta de análisis o aprendizaje automático y también desde sus propias aplicaciones. Y desde Desde la perspectiva de Sagemaker, admitir las API de Iceberg significa que ahora pueden trabajar no solo con S3 y tablas S3, sino también con cualquier dato almacenado en Iceberg en cualquier lugar», dijo Warfield.
Dado que Snowflake, Google y muchos otros proveedores también se han sumado a Iceberg, la medida promete facilitar la integración con proyectos ya iniciados con otras tecnologías. También tiene implicaciones para Redshift de AWS, sobre el cual los clientes han estado construyendo proyectos durante más de diez años.
El almacén de datos de AWS tiene su propio enfoque de almacenamiento, Redshift Managed Storage (RMS), que, según Warfield, era el intento del proveedor de la nube de resolver algunos de los problemas que también abordan los OTF. Con el catálogo Sagemaker Lakehouse, estos datos estarán abiertos a un conjunto más amplio de herramientas de análisis fuera del portafolio de AWS, siempre que admitan las API de Iceberg.
«Con la introducción del soporte del catálogo REST de Iceberg dentro del catálogo Sagemaker Lakehouse, el equipo de análisis ha abierto la posibilidad de que cualquier plataforma de análisis acceda a RMS, lo que supone una gran mejora en la flexibilidad y el acceso a esos datos. Por el contrario, Redshift, a través del catálogo Iceberg REST, puede funcionar con cualquier almacenamiento Iceberg», afirmó.
Al adoptar Iceberg en su cartera de almacenamiento, análisis y aprendizaje automático, AWS está aportando su granito de arena para impulsar a Iceberg a cumplir su promesa inicial.
«Todo esto realmente está siendo impulsado por la voz resonante de muchos de nuestros clientes que realizan análisis. Tienen datos en todo tipo de lugares y tienen equipos que tienen preferencias por diferentes herramientas. Hay muchas nuevas adopciones. y una enorme inversión entre los usuarios para garantizar que cualquier herramienta funcione con cualquier dato y que cualquier dato esté disponible para todas las herramientas», afirmó Warfield.
Quedan dudas sobre el enfoque de Microsoft en su plataforma Fabric. El proveedor omnipresente promete cierto grado de integración con Iceberg, aunque Delta seguirá siendo su formato de tabla nativo.
Databricks ha hablado de tratando de fusionar Delta e Iceberglo cual admite que podría llevar algunos años y, en cualquier caso, dependería del gobierno de Apache sobre Iceberg, que Databricks no controla.
Un ex gerente de ingeniería de software de Apple, donde se dice que Iceberg está de pared a pared, dijo que adoptar Iceberg como estándar de facto, en lugar de fusionar los dos estándares, sería una mejor opción. El responsable de Iceberg y miembro de PMC, Russel Spitzer, quien recientemente se unió a Snowflake como ingeniero principal, dijo El Registro en octubre esperaba que todos los proveedores usaran Iceberg bajo el capó para eliminar los formatos de tabla como punto de diseño.
Warfield dijo que AWS habló con Databricks ya que construye sistemas sobre S3 y estaba trabajando para garantizar que todos los datos que los usuarios tienen en cualquiera de estas plataformas de análisis estén disponibles para todos y puedan funcionar en todos los sistemas.
Pero desde que el gigante de la nube renovó su compromiso con Iceberg, la pelota permanece firmemente en la cancha de Databrick. ®