リリースノート

Snowflakeオープンカタログの最新リリースの概要。

2024年10月18日

Snowflakeオープンカタログ - 一般公開

このリリースにより、これまではPolaris Catalogと呼ばれ、プレビュー機能として利用可能であったSnowflakeオープンカタログの一般公開をお知らせします。一般公開に伴い、以下の更新を行いました。

  • サービス管理者がオープンカタログアカウントの追加ユーザーを作成できるようになりました。これらのユーザーは、オープンカタログのウェブインターフェイスを通じてアカウントを管理できます。詳細については、ユーザーの管理をご参照ください。

  • カタログ管理者は、カタログ内の個々の名前空間またはテーブルをセキュリティ保護できるようになりました。引き続きカタログレベルでカタログをセキュリティ保護することもできます。詳細については、カタログのセキュリティ保護をご参照ください。

  • Snowflakeオープンカタログでテーブルのスキーマを表示する際に、列のネストされたスキーマを表示できるようになりました。詳細については、テーブルのスキーマを表示するをご参照ください。

  • オープンカタログの課金サポートが追加されましたが、2025年4月30日までは無料でオープンカタログをご利用いただけます。詳細については、請求をご参照ください。

2024年8月8日

このリリースでは、オープンカタログの新しく強化された機能をご利用いただけるようになりました。

Snowflakeはネストされた名前空間を持つテーブルへのクエリをサポートするようになりました

以前、Snowflakeはネストされた名前空間にあるオープンカタログに登録されたテーブルを読み取りできない可能性があるという制限を記載していました。Snowflakeはネストされた名前空間にあるテーブルのクエリをサポートするようになりました。例えば、ネストされた名前空間 namespace1.namespace1a.namespace1ab を作成すると、Snowflakeは名前空間 namespace1ab にグループ化されたテーブルを読み取ることができます。詳細については、名前空間の作成をご参照ください。

2024年7月30日

今回のリリースでは、Snowflakeでホストされるオープンカタログの最初の公開プレレビューリリースを発表します。

Apache Iceberg™ Rest API

オープンカタログは、Apache Iceberg Rest Catalog API を提供し、Apache Iceberg™ Restカタログ仕様をサポートするあらゆるクエリエンジンのサポートを可能にします。

認証

ユーザーは、クライアント ID とクライアントシークレットのサービス認証情報を提供するサービス接続を作成できます。これらの認証情報は、 OAuth 2.0による認証に使用されます。

オープンカタログのユーザーインターフェイス

オープンカタログには、カタログの管理を簡素化するためのウェブアプリケーションが用意されています。UI 内で、ユーザーはカタログ、サービスプリンシパル、およびサービスプリンシパルの権限を管理できます。

ロールベースのセキュリティモデル

ロールベースのアクセス制御(RBAC)セキュリティモデルが含まれているため、顧客は各ユーザーまたはユーザーグループがカタログで許可されるアクセスのレベルを管理することができます。詳細については、アクセス制御をご参照ください。

認証情報のベンディング

データが存在するストレージオブジェクトへのアクセスは、オープンカタログによって管理されます。ユーザーがテーブルへのアクセスをリクエストすると、読み取りであれ書き込みであれ、一時的にスコープされたストレージ認証情報が生成され、呼び出しエンジンに引き渡されます。これはストレージ内にでデータがあるフォルダーへの適切なアクセス許可を提供します。

オープンカタログのSnowflakeウェアハウスカタログ統合

オープンカタログの新しいカタログ統合がSnowflake内で利用可能です。このカタログ統合により、ユーザーはオープンカタログにあるクエリ用テーブルにポイントしている管理されていないApache Iceberg™を作成することがでます。

考慮事項と制約

次の考慮事項と制限はオープンカタログに適用され、変更される可能性があります。

サインアップ

  • オープンカタログにサインアップできるのは、Snowflakeのお客様のみです。

カタログ

  • オープンカタログは現在、以下のいずれかを使用するApache Iceberg™テーブルをサポートしています。

    • Icebergカタログとしてのオープンカタログ

    • IcebergカタログとしてのSnowflake。Snowflake以外の外部Icebergカタログは現在サポートされていません。他の外部カタログからIcebergテーブルを追加する場合は、移行する必要があります。

  • GlueやTabularなどのベンダーから既存のIcebergテーブルをオープンカタログの内部カタログにインポートすることはできませんが、外部カタログに追加することはできます。

  • Snowflakeはクエリできますが、オープンカタログが管理するテーブルには書き込みできません。

  • 外部カタログで利用可能なSnowflake Icebergテーブルは、オープンカタログでは読み取り専用です。

  • 内部カタログの場合、名前空間をまたいでテーブル名を変更することはできません。例えば、テーブル名を /mytables/ns1/table1 から /mytables/ns2/table1 に変更することはできません。

  • 内部カタログまたは外部カタログを作成する場合、デフォルトのベースロケーションや、別のカタログのディレクトリ階層と重複する許可されたロケーションを指定することはできません。例えば、catalog1のデフォルトのベースロケーションが s3://mytables/db1/schema1/table1 の場合、新しいカタログのデフォルトのベースロケーションを s3://mytables/db1/ として指定することはできません。

アクセス制御

  • テーブルのスコープ指定されたアクセスポリシーは、 <table_base>/metadata/ および <table_base>/data/ ディレクトリに限定されます。

Iceberg

  • registerTable API を呼び出す際、親名前空間ディレクトリの外にある場所にテーブルを登録することはできません。例えば、カタログのフォルダー階層が s3://teambucket/iceberg/namespace1/namespace1a/ の場合、 mytbl3 を、ベースロケーション s3://teambucket/iceberg/namespace1 を使用して作成できません。例えば、ベースロケーション s3://teambucket/iceberg/namespace1/mytbl3 を使用して作成できます。

  • dropTable API を呼び出し、 purgeRequested パラメーターを true に設定してテーブルのデータとメタデータのパージをリクエストすると、オープンカタログは以下の項目を削除するために最善の努力をします。

    • テーブルに関連するすべてのデータとメタデータファイル

    • テーブルのストレージディレクトリ

    ただし、これらの項目の中には削除されないものがある可能性があります。その場合は、外部クラウドストレージに移動し、孤立したファイルまたはストレージディレクトリを自分で特定し、削除してください。