In February, the Polaris project officially became an Apache Software Foundation project. Polaris serves as a catalog for Apache Iceberg, a role that manages data access and table versioning within a data lakehouse architecture.
Apache Iceberg is an open-source table format that organizes Parquet files into structured tables, enabling features like ACID transactions, schema evolution, and time travel. It allows multiple engines, such as Spark, Trino, ClickHouse, and DuckDB, to read and write data simultaneously.
The catalog is essential for maintaining the current table version pointer. It ensures atomic commits using a compare-and-swap mechanism, preventing data loss during concurrent writes, especially in S3 environments where atomic renaming is not natively supported.
Polaris, originally developed by Snowflake, stores its metadata in a relational database, typically PostgreSQL. By controlling the catalog, an organization manages access rights and temporary storage credentials, effectively governing which engines can interact with the data.
Without a catalog, concurrent processes writing to S3 can overwrite each other's commits without triggering errors. Consequently, major engines like Trino require a formal catalog implementation—such as Hive Metastore, Glue, REST, JDBC, or Nessie—to ensure data integrity.





