В феврале проект Polaris стал официальным проектом фонда Apache. Polaris выполняет роль каталога для Apache Iceberg, управляя доступом к данным и версиями таблиц в архитектуре data lakehouse.

Apache Iceberg — это открытый формат таблиц, который превращает набор файлов Parquet в полноценную таблицу. Он поддерживает транзакции, эволюцию схемы и «путешествия во времени», позволяя работать с данными через Spark, Trino, ClickHouse и DuckDB.

Каталог критически важен для хранения указателя на актуальную версию таблицы. Он обеспечивает атомарность коммитов через механизм compare-and-swap, предотвращая потерю данных при одновременной записи, что особенно актуально для S3, где нет атомарного переименования.

Polaris, изначально созданный Snowflake, хранит метаданные в реляционной базе данных, чаще всего в PostgreSQL. Владение каталогом позволяет управлять правами доступа и временными ключами к хранилищу, определяя, какие движки могут работать с данными.

Работа без каталога в S3 приводит к тому, что параллельные процессы могут перезаписывать коммиты друг друга без ошибок в логах. Поэтому популярные движки, например Trino, требуют использования полноценных каталогов — Hive Metastore, Glue, REST, JDBC или Nessie — для обеспечения целостности.