SnowflakeのパブリックプレビューでApache Iceberg v3のサポートを発表

Apache Iceberg™は、相互運用可能なストレージのための業界標準フォーマットとして利用されています。 昨年6月にオープンソースコミュニティの成果として発表された 最新のIceberg v3テーブル仕様は、トップレベルのストレージ形式としての地位をさらに確固たるものにしました。この度、Iceberg v3サポートがSnowflakeでパブリックプレビュー中になったことを発表いたします。
この記事は、Iceberg v3のサポートが、Snowflakeの優れたパフォーマンスによりモダンなユースケースを直接実現し、オープンで相互運用可能なデータ戦略のための重要な前進であることを強調するものです。Snowflakeマネージドまたは外部マネージドのApache Iceberg™テーブルのどちらを標準としていても、パブリックプレビューでは、複雑なCDCパイプラインを可能にする行リネージや、構造化クエリ性能を備えた柔軟な半構造化データ型としてのバリアントの活用などの機能を利用できます。Snowflakeは、削除ベクトル、デフォルト値、地理空間データ(ジオメトリと地理)、ナノ秒のタイムスタンプもサポートしており、より多くのユースケースを活用できます。
Iceberg v3では、モダンユースケースを可能にする強力な新しいテーブルフォーマット機能が導入されています。しかし、真のエンタープライズ導入には、統合されたガバナンス、セキュリティ、事業継続性制御をサポートするプラットフォームが必要です。また、SnowflakeのHorizonカタログを基盤とするAIデータクラウドは、オープンで相互運用可能なレイクハウスにセキュアで一貫性のある高可用性プラットフォームを提供し、v3テーブルを初日から実稼働環境で利用できます。
Iceberg v3サポートのドキュメントで技術的な詳細をすぐに参照できます。またはこのガイドのハンズオン資料をご覧ください。
行リネージによる変更データキャプチャ
Iceberg v3では、ネイティブの行リネージメタデータが導入されています。以前のバージョンのIcebergでは、テーブルに加えられた変更が新規レコードか、削除済みレコードか、更新済みレコードかを特定する決定的な方法が共有されていなかったため、CDCのユースケースは非常に限定的か不可能でした。v3 Icebergテーブルへの書き込み処理で行リネージが必要になったことで、どのレコードにどのような変更が加えられたかについての共通理解がもたらされました。

Snowflakeは、v3 IcebergテーブルのダイナミックIcebergテーブルとストリームの内部で行リネージメタデータを活用し、オープンデータレイク上で直接、効率的かつ増分処理を実行してCDCのユースケースを強化します。特にダイナミックIcebergテーブルは、宣言型構文、自動オーケストレーション、インテリジェントでコスト効率の高いリフレッシュにより、CDCのユースケースを簡素化します。Snowflakeの行リネージのサポートには、Snowflakeマネージドと外部マネージドの両方のIcebergテーブルのINSERT、UPDATE、DELETE、MERGE操作が含まれます。

高速で柔軟な半構造化データ(バリアント)
Iceberg v3にバリアントデータ型が導入される前は、Icebergテーブルでの半構造化データの処理には効率性と柔軟性のトレードオフが必要でした。そのため、ユーザーはJSONを文字列として保存するか(クエリ時に低速で高コストのフルパースが必要)、またはnull可能な数千ものカラムを持つ硬直した幅広のスキーマとして保存する必要があり、スキーマ変更が頻繁に発生し、メタデータが膨らむ原因になっていました。バリアントの登場により、高パフォーマンスのバイナリエンコーディングを使用して、深くネストされた多様なデータを単一のカラムに格納できるようになりました。このエンコーディングにより、エンジンはブロッブ全体を解析することなく、ファイルのプルーニングやサブフィールドへのフィルターのプッシュダウンが可能になり、構造化カラム並みのパフォーマンスとJSONの柔軟性を両立させます。
「Iceberg v3がバリアント型をサポートしたことは、業界にとって極めて大きな進歩です。その結果、Icebergを基盤としたオブザーバビリティソリューションが急増することを予見しています。エンタープライズスケールでのバリアントデータのシュレッディングにおいて、Snowflakeが積み上げてきた長い実績を考えれば、そこにIcebergが加わった今、こうしたソリューションを支える基盤としてSnowflakeを選ぶのは当然の帰結と言えるでしょう」
—Jacob Leverich氏

Snowflakeの長年にわたるバリアントデータ型のサポートは、v3ではIcebergテーブルにも拡張されました。v3では、自動サブカラム化(シュレッディング)によるIcebergテーブルへのバッチ(COPY)、マイクロバッチ(Snowpipe)、ストリーミング(Snowpipe Streaming)パイプラインの直接実行がサポートされ、読み取りパフォーマンスが高度に最適化されています。
より正確なタイムスタンプ
ナノ秒精度タイムスタンプのサポートにより、v3 IcebergテーブルはSnowflakeネイティブテーブルのタイムスタンプ精度と一致するようになりました。この精度は、金融データやIoTデータなどの頻度の高いユースケースでよく求められます。ASOF JOINやML予測などのSnowflakeの高度な時系列機能は、Icebergテーブルにも拡張されています。
地理空間データ
v3 Icebergでは、ジオメトリと地理データ型がサポートされ、Snowflakeネイティブテーブルの地理空間データ型と一致しました。Snowflakeは、多彩な地理空間関数を使用する地理空間アナリティクスのユースケースにおいて、境界ボックスとメタデータを活用して効率的なプルーニングを実現します。
削除ベクトルによる取り込みと変換の高速化
Icebergは、書き込み時のコピーと読み込み時の結合の形式でオプションを提供し、各ユースケースのニーズに基づいてパフォーマンスを最適化します。ただし、v2の位置削除では、通常、削除ファイルの粒度と数に基づいてパフォーマンスのトレードオフが発生します。Iceberg v3では、削除ベクトルを読み込み時の結合のデフォルトモードとして使用することにより、ファイルレベルの粒度をより少ない統合されたファイルに保存することで改善しています。Snowflakeは、Snowflakeマネージドおよび外部マネージドのv3 Icebergテーブルにおいて、読み取りおよび書き込みの両方で削除ベクトルをサポートするようになりました。これにより、更新、削除、結合の負荷の高いパイプラインのパフォーマンスが向上します。
Horizonカタログによるセキュアな相互運用性とBCDR
Horizonカタログは、組み込みのリネージ、ポリシー、セキュリティ制御により、Icebergテーブルを含む組織のアセット全体にわたるディスカバリー、ガバナンス、コラボレーションを統合します。Horizonカタログは、Horizonに統合されたApache Polaris™を基盤とする、標準化されたIceberg RESTインターフェイスを通じてIcebergテーブルを公開します。これにより、Iceberg v3を含むSnowflakeマネージドIcebergテーブルを外部エンジンが読み取れるようになります。
Horizonは、v3 Icebergテーブルがツール間でガバナンスと相互運用性を確保できるようにします。これには、ランタイムにスコープを限定した一時的なストレージ認証情報を発行する機能も含まれており、これはエンジン、カタログ、ブロブストレージ間のセキュアな統合における業界標準となりつつあります。
さらに、Icebergテーブルの行アクセスや列マスキングなどのデータ保護ポリシー(v2で最初に利用可能になり、v3 Icebergにも適用)は、Snowflake Connector for Apache Spark™を使用してApache Spark経由でアクセスして適用されます(一般提供中)。

Horizonカタログは、クロスリージョンとクロスクラウドのレジリエンスを実現するための鍵でもあります。Snowflakeのエンタープライズグレードの事業継続性とディザスタリカバリ(BCDR)では、フェイルオーバーが必要な場合に、Snowflakeマネージドv3 Icebergテーブルをセカンダリリージョンまたはクラウドに複製して、完全性と一貫性を確保できるようになりました。

他のIceberg RESTカタログとのセキュアな統合
プラットフォームが相互運用性に関する長期戦略にどの程度応えているかを評価するには、主に次の2つの側面があります。
- プラットフォームのカタログは、業界標準のAPIとセキュリティを介して他のエンジンからの読み取りと書き込みをサポートしているか。
- プラットフォームのエンジンは、業界標準のAPIとセキュリティを介して他のプラットフォームのカタログの読み取りと書き込みをサポートしているか。
このブログ記事では、このトピックについて詳しく説明しています。ただし、まだ部分的にしか相互運用が行われていない、またはセキュリティの低い認可メカニズムを使用している他のほとんどのプラットフォームとは異なり、Snowflakeはその両方を実現しています。
- Horizonカタログは、読み取り(一般提供中)と書き込み(プライベートプレビュー中)のためのIceberg REST APIエンドポイントを提供します(前のセクションで説明)。
- Snowflakeのエンジンは、検証済みの認証情報を使用してカタログ統合を通じてさまざまなカタログの読み取りと書き込みを実行できます。

SnowflakeのIceberg v3のパブリックプレビューでは、Iceberg v3をサポートするIceberg RESTカタログに対して、カタログ統合による読み取りと書き込みが可能です。カタログ発行認証情報を使用するオプションもあります。
開始するには
Iceberg v3のサポートは、Snowflakeプラットフォーム全体にわたって緊密に統合されているため、生の取り込みから変換、テーブルの最適化、ガバナンス、コラボレーション、アナリティクス、エージェント型AIアプリケーションに至るまで、ライフサイクル全体にわたって相互運用可能なデータに対する統合ガバナンスのメリットを最大限に享受できます。
最終的に、レイクハウスの有用性が拡大して、これまで複雑すぎたり、単に手が届かなかったりしていた機能が利用できるようになります。BCDR、機密データの粒度の高いアクセス制御、CDCパイプライン、ストリーミング取り込みなどの重要なワークフローを自動化することで、チームは、多くの断片化されたレイクハウスに通常見られるトレードオフの課題を解消できます。Snowflakeは、そのすべてのステップを継続的に支援することにコミットしています。
初めの一歩を踏み出す準備はできましたか?このハンズオンガイドでは、SnowflakeでのIceberg v3の構築を今すぐ開始できます。詳細については、パブリックプレビュードキュメントをご覧ください。






