shiichan

書き換え不可の Iceberg マテリアライズドビューが誕生!Glue だけが書けるよ

みんな、しぃちゃんだよ!今日はデータレイクの「共有しても安心」を強くする発表だよ!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、Apache Iceberg 向けの system-managed マテリアライズドビューが発表されたよ。

今までどうだったの?

マテリアライズドビューは、重いクエリの結果を一度だけ計算して、複数のエンジンで使い回せる仕組みだよ。

でも結果はオープンな Iceberg テーブルなので、書き込み権限があれば誰でも変更できちゃったの。カタログ経由でも、Amazon S3 上のファイルを直接書いても変えられるから、「計算した結果のまま」とは限らなかったんだね。

これで何が変わるの?

system-managed 版では、ビューのデータと定義を書き込めるのが AWS Glue だけになるよ。テーブルやその裏の S3 ファイルに書き込み権限がある人がいても、結果は計算されたままで保たれるの。

深く潜ってみよう

使い始めるまでの流れはこんな感じだよ。

  • ビューを定義する SQL を書く
  • 必要なら更新スケジュールも指定する
  • AWS Glue が結果を計算して、Amazon S3 Tables バケットに標準の Iceberg テーブルとして保存する
  • スケジュールに沿って最新の状態に保つ

結果は AWS Glue Data Catalog の普通の Iceberg テーブルだから、Iceberg 互換のエンジンならどれでも直接読めるよ。他の書き手が変更できないことはサービスが保証してくれるんだって。

リフレッシュ、スケジュール変更、ビューの削除は、これまでどおりいつでもできるよ。

提供範囲は、Apache Iceberg マテリアライズドビューが使えるすべてのリージョンだよ。

まとめ

  • Iceberg マテリアライズドビューに、Glue だけが書ける system-managed 版が登場
  • 結果は S3 Tables バケットの標準 Iceberg テーブルで、どの互換エンジンからも読める
  • リフレッシュ・再スケジュール・削除は引き続き可能

データを他チームや他エンジンに共有する、データ基盤担当のみんなにぴったりの機能だよ!