Release notes

Overview of the most recent releases of Polaris Catalog™.

August 8, 2024

With this release, we are pleased to announce the availability of the following new enhancements in this update to Polaris Catalog.

Snowflake now supports queries on tables with nested namespaces

Previously, we listed a limitation where Snowflake couldn’t read tables registered in Polaris Catalog that are located under a nested namespace. Snowflake now supports querying tables located under a nested namespace. For example, if you create a nested namespace namespace1.namespace1a.namespace1ab, Snowflake can read tables grouped under the namespace1ab namespace. For more information, see Create a namespace.

July 30, 2024

With this release, we are pleased to announce the initial public preview release of the Polaris Catalog hosted on Snowflake with the following features.

Apache Iceberg™ Rest API

Polaris Catalog provides an Apache Iceberg Rest Catalog API, which enables support for any query engine that supports the Apache Iceberg™ Rest catalog specification.

Authentication

Users can create service connections that provide a Client ID and Client Secret service credentials. These credentials are used for authentication by using OAuth 2.0.

Polaris Catalog™ User Interface

Polaris Catalog is provided with a web application to simplify the management of the catalog. Within the UI, users can manage catalogs, service principals, and the privileges for service principals.

Role Based Security Model

A role-based access control (RBAC) security model is included, so customers can manage the level of access each user or user group is allowed on the catalog. For more information, see Access control.

Credential Vending

Access to the storage objects where the data resides is managed by Polaris Catalog. When a user requests access to a table, whether for read or write, a temporary scoped storage credential is generated and passed back to the calling engine, which provides the appropriate access permissions to the folder in which the data resides within the storage.

Snowflake Warehouse Catalog Integration for Polaris Catalog

A new catalog integration for Polaris Catalog is available within Snowflake. This catalog integration allows users to create unmanaged Apache Iceberg™ tables that point to tables that reside in Polaris Catalog for querying.

Considerations and limitations

The following considerations and limitations apply to Polaris Catalog, and are subject to change:

  • Only Snowflake customers can sign up for Polaris Catalog.

  • Polaris Catalog currently supports Apache Iceberg™ tables that use either:

    • Polaris Catalog as the Iceberg catalog

    • Snowflake as the Iceberg catalog. External Iceberg catalogs other than Snowflake aren’t currently supported. If you want to add Iceberg tables from other external catalogs, you must migrate them.

  • You can’t import existing Iceberg tables from vendors such as Glue or Tabular into an internal catalog in Polaris Catalog, but they can be added to external catalogs.

  • Snowflake can’t write to tables in Polaris Catalog that were created by other engines.

  • Snowflake Iceberg tables, which are available in external catalogs, are read only in Polaris Catalog.

  • For internal catalogs, you can’t rename a table across namespaces. For example, you can’t rename a table from /mytables/ns1/table1 to /mytables/ns2/table1.

  • When creating an internal or external catalog, you can’t specify a default base location or allowed location that overlaps with the directory hierarchy for a different catalog. For example, if the default base location for catalog1 is s3://mytables/db1/schema1/table1, you can’t specify the default base location for your new catalog as s3://mytables/db1/.

  • The scoped access policy for a table is limited to the <table_base>/metadata/ and <table_base>/data/ directories.

  • When calling the registerTable API, you can’t register a table in a location that is outside of the parent namespace directory. For example, if the folder hierarchy for a catalog is s3://teambucket/iceberg/namespace1/namespace1a/, you can’t create mytbl3 with a base location s3://teambucket/iceberg/namespace1. You can create it, for example, with a base location s3://teambucket/iceberg/namespace1/mytbl3.