Presentamos Polaris Catalog: un catálogo de código abierto para Apache Iceberg
Los formatos de tabla y archivo de código abierto han suscitado un gran interés en el sector de los datos debido a su potencial de interoperabilidad, ya que permiten que muchas tecnologías trabajen de forma segura con una sola copia de los datos. Una mayor interoperabilidad no solo reduce la complejidad y los costes asociados al uso en paralelo de varias herramientas y motores de procesamiento, sino que también reduce los posibles riesgos que conlleva depender de un solo proveedor.
A pesar de la rápida adopción de los formatos de tabla y archivo de código abierto, existen muchas limitaciones interdependientes entre motores y catálogos, que generan una dependencia que merma el valor de los estándares abiertos de Iceberg. Esto deja a los ingenieros y arquitectos de datos con la difícil tarea de sortear estas limitaciones y tomar decisiones para elegir entre complejidad y dependencia. Con el objetivo de mejorar la interoperabilidad, la comunidad de Apache Iceberg ha desarrollado un estándar abierto de un protocolo REST en el proyecto Iceberg. La especificación API abierta supone un gran paso a favor de la interoperabilidad, y el ecosistema podría beneficiarse todavía más de implementaciones de catálogos de código abierto que permitan disfrutar de un almacenamiento que no dependa de ningún proveedor.
Hoy, Snowflake tiene el placer de anunciar Polaris Catalog para ofrecer tanto a las empresas como a la comunidad de Iceberg nuevos niveles de elección, flexibilidad y control sobre sus datos, con una completa seguridad empresarial e interoperabilidad entre Apache Iceberg y Amazon Web Services (AWS), Confluent, Dremio, Google Cloud, Microsoft Azure y Salesforce, entre otros. Polaris Catalog se basa en los estándares creados por la comunidad de Iceberg para afrontar los desafíos descritos en el párrafo anterior.
- En lugar de mover y copiar datos de diferentes motores y catálogos, puedes utilizar varios motores en paralelo en una sola copia de los datos desde un único lugar.
- Puedes alojarla en la infraestructura gestionada de Snowflake o en otra infraestructura de tu elección.
Polaris Catalog se convertirá en una solución de código abierto en los próximos 90 días, y pronto podrá ejecutarse en vista previa pública en la infraestructura de Snowflake. Dedicaremos el resto de esta entrada de blog a ofrecer más detalles sobre la funcionalidad y las opciones de alojamiento.
Interoperabilidad de lectura y escritura entre motores
Muchas organizaciones utilizan varios motores de procesamiento para workloads concretos o buscan la flexibilidad de añadir o cambiar motores de procesamiento fácilmente en el futuro. En cualquier caso, desean disponer de libertad para usar de manera segura varios motores en una sola copia de los datos para minimizar los costes de almacenamiento y cómputo que conlleva mover los datos o mantener varias copias.
Los catálogos son esenciales para adoptar una arquitectura de varios motores. Aportan fiabilidad a las operaciones en tablas, ya que permiten realizar transacciones atómicas. Esto significa que los ingenieros de datos y sus flujos pueden modificar las tablas al mismo tiempo, y las consultas a esas tablas producen resultados precisos. Para ello, todas las operaciones de lectura y escritura de tablas de Iceberg, incluso las que se realizan mediante diferentes motores, pasan por un catálogo.
Un protocolo de catálogo estandarizado para todos los motores permite disfrutar de interoperabilidad entre varios motores. Afortunadamente, la comunidad de Apache Iceberg ha creado una especificación de código abierto para un protocolo REST. Cada vez más catálogos y motores, tanto de código abierto como comerciales, están adoptando esta especificación REST API para beneficiarse de la interoperabilidad que ofrece.
Polaris Catalog implementa la REST API abierta de Iceberg para maximizar el número de motores que puedes integrar. Actualmente, entre esos motores se incluyen Apache Doris, Apache Flink, Apache Spark, PyIceberg, StarRocks y Trino. En el futuro, habrá disponibles otras opciones comerciales, como Dremio. También puedes usar Snowflake para leer Iceberg Tables y escribir en ellas con Polaris Catalog si quieres beneficiarte de las variadas opciones que ofrece Snowflake en cuanto a integraciones del catálogo con la REST API de Iceberg (pronto en vista previa pública).
Ejecución en cualquier infraestructura sin dependencia
Tienes dos opciones a la hora de ejecutar el catálogo de código abierto Polaris Catalog: alojarlo en la infraestructura de Snowflake AI Data Cloud (pronto en vista previa pública) o alojarlo en tu propia infraestructura (disponible próximamente) con contenedores como Docker o Kubernetes. Elijas la opción que elijas, no dependerás de nada ni nadie. Si quieres cambiar la infraestructura subyacente, puedes hacerlo libremente.
Ampliación de la gobernanza de Snowflake Horizon gracias a la integración con Polaris Catalog
Una vez configurada la integración entre Snowflake Horizon y Polaris Catalog, las capacidades de gobernanza y descubrimiento de Snowflake Horizon, como las funciones Column Masking Policies, Row Access Policies, Object Tagging y Sharing, se sumarán a Polaris Catalog. Así que, independientemente de si una Iceberg Table se crea en Polaris Catalog mediante Snowflake u otro motor, como Flink o Spark, puedes utilizar las funciones de Snowflake Horizon en esas tablas como si fueran objetos nativos de Snowflake.
Perspectivas de futuro
Polaris Catalog se ha diseñado a partir de los estándares de la comunidad de Apache Iceberg para que los clientes de Snowflake, así como el ecosistema de datos en general, disfruten de un almacenamiento totalmente interoperable. Vamos a usar nuestra experiencia como proveedores de una plataforma global entre nubes, en colaboración con la increíble comunidad de Iceberg que no para de crecer, para seguir mejorando juntos Polaris Catalog. Si quieres obtener más información sobre Polaris Catalog, asiste al AI Data Cloud Summit o inscríbete en este webinar para conocer las últimas novedades de la mano de nuestro equipo. Si quieres enterarte al instante cuando publiquemos el código de Polaris Catalog, regístrate y pulsa Watch en este repositorio de GitHub para recibir notificaciones.
Declaraciones prospectivas
Este artículo contiene declaraciones prospectivas, también sobre nuestras futuras ofertas de productos, que no implican que nos comprometamos a proporcionar ninguna oferta de producto. Los resultados y las ofertas reales pueden diferir y están sujetos a riesgos e incertidumbres conocidos y desconocidos. Consulta nuestro Formulario 10-Q más reciente para obtener más información.