Upgrade to Pro — share decks privately, control downloads, hide ads and more …

猫でもわかるS3 Tables【Apache Iceberg編】再構成・加筆版

Avatar for Hiroo Katoh Hiroo Katoh
May 26, 2025
850

猫でもわかるS3 Tables【Apache Iceberg編】再構成・加筆版

2025年5月13日(火)のJAWS-UG朝会セッション枠(20分)で発表した内容をベースに、時間の関係で削除した内容などを加筆してよりApache Icebergの仕組みについて説明するものになります。

Avatar for Hiroo Katoh

Hiroo Katoh

May 26, 2025
Tweet

Transcript

  1. © 2025 NTT TechnoCross Corporation 猫でもわかるS3 Tables【Apache Iceberg編】 2025/05/13 JAWS-UG

    朝会 #69 再構成・加筆版(2025/05/27) NTTテクノクロス株式会社 加藤 洋雄
  2. © 2025 NTT TechnoCross Corporation 2 本発表内容について ◼本発表内容は2025年5月13日(火)のJAWS-UG(*1)朝会(*2)セッション枠(20 分)で発表した内容をベースに、時間の関係で削除した内容などを加筆してより Apache

    Icebergの仕組みについて説明するものになります。 ◼ *1:JAWS-UGとは ◼ 日本のAWSユーザーグループで、AWSの知識共有や技術交流を目的としたコミュニティです。全国で イベントや勉強会を開催し、初心者から専門家まで幅広く参加しています。 ◼ 2025年6月時点でエリア別に41支部、目的別に23支部が存在しています。 ◼ *2:JAWS-UG朝会とは ◼ AWSユーザによる朝会コミュニテイです。月に1回7:30~8:30枠でセッション(20分)x2、LT(5 分)x3で構成されます。LT枠は人気なので申し込みから発表まで2か月以上待つ場合があります。ただ し、他の支部では抽選制のところもあるので確実に発表をしたい人は朝会がおすすめです。 ◼ 発表内容はAWSに関連する内容であらば何でもOKなので外部発表デビューに最適です。
  3. © 2025 NTT TechnoCross Corporation 3 はじめに ◼本発表は、S3 TablesについてApache Iceberg目線での紹介になります。

    ◼最近Apache Icebergが注目されている理由もS3 Tablesを例に紹介します。 ◼Apache Iceberg on AWSを知るとS3 Tablesの理解がより深まります。 ⚫興味のある方は、AWS 規範ガイダンス 「AWS での Apache Iceberg の使 用」(*1)がおすすめです。 ◼説明すること ⚫S3 Tablesの概要説明。 ⚫Apache Icebergについての概要説明。 ⚫S3 TablesにおけるApache Icebergの適用内容。 ⚫レイクハウス界隈でのApache Icebergに関する動き。 ◼説明しないこと ⚫S3 Tablesの具体的な構築、設定手順など。 ⚫S3 Tablesのセキュリティ、権限設定など。 ⚫S3 TablesとS3との性能比較。 *1:https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/apache-iceberg-on-aws/introduction.html スライド多めです。前半の説明 はポイントのみ行います。
  4. © 2025 NTT TechnoCross Corporation 4 「説明すること」の補足 ◼予想以上に資料のページ数が増えてしまいました。 ◼そのため前半はほぼタイトルと重要な用語のみ説明します。 ◼詳しい内容を知りたい方は、後から資料を確認してください。

    ◼本発表は2025年5月時点において、AWSの世界だけ見ているとその重要性に 気付きにくいApache Icebergを知って頂くことを目的としています。 ◼今フロントサイドはMCPが熱いようですが、サーバサイドはApache Icebergが同じくらい熱いです! ◼今後データ分析基盤を構築する場合は、Apache Icebergの適用を検討す ることをお勧めします! 以下、完全な個人の感想です!
  5. © 2025 NTT TechnoCross Corporation 6 話題のApache Iceberg ◼ビックデータを扱うためのOpen Table

    Format(OTF)の1つ。 ◼2024年6月頃からより盛り上がり、2024年末には事実上OTFのデファクトス タンダードになったと言ってよい状況になりました。 ◼Apache Icebergを使うにはカタログが重要な役割を果たします。このカタロ グのベンダー間の差異を吸収する Iceberg REST APIが策定されたことでカタ ログ間の互換性が確保されつつあります。 ◼現状は外部テーブル(メインに使うカタログとは別のカタログで管理されたも の)は、参照のみの制約が付くものが多いですが今後更新、追加が可能になる 予定です。 【Apache Iceberg利用上の留意点】 ※Apache Icebergの特徴を踏まえ、ユースケースを見極めた設計・運用が重要 ◼RDBMSの代替になるものではないです。 ◼ トランザクションの分離は原則テーブル単位。 ◼ レコードの一意性を保証する仕組みはない。
  6. © 2025 NTT TechnoCross Corporation 7 Apache Icebergは今話題なの? Icebergは聞いた ことはあるけど、

    誰が「話題」って 言ってるの? ◼最近の生成AIブームの影響もありいデータレイクハウス製品により勢いが あります。それに関連してOpen Table Format(OTF)ではApache Icebergが最近話題です!
  7. © 2025 NTT TechnoCross Corporation 8 Apache Icebergは今話題になってます! Icebergは聞いた ことはあるけど、

    誰が「話題」って 言ってるの? AWSジャパンさんも言ってます! それは ◼最近の生成AIブームの影響もありいデータレイクハウス製品により勢いが あります。それに関連してトランザクションデータレイク形式では Apache Icebergが最近話題です!
  8. © 2025 NTT TechnoCross Corporation 9 Apache Iceberg on AWSミートアップ

    5/14(水)に開催 ◼5月14日(水) 19:00に実施済み(AWSジャパン目黒本社+オンライン開催:加藤は現地参加) Apache Iceberg on AWSミートアップ ~話題のIcebergをAWSで徹底活用~ https://aws.amazon.com/startups/events/apache-iceberg-on-aws 【補足】 完全にネタが被りました。JAWS-UG 朝会発翌日に本イベントがありました。 こちらの資料も合わせてみて頂くこと をお勧めします。 →AWS News Bogで近日公開予定。
  9. © 2025 NTT TechnoCross Corporation 10 【お得情報】Apache Icebergに興味が出た方へ ◼dremio社のHPからO’REILLY「Apache Iceberg

    the Definitive Guide」が 無料でダウンロード可能です。 (Amazonで英語Kindle版が9,481円で発売中。日本語版は現在翻訳作業中で未発売。PDFファイル形式のため Google翻訳利用可能。ページ数制限があるのでファイルを2分割すればOK) https://hello.dremio.com/wp-apache-iceberg-the-definitive-guide-reg.html Apache Iceberg 解説本の決定版 表紙に「dremio」のロゴが入ってますが太っ腹 なサービスなのでぜひダウンロードしましょう
  10. © 2025 NTT TechnoCross Corporation 12 Open Table Format(OTF)とは ◼データレイクにおけるデータ管理の課題を解決するために設計されました。

    ◼従来のデータレイクは、ファイルベースのストレージであるためデータの更新 や削除、スキーマの変更が困難という問題点がありました。 ◼操作を効率的に行うためのメタデータ管理を提供し、データの一貫性とパ フォーマンスを向上させます。 特徴 内容 スナップショットと バージョニング データのスナップショットを作成し、過去の状態にアクセス可能。デー タの変更履歴を管理。 スキーマの進化 データスキーマの変更を柔軟に管理し、データの整合性を保ちながら新 しい要件に対応。 パーティショニング データを効率的にパーティショニングし、クエリパフォーマンスを向上。 トランザクション サポート 複数のデータ操作を一つのトランザクションとして扱い、データの一貫 性を保証。 オープンソース オープンソースであり、コミュニティによる継続的な改善とサポートが 受けられる。 【OTF特徴一覧】 ざっくり言うとファイルベースでRDBMSに近 いデータ一貫性を保証します。
  11. © 2025 NTT TechnoCross Corporation 13 AWSにおけるApache Icebergのサポート状況 ◼Apache Iceberg

    on AWSとしてApache Iceberg自体はサポートされていまし た。 ◼データカタログとしてAWS Glue Data Catalogを使用することができます。 ◼使用するためにはApache Iceberg on AWSのベストプラクティスを理解する ことが求められます。 ◼運用・保守にそこそこ稼働がかかります。 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/apache-iceberg-on-aws/introduction.html
  12. © 2025 NTT TechnoCross Corporation 14 2024年のre:Inventで発表されたS3 Tablesとは ◼Apache Iceberg

    サポートが組み込まれたクラウドオブジェクトストア。 ◼表形式データの大規模な保存を効率的に行える。 ◼継続的なテーブル最適化(バックグラウンドでテーブルデータを自動的にス キャンして書き換える)のため、管理されていない Iceberg テーブルと比較 して最大3倍高速なクエリパフォーマンスを実現。 ◼Icebergワークロード固有の最適化が含まれており、汎用 S3バケットに保 存されている Iceberg テーブルと比較して、1 秒あたり最大10倍のトラン ザクションを配信できる。 Apache Icebergマネージドサービスになったことにより性能、メンテナンス 性が格段に向上。 https://aws.amazon.com/jp/s3/features/tables/
  13. © 2025 NTT TechnoCross Corporation 15 S3 Tables性能情報の補足 2025年 Apache

    Iceberg on AWS MeetUp時「Amazon S3 Tables テーブルバケットと汎用バケット」より抜粋 最初からスケールを意識した構成のため、アクセス 増などでのS3のスケールが避けられるという意味。 スケールした時の性能差。 自動メンテナンス機能があるため、使用し続けても性 能が劣化にくいです。手動メンテで性能確保は可能。 ◼10x、3xは条件付きの性能指標です。条件をよく理解しましょう。
  14. © 2025 NTT TechnoCross Corporation 16 S3 Tablesのメリット代表例「ストレージ最適化」について ◼Apache Iceberg

    テーブルのデータを更新または削除すると以下に図に示す ようにデータのコピー数が増えます。圧縮を実行する場合も同様です。 ◼S3 Tablesはマネージドサービスのため以下を自動で実施します。 ◼費用対効果の高いアクセス階層にデータを自動的に移動する。 ◼履歴スナップショットのアーカイブまたは削除。 ◼孤立ファイルの削除。 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/apache-iceberg-on-aws/best-practices-storage.html Apache Icebergの構成に ついては後半で説明します。
  15. © 2025 NTT TechnoCross Corporation 17 AWSにおけるApache Icebergサポートのマネージドサービス ◼S3 Tablesは、2024年

    re:InventにてIcebergサポート機能の一つとしてS3 Metadataと一緒に発表されました。 https://pages.awscloud.com/rs/112-tzm-766/images/AWS-Black-Belt_2024_aws-reinvent_1206_v1.pdf Amazon S3 Tables Amazon S3 Metadata
  16. © 2025 NTT TechnoCross Corporation 18 Microsoft、GoogleにおけるApache Icebergサポート状況 OneLakeでIcebergテーブルを使用可能 (2025年5月時点プレビュー)

    Azure:2025年5月時点プレビュー https://learn.microsoft.com/ja-jp/fabric/onelake/onelake-iceberg-tables Google BigQuery: 2025年5月時点プレビュー https://cloud.google.com/bigquery/docs/iceberg-tables?hl=ja ◼Azure、GCPにおいてもIceberg対応が進行中です。 Apache Iceberg 用の BigQuery テーブル (2025年5月時点プレビュー) 【Azure】 【GCP】
  17. © 2025 NTT TechnoCross Corporation 20 S3 Tablesの利点 ◼S3 Tablesでは大きく以下の5つの利点があります。

    ⚫スケーラビリティ ⚫強化されたたパフォーマンス ⚫フルマネージド ⚫シームレスな統合(今回はここを深堀します) ⚫簡略化されたセキュリティ対策 https://pages.awscloud.com/rs/112-tzm-766/images/AWS-Black-Belt_2024_aws-reinvent_1206_v1.pdf
  18. © 2025 NTT TechnoCross Corporation 21 シームレスな統合(分析サービスでS3 Tablesを使用) ◼S3 Tables

    統合することでGlue Data Catalogを介してAmazon Athena、 Redshift、EMR などの使い慣れた AWS サービスを利用して高度な Iceberg 分析機能にアクセスし、データをクエリできます。 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/s3-tables-integrating-aws.html アカウント、リージョン単位で Glue Data Catalogに s3tablescatalog が作成されS3 Tablesの構成情 報が同期されます。 ・Table bucket=Catalog ・Namespace=Database ・Tables=Tables 統合されたテーブル管理、一 元化されたガバナンス、きめ 細かなアクセスコントロール が可能になります S3バケット内にカ タログがあります。
  19. © 2025 NTT TechnoCross Corporation 22 S3 TablesをS3のマネジメントコンソールから確認 ◼S3メニュー上は「テーブルバケット」に分類され、「汎用バケット」、 「ディレクトリバケット」とは完全に別管理になっています。

    arn:aws:s3tables:ap-northeast-1:アカウントID:bucket/カタログ名/table/~ 汎用バケットarnの場合 arn:aws:s3:::バケット名 【注意】現状S3 Tablesはマネコン からは削除できません。 テーブルバケットの画面からでは ないとS3 Tablesは見れません
  20. © 2025 NTT TechnoCross Corporation 23 Data Catalogをマネジメントコンソールから確認その1 ◼Lake Formationメニューからカタログ一覧を確認すると

    「s3tablescatalog」が自動生成されている。 S3 Tables用カタログ s3tablecatalogが自動生 成される 汎用バケット用カタログ (アカウントID)
  21. © 2025 NTT TechnoCross Corporation 24 Data Catalogsをマネジメントコンソールから確認その2 ◼Lake Formationメニューから完全なCatalog名が確認可能です。

    汎用バケット用カタログ (アカウントID) S3 Tables用カタログは 「アカウントID:s3tablecatalog/カタログ名」
  22. © 2025 NTT TechnoCross Corporation 25 Athenaから検索する場合のカタログ指定 ◼テーブルバケットを検索する場合に指定するカタログは 「s3tablecatalog(固定)/カタログ名(任意指定)」になります。 S3

    Tables用カタログ s3tablecatalogを指定 【汎用バケット(例:CloudTrailログの場合) 】 【S3 Tablesバケット】 汎用バケット検索時はカタ ログ指定は「なし」
  23. © 2025 NTT TechnoCross Corporation 26 Athenaから検索実行結果 ◼AthenaからS3 Tablesに検索を実施した例を以下に示します。 こちらはあくまでも検索結

    果の例です。性能測定は実 施していません。そのため 実行時間の評価はできてい ません。
  24. © 2025 NTT TechnoCross Corporation 27 Amazon SageMaker Unified Studio(2025/3/13GA)

    ◼データへの統合されたアクセスは Amazon SageMaker Lakehouse によっ て提供される。 ◼ガバナンス機能は Amazon SageMaker Catalog を介して組み込まれてい ます。 https://aws.amazon.com/jp/about-aws/whats-new/2025/03/amazon-sagemaker-unified-studio-generally-available/ S3、 RMS(Redshift Managed Storage) へのアクセス統合 【豆知識】 Lakehouseという言葉を最初 に使い始めたのはDatabricks 社だそうです。(By営業さん)
  25. © 2025 NTT TechnoCross Corporation 28 S3 TablesとSageMaker Lakehouseの統合(2025/3/21GA) ◼2025年3月21日S3

    TablesとSageMaker Lakehouse統合がGAされました。 ◼SageMaker Lakehouse を利用すると、Amazon S3 データレイク (S3 Tables を含む) と RMS(Redshift Managed Storage)にわたるすべてのデー タを統合できます。 ◼Glue Data CatalogとLake Formationを基盤として構築されている。 https://aws.amazon.com/jp/blogs/news/amazon-s3-tables-integration-with-amazon-sagemaker-lakehouse-is-now-generally-available/ LakehouseからS3 Tablesへアクセス可能 SageMakerからの使い勝手が向上!
  26. © 2025 NTT TechnoCross Corporation 29 SageMaker Lakehouseのカタログ種類 ◼マネージドカタログ ◼Lakehouseを使用して作成する新しいカタログを指します。

    ◼対象:S3(S3 Tables含む)、RMS。 ◼フェデレーションカタログ ◼既存のデータを取り込むことが可能です。 ◼対象:Redshift、DynamoDB、Snowflake等。 https://docs.aws.amazon.com/ja_jp/sagemaker-unified-studio/latest/userguide/lakehouse-components.html 本資料では主にここ を説明 本資料での説明対象外
  27. © 2025 NTT TechnoCross Corporation 31 データウェアハウス向け OTF形式ストレージソリューション ◼Icebergと合わせてOTF形式のストレージソリューションとして代表的な3つ を以下に示します。

    Apache Hudi Apache Iceberg Delta Lake 概要 • 2016年からUberによって 開発 • OneHouseが出資 • データファイルはParquet とAvroで構成される • 2017年からNetflixによって 開発 • 2017年からDatabricks によって開発。 • 2019年にOSS化。 特徴 • キー/値スタイルのデータに 対する増分upsertとdelete のために設計された。 • データは列形式と行形式の 組み合わせとして保存され る。 • 単一のテーブルでペタバイト までスケールし、スキーマ進 化の特性を持つ汎用的なデー タストレージに重点を置いて いる。 • トランザクション保証を 提供 • スキーマ強制と進化を可 能とする。 • 他にも特徴的な 【OTF形式ストレージソリューション一覧】 この2つを中心に説明
  28. © 2025 NTT TechnoCross Corporation 32 Apache Iceberg機能概要 主な機能 内容

    ACIDトランザクション データの整合性を保つためにACIDトランザクションをサポート。 データ追加、更新、削除が安全に行える スキーマの進化 スキーマの変更(追加、削除、変更)をサポート。データのスキー マが進化する際にもデータの整合性を維持。 タイムトラベル 過去のスナップショットに基づいてデータをクエリするタイムトラ ベル機能を提供。過去のデータ状態を簡単に参照可能 パーティショニング 複雑なパーティショニングをサポートしており、クエリパフォーマ ンスを向上させるためにデータを効率的に分割する。 スナップショットと バージョニング データのスナップショットを作成し、バージョン管理を行うことで、 データの変更履歴を追跡可能。 高いパフォーマンス クエリパフォーマンスを向上させるために、データの読み取りと書 込みを最適化。 互換性 Apache Spark、Apache Flink、Presto、Trinoなどのデータ処理 エンジンと互換性がある。 【Apache Iceberg機能・内容一覧】 ざっくり言うと、オブジェクトストレージで DBMSに近い機能を実現できます。
  29. © 2025 NTT TechnoCross Corporation 33 Apache Icebergバージョン情報 バージョン 仕様概要

    内容 Version1 分析データテーブル 不変のファイル形式 (Parquet、Avro、ORC) を使用して大規模な分 析テーブルを管理する方法が定義。 Version2 行レベルの効率的な 更新・削除 不変のファイルを含む分析テーブルの行レベルの更新と削除が追加。 Version3 開発中 データタイプと機能 の拡張 データ型と既存のメタデータ構造が拡張され、新しい機能が追加(半 構造化型:variant)。 https://iceberg.apache.org/spec/#format-versioning 【Apache Icebergのバージョン一覧(2025年5月時点) 】 「Apache Iceberg on AWS」ベストプラクティスでの推奨がVersion2
  30. © 2025 NTT TechnoCross Corporation 35 Apache Iceberg構成(本来この説明だけで20分はかかるので後で確認してください) ◼Apache Icebergの構成図を以下に示します。

    O’REILLY Apache Iceberg The Definitive Gude s0、s1はSnapshotの略 【metadata layer】 Icebergテーブルの現在の メタデータポインタを保存 【data layer 】 data file格納 【Iceberg Catalog】 テーブル名とテーブルの最新の metadata fileの場所のマッピング情報 【metadata list】 特定のSnapshotに対応するmanifest fileのlistや統計情報のサマリなど 【metadata file】 data fileのlistやメタデータ(パス、 ファイル形式、各カラムの統計情報 など)を管理。 【metadata file】 特定のSnapshotにおけるテーブル 全体のメタ情報を管理 テーブルバージョン管理の核 【data file】 Parquetが多い。ORC、Avrog もサポート。
  31. © 2025 NTT TechnoCross Corporation 36 Apache Icebergファイル構成(アクセス順) ◼ReadアクセスはCatalog→Metadata layer→data

    layerの順に行われる。 https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/ S3 TablesではAWS が隠蔽しているため S3 Tablesバケット内 のファイル構成は不 可視になっています。
  32. © 2025 NTT TechnoCross Corporation 37 Apache Icebergファイル構成 ◼Apache Icebergのファイル種類を以下に示します。

    ファイルの種類 物理名の例 ファイル形式 ファイルの内容 メタデータファイル metadata.json JSON テーブルのスナップショット、スキーマ、 パーティション情報、プロパティなどを 含む。 マニフェストリスト manifest-list- <UUID>.avro Avro スナップショットに含まれるマニフェス トファイルのリスト。 マニフェスト ファイル manifest- <UUID>.avro Avro データファイルのリストと各ファイルの 追加/削除情報、パーティション情報な ど。 スナップショット ファイル snapshot- <UUID>.json JSON スナップショットの詳細情報、スナップ ショットID、タイムスタンプ、マニ フェストリストの参照。 【Apache Icebergのファイル種類一覧 】
  33. © 2025 NTT TechnoCross Corporation 38 Apache Icebergの読込みプロセスイメージ ◼読込みプロセスにおけるReadの流れイメージを以下に示します。 Engine

    Datafiles Manifest file Manifest list Metadata file(Version x) Catalog ①Read operation Client 【凡例】 ③Metadata file read ④Manifest list read O’REILLY Apache Iceberg The Definitive Gudeの図をシーケンス図風に変換 ・・・Write ・・・Read Metadata layer Catalog layer Data layer ⑤Manifestfile write ⑥datafiles read 上位layerから順にアクセスをすることで目的のデータ を参照する。 ②Get latest metadata file
  34. © 2025 NTT TechnoCross Corporation 39 Apache Icebergの書込みプロセスイメージ ◼書込みプロセスにおけるRead/Writeの流れイメージを以下に示します。 Engine

    Datafiles Manifest file Manifest list Metadata file(Version x) Catalog ①Wire operation Client 【凡例】 ⑦Update+Commit ②Get latest metadata file ③Data write ④metadata write O’REILLY Apache Iceberg The Definitive Gudeの図をシーケンス図風に変換 ・・・Write ・・・Read Metadata layer Catalog layer Data layer ⑤Manifestdata write ⑥metadata write 【楽観的同時実行制御】 トランザクションが競合しない事を前提にし、必用な場合にの み競合をチェックすることでロックを最小限にし抑えてパ フォーマンス向上させる。これを利用してACID保証を行う。
  35. © 2025 NTT TechnoCross Corporation 40 行レベル更新:Copyーon-Write(CoW)、Mergeーon-Read(MoR) ◼データの更新頻度やクエリのパフォーマンス要件に応じて選択します。 ◼CoWはデータの整合性を重視し、読込みパフォーマンスが重要な場合に適して います。

    ◼MoRは書込みパフォーマンスを重視し、更新頻度が高い場合に適しています 特徴 CoW MoR 更新方法 データの更新時に新しいファイルを作成し、 古いファイルを置き換える。 データの更新時に新しいファイルを作成し、古 いファイルはそのまま保持。 読込み時の処理 読込み時に最新のデータがすぐに利用可能。 読込み時に最新のデータを古いデータとマージ して利用。 書込みパフォー マンス 書込み時に全データを再書き込みするため負 荷が高い。 書込み時に変更部分のみを追加するため負荷が 低い。 読込みパフォー マンス 読込み時に追加のマージ処理が不要で高速。 読込み時にマージ処理が必要でやや遅くなる可 能性。 データの整合性 常に最新のデータが保証される。 読み込み時にマージが必要なため、整合性の管 理が複雑。 考慮点 テーブル全体のデータ量が大きくなりやすい。 読取り時の処理の負荷に注意が必要。メンテナ ンスジョブによるdelete fileのマージも可能。
  36. © 2025 NTT TechnoCross Corporation 41 Copyーon-Write(CoW) ◼ 単一行の更新にCopy-onーWirteを使用した結果を以下にしめす。 ID

    Name Age 1 Bob Jones 55 2 Susie Mills 35 3 Grace Gregory 45 File003.parquet Snapshot 05 Snapshot 06 ID Name Age 1 Bob Jones 55 2 Susie Mills 35 3 Grace Gregory 46 File008.parquet O’REILLY Apache Iceberg The Definitive Gudeの図を流用 File rewritten UPDATE catalog.people SET age = 46 WHERE id = 3; 新しいdata file「File008.parquet」を作成する
  37. © 2025 NTT TechnoCross Corporation 42 Mergeーon-Read(MoR) ◼ 単一行の更新にMerge-onーReadを使用した結果を以下にしめす。 ID

    Name Age 1 Bob Jones 55 2 Susie Mills 35 3 Grace Gregory 45 File003.parquet Snapshot 05 Snapshot 06 ID Name Age 1 Bob Jones 55 2 Susie Mills 35 3 Grace Gregory 45 File003.parquet O’REILLY Apache Iceberg The Definitive Gudeの図を流用 File not rewritten File Position File003 3 Delete001.avro File008.parquet ID Name Age 3 Grace Gregory 46 Delete file and new datafile written UPDATE catalog.people SET age = 46 WHERE id = 3; 差分のmanifest file「Delete001.avro」、 data fileを「File008.parquet」作成する
  38. © 2025 NTT TechnoCross Corporation 44 主要レイクハウス製品(Snowflake、Databricks)について ◼ AWSと連携可能なレイクハウスの代表的なものにSnowflake、Databricksがあります。 創業

    2012年 2013年 初期メンバー 元Oracleエンジニア 「Apache Spark」、「Delta Lake」 等OSS創始者らが中心 データカタログ テーブルSPC (※主要なもののみ記載) 独自フォーマット と ファイルフォーマット (※主要なもののみ記載) 備考 AWS Summit Japan 2024の Golbal Sponsors(最上位)の1社 2024年11月~25年1月期の年換算売上 高30憶ドル。国内顧客:トヨタ、日立 この2社が主要キープ レイヤー
  39. © 2025 NTT TechnoCross Corporation 45 最近のApache Icebergに関するトピック(Snowflake編) ◼2024年6月3~7日の年次イベント「Snowflake Data

    Cloud Summit」での発表 ⚫独自フォーマットの他にIceberg Tablesを主要クラウドで一般提供開始。 ⚫新たにIceberg形式のインデックス化ができるCatalogとして「Polaris Catalog」を発表(主要クラウドが対応。Databricksは除く) 。 →その後OSS化して「Apache Polaris」へ ⚫Iceberg’s openn REST APIでエンジンーカタログ間の読取り書込みの相互 運用性確保。 https://www.snowflake.com/en/blog/introducing-polaris-catalog/ 6月3日の発表にはライバルの Databricksは含まれていな かった。 相互運用性を向上させる ためRESTプロトコルの オープン標準を開発
  40. © 2025 NTT TechnoCross Corporation 46 最近のApache Icebergに関するトピック(Databricks編その1) ◼Databricksはデフォルトのデータ形式として「Delta Lake」を採用している。

    ⚫SnowflakeがPolaris Catalogを発表翌日6月4日にTabularの買収合意を発表。 ⚫TabularはNetflixでIcebergを開発していたRyan Blue、Daniel Weeks、 Jason Reidが設立した会社。 https://www.databricks.com/jp/company/newsroom/press-releases/databricks-agrees-acquire-tabular-company-founded-original-creators https://www.tabular.io/blog/tabular-is-joining-databricks/ DtabricksはTabular買収以降は積極 的にIceberg対応を進めています。
  41. © 2025 NTT TechnoCross Corporation 47 最近のApache Icebergに関するトピック(ベンダー間編) ◼Databricksはデフォルトのデータ形式として「Delta Lake」を採用している。

    ⚫SnowflakeがPolaris Catalogを発表翌日6月4日にTabularの買収合意を発表。 ⚫TabularはNetflixでIcebergを開発していたRyan Blue、Daniel Weeks、 Jason Reidが設立した会社。 https://www.databricks.com/jp/company/newsroom/press-releases/databricks-agrees-acquire-tabular-company-founded-original-creators SnowflakeとDatabricksがApache Icebergで火花を散らす状況に!
  42. © 2025 NTT TechnoCross Corporation 48 最近のApache Icebergに関するトピック(ベンダー間編) ◼Databricksはデフォルトのデータ形式として「Delta Lake」を採用している。

    ⚫SnowflakeがPolaris Catalogを発表翌日6月4日にTabularの買収合意を発表。 ⚫TabularはNetflixでIcebergを開発していたRyan Blue、Daniel Weeks、 Jason Reidが設立した会社。 SnowflakeとDatabricksがApache Icebergで火花を散らす状況に! この流れも受け、AWSも最近S3 TablesなどApache Icebergのマネージド サービス化に積極的になっている? 個人の推測 その後も両社はApache Iceberg対 応を積極的に進めています。 https://www.databricks.com/jp/company/newsroom/press-releases/databricks-agrees-acquire-tabular-company-founded-original-creators
  43. © 2025 NTT TechnoCross Corporation 49 最近のApache Icebergに関するトピック(Databricks編その2) ◼DatabricksはデータカタログのUnity Catalogをオープンソース化。

    ⚫2024年6月12日にUnity Catalogのオープンソース化を発表。 https://www.databricks.com/jp/blog/open-sourcing-unity-catalog Unity CatalogをOSS化 (Apache 2.0ライセンス) OpenAPI仕様、サーバー、 クライアントも提供される ライバルのSnowflake は含まれない。 Apache Icebergはここ Databricksは元は Delta lakeがメイン
  44. © 2025 NTT TechnoCross Corporation 51 Apache Iceberg REST プロトコル仕様でベンダーロックイン回避

    ◼個別実装のData Catalogでは互換性が担保できない。 ◼その問題を解決するためにApache Iceberg REST プロトコル仕様が策定され ベンダーロックインを回避することが可能となりました。 Apache Iceberg REST エンドポイント Glue Data Catalog (AWS) Apache Iceberg REST エンドポイント Open Catalog (Snowflake) Apache Iceberg REST エンドポイント Unity Catalog (Databricks) Apache Iceberg REST API 仕様にてI/Fは共通化されました。 AWSの場合は、統合化されたGlue Data catalogのIceberg REST エ ンドポイントを使用すればOKです。
  45. © 2025 NTT TechnoCross Corporation 52 データカタログアクセス(Apache Iceberg REST プロトコル)

    ◼GlueはApache Iceberg REST プロトコル仕様で指定された API オペレーション に対応しているGlue Iceberg REST エンドポイントを用意しています。 ◼Iceberg REST クライアントを使用すると、分析エンジンで実行されているアプ リケーションをデータカタログでホストされている REST カタログに接続するこ とができます No. Iceberg REST API No. Iceberg REST API 01 GetConfig 07 ListTables 02 ListNamespaces 08 CreateTable 03 CreateNamespace 09 LoadTable 04 LoadNamespaceMetadata 10 TableExists 05 UpdateNamespaceProperties 11 UpdateTable 06 DeleteNamespace 12 DeleteTable 【Glueがサポートする Iceberg REST Catalog API一覧】 https://docs.aws.amazon.com/ja_jp/glue/latest/dg/connect-glu-iceberg-rest.html
  46. © 2025 NTT TechnoCross Corporation 53 Apache Iceberg RESTエンドポイントの種類(S3編) ◼S3

    TablesのApache Iceberg RESTエンドポイントは以下の2種類があります。 【非統合 S3 Tablesの場合】 https://s3tables.<REGION>.amazonaws.com/iceberg • 1 つのテーブルバケットへの基本的な読み取り/書込みア クセスのみが必要な場合。あまりおすすめしない。 【統合 S3 Tablesの場合】 https://glue.<REGION>.amazonaws.com/iceberg • AWS 分析サービスからアクセスする場合。おすすめ です!。 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/s3-tables-integrating-open-source.html 統合されたテーブル 管理、一元化された ガバナンス、きめ細 かなアクセスコント ロールが可能になり ます
  47. © 2025 NTT TechnoCross Corporation 54 Apache Iceberg RESTエンドポイントの種類(Glue編) ◼GlueのApache

    Iceberg RESTエンドポイントは以下の2種類があります。 https://docs.aws.amazon.com/ja_jp/glue/latest/dg/connect-glu-iceberg-rest.html https://docs.aws.amazon.com/ja_jp/glue/latest/dg/connect-glue-iceberg-rest-ext.html https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/serverless_datasharing-register-namespace.html 【S3:Glue Iceberg REST エンドポイント】 https://glue.<REGION>.amazonaws.com/iceberg • S3に保存されているテーブルへアクセスする場合。 【RMS:Glue Iceberg REST 拡張エンドポイント】 https://glue.<REGION>.amazonaws.com/extensions • RMSに保存されているテーブルにアクセスする場合。 【接続時config設定内容例(わかりやすく簡略化)】 catalog_name = "mydatacatalog" aws_account_id = "123456789012" aws_region = "us-east-1" spark = SparkSession.builder ¥ ・catalog_name ・org.apache.iceberg.spark.SparkCatalog ・rest ・https://glue.{aws_region}.amazonaws.com/iceberg ・{aws_account_id} 【接続時config設定内容例(わかりやすく簡略化)】 catalog_name = "mydatacatalog" aws_account_id = "123456789012" aws_region = "us-east-1" spark = SparkSession.builder ¥ ・catalog_name ・org.apache.iceberg.spark.SparkCatalog ・glue ・{123456789012}:redshiftnamespacecatalog/redshiftdb ・org.apache.iceberg.spark.extensions. IcebergSparkSessionExtensions RMSのデータカタログは拡張(extensions)として扱われる
  48. © 2025 NTT TechnoCross Corporation 55 さいごに ◼今フロントサイドはMCPが熱いようですが、サーバサイドはApache Iceberg が同じくらい熱いです!

    ◼Apache Iceberg+データカタログが今後も今のスピードで進化すればベンダー ロックインが回避でき、データのコピー・移動を極力排除できる明るい未来が 待っている?!と思います。 →現状ではまだ外部テーブルは参照のみなどの制約がある場合があります。 ◼S3 Tablesは単なる表形式データを高速に扱えるものではなく、これからの データ分析基盤構築では重要なマネージドサービスになります(たぶん)。 ◼【重要】S3はセキュアに使うための権限設定は難易度が高いと感じています。 S3 Tablesはそれ以上に権限設定の難易度が高い印象です。Lake Formationを 含め権限設定については十分に理解した上で使用することを強くおすすめしま す。 完全な個人の感想です! 本資料に記載されている製品名、会社名、ロゴ等は各社の商標または登録商標です。