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

Iceberg を学び Amazon S3 Tables を活用しよう(投影用)

bering
February 27, 2025
130

Iceberg を学び Amazon S3 Tables を活用しよう(投影用)

bering

February 27, 2025
Tweet

Transcript

  1. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved. Apache Iceberg を学び Amazon S3 Tables を活⽤しよう ⽦⽥ 宗太郎 (Sotaro Hikita) Solutions Architect アマゾン ウェブ サービス ジャパン合同会社
  2. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⽦⽥ 宗太郎 (Sotaro Hikita) 2 アマゾン ウェブ サービス ジャパン ソリューションアーキテクト (アナリティクス) ⼤規模データの効率的な処理や、データ活⽤基盤に取り組むお客様を⽀援しています X(旧 Twitter) : @_Bassari 個⼈ブログ: https://bering.hatenadiary.com/ 趣味: ビッグデータに関わる OSS, 特に Apache Iceberg に関する調査、発信、貢献 Open Table Format に関するPodcast「OTF Talks」 https://podcasters.spotify.com/pod/show/otftalk/episodes/10-Iceberg-e2o4leo
  3. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 本セッションのねらい 3 想定聴講者 • Apache Iceberg や S3 Tables の可能性を知りたい • 様々な規模の表構造データを扱うことに関⼼がある • Amazon S3 など AWS の基本的なサービスを把握している ゴール • Apache Iceberg の基本的な特徴とメリットを知る • AWS で Iceberg を利⽤する際の選択肢、 中でも S3 Tables への理解を深める • Iceberg と S3 Tables の組み合わせによって 拓かれる可能性について考えられるようになる Iceberg と S3 Tables を活⽤し、表構造データを簡便に扱う⽅法を理解する
  4. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. オープンテーブルフォーマット / Iceberg の台頭 4 データレイクの限界を超えて、様々なデータエコシステムを繋ぐ Apache Iceberg • オープンソースのテーブルフォーマット (OTF) • 様々な規模のデータを効率的かつ便利に扱う 機構を備える • 異なるツール間を繋ぐ共通的なテーブル仕様 として機能 • 2017 年当時、 S3 に 60 PB のデータを擁して いた Netflix が開発 (2018 年 Apache Software Foundation 寄贈) https://www.youtube.com/watch?v=nWwQMlrjhy0
  5. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Apache Iceberg が注⽬される背景 5 データレイクの利便性と効率性の向上 • 従来のデータレイクでは実現が困難な要件や、 性能やリソース効率に課題を抱える操作を Iceberg で実現できる • ストリームパイプラインやデータサイエンス、規制要件への対応など モダンなデータレイクのニーズに対応 複数のツール間での相互運⽤性の向上 • 各ツールが Iceberg フォーマットを共有することで、 ストレージのデータをコピーせずにテーブルを操作できる • データレイクとデータウェアハウス間、 複数のツール間などでシームレスにテーブルを共有
  6. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Apache Iceberg が注⽬される背景 6 データレイクの利便性と効率性の向上 • 従来のデータレイクでは実現が困難な要件や、 性能やリソース効率に課題を抱える操作を Iceberg で実現できる • ストリームパイプラインやデータサイエンス、規制要件への対応など モダンなデータレイクのニーズに対応 複数のツール間での相互運⽤性の向上 • 各ツールが Iceberg フォーマットを共有することで、 ストレージのデータをコピーせずにテーブルを操作できる • データレイクとデータウェアハウス間、 複数のツール間などでシームレスにテーブルを共有
  7. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. データレイクのコンセプト 7 • 構造 / ⾮構造データをスケーラブルな ストレージに⼀元的に保存 • 蓄積と分析を分離して、 拡張性とスケーラビリティを確保 • オープンなファイルフォーマットにより 多様なツールで分析可能 • 組織を越えてすべてのデータの分析、 活⽤を可能にする Data lake Nonrelational databases Machine learning Data warehousing Log analytics Big data processing Relational databases https://aws.amazon.com/jp/big-data/datalakes-and-analytics/datalakes/
  8. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 従来のデータレイクの代表的な課題 8 • 同時書き込み/読み込みの整合性を 担保できない • データの過去の状態の復元が難しい • レコードレベルの操作が⾮効率 • スキーマ変更やデータ構造の変化への 追従負荷が⼤きい • クエリ性能を最適化するため、ファイルの 物理構造を意識する必要がある Amazon S3 /year=2024/month=01/day=01 /year=2024/month=01/day=02 /year=2024/month=01/day=03 aaa001.parquet aaa002.parquet aaa003.parquet 従来のデータレイクにおける一般的なデータ配置 (Hive スタイルテーブル) AWS Glue Data Catalog
  9. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. データレイクの課題に直⾯する典型的なユースケース 9 • ストリームパイプライン, Change Data Capture (CDC) • 書込みと読込みのパフォーマンス最適化 • ソースデータのスキーマ変更への追従 • 規制要件への対応 • 特定の個⼈情報の効率的な削除、更新をしたい要件 • データ削除中のトランザクションの⼀貫性 • データサイエンス • 実験を再現するための、過去のスナップショットの参照 • 継続的に更新されるデータに対する⼀貫性を確保した参照
  10. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Iceberg によるデータレイクのレベルアップ 10 /data /metadata Snapshot 1 Snapshot 2 Snapshot 3 Amazon S3 AWS Glue Data Catalog Iceberg テーブルのデータ配置のイメージ メタデータ構造の⼯夫により利便性の向上と⾼速化を実現 aaa001.parquet aaa002.parquet aaa003.parquet aaa004.parquet 利便性向上 • テーブル単位の同時書き込み / 読み取り の⼀貫性を保証 • 過去バージョンへのタイムトラベル • スキーマ、パーティション、ソート順 をメタデータのみで変更可能 • パーティション構造を物理構造と分離して定義 ⾼速化 • 階層型のメタデータ構造と統計情報、 ソート戦略などによるデータアクセスの効率化 • ⾏レベルの更新を効率化する機能を搭載 (Merge on Read, コンパクション)
  11. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Apache Iceberg が注⽬される背景 13 データレイクの利便性と効率性の向上 • 従来のデータレイクでは実現が困難な要件や、 性能やリソース効率に課題を抱える操作を Iceberg で実現できる • ストリームパイプラインやデータサイエンス、規制要件への対応など モダンなデータレイクのニーズに対応 複数のツール間での相互運⽤性の向上 • 各ツールが Iceberg フォーマットを共有することで、 ストレージのデータをコピーせずにテーブルを操作できる • データレイクとデータウェアハウス間、 複数のツール間などでシームレスにテーブルを共有
  12. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Iceberg の本質は テーブルフォーマット 14 「Apache Iceberg」という独⽴したソフトウェアが存在するわけではない • オープンソースの 「Iceberg テーブル仕様」が テーブルの構造と振る舞いを定義 • 各ツールがテーブル仕様に従ってデータ を操作することで、同じテーブルを 共有できる • Iceberg のテーブル仕様をどの範囲で / どのようにサポートするかは各ツールに 依存する点は注意が必要 Iceberg テーブル仕様のイメージ manifest list Manifest File Manifest File Manifest File Data Files Data Files Data Files S2 manifest list metadata file Db1.table1 S1 metadata file S1 メタデータ層 データ層 Iceberg カタログ
  13. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 15 クエリエンジン間でテーブルを共有 Iceberg を通じて様々なツールが同⼀のテーブル、トランザクションを共有できる Amazon Redshift AWS Glue Amazon Athena Python (PyIceberg) Iceberg テーブルを 操作可能なツールの例 Amazon EMR Amazon Managed Service for Apache Flink Iceberg テーブル仕様のイメージ manifest list Manifest File Manifest File Manifest File Data Files Data Files Data Files S2 manifest list metadata file Db1.table1 S1 metadata file S1 メタデータ層 データ層 Iceberg カタログ
  14. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Apache Iceberg の構成要素 16 • Iceberg を読み書きするツール (クエリエンジン) • 各ツールが Iceberg のテーブル仕様に準拠してテーブルを操作する • Iceberg カタログ • テーブル情報の管理とトランザクションの⼀貫性の保証を担う • 様々なカタログ実装が存在 (AWS Glue Data Catalog, S3 Tables Catalog等) • ストレージ • テーブルの実データとメタデータを配置する • 従来のデータレイクと同様に、信頼性が⾼くスケーラブルで、 コスト効率の良いストレージを使⽤する
  15. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS における Iceberg の活⽤ 17 ビジネス データカタログ Amazon SageMaker Data & AI Governance アクセスコントロール とデータ共有 データ品質管理 データリネージ AI ガバナンス 安全かつ効率的なデータ活⽤を ⽀えるガバナンス Amazon Data Firehose Amazon Managed Service for Apache Flink Amazon EMR Amazon Glue 多様なデータソースとの Zero-ETL 統合 SAP OData, ServiceNow Zendesk, Zoho CRM, Salesforce … etc Iceberg を中⼼に構成される オープンなレイクハウス Amazon SageMaker Lakehouse ⽬的別ストレージ AWS Glue Iceberg REST endpoint / REST extension endpoint オープンソースの Iceberg をより便利にする仕組みをワンストップで提供 Redshift Managed Storage S3 汎⽤バケット S3 テーブル バケット AWS Glue Data Catalog AWS Glue API Iceberg をネイティブに利⽤でき るクエリエンジン群 Amazon SageMaker Unified Studio 3 rd Party クエリエンジン連携 Iceberg テーブルへの 幅広い連携⽅式 Amazon EMR Amazon Glue Amazon RedshiftAmazon Athena
  16. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS における Iceberg の活⽤ 18 ビジネス データカタログ Amazon SageMaker Data & AI Governance アクセスコントロール とデータ共有 データ品質管理 データリネージ AI ガバナンス 安全かつ効率的なデータ活⽤を ⽀えるガバナンス Amazon Data Firehose Amazon Managed Service for Apache Flink Amazon EMR Amazon Glue 多様なデータソースとの Zero-ETL 統合 SAP OData, ServiceNow Zendesk, Zoho CRM, Salesforce … etc Iceberg を中⼼に構成される オープンなレイクハウス Amazon SageMaker Lakehouse ⽬的別ストレージ AWS Glue Iceberg REST endpoint / REST extension endpoint オープンソースの Iceberg をより便利にする仕組みをワンストップで提供 Redshift Managed Storage S3 汎⽤バケット S3 テーブル バケット AWS Glue Data Catalog AWS Glue API Iceberg をネイティブに利⽤でき るクエリエンジン群 Amazon SageMaker Unified Studio 3 rd Party クエリエンジン連携 Iceberg テーブルへの 幅広い連携⽅式 Amazon EMR Amazon Glue Amazon RedshiftAmazon Athena
  17. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS における Iceberg のストレージの選択肢 19 ユースケースに応じて柔軟な選択が可能 Redshift Managed Storage S3 汎⽤バケット S3 テーブルバケット • 汎⽤ S3 バケットと Glue Data Catalog を組み合わせて Iceberg テーブルを構成 • Key/prefixの設計や、テーブルを構成するデータを直接管理する • カスタマイズ性が⾼く、Iceberg や S3 の機能を隅々まで活かすことができる • Glue Data Catalog によってコストと性能の⾃動最適化が可能 • 表形式データに最適化された新しいバケットタイプで、Iceberg をフルマネージドに提供 • API のみを通じてテーブルの内部的な仕組みを意識することなく、 安全かつ効率的に Iceberg を利⽤できる • S3 テーブルバケット単独でコストと性能の⾃動最適化機能を備える • Amazon Redshift のストレージ である Redshift Managed Storage(RMS) 上のテーブ ルに対して Iceberg REST API によるアクセスが可能 • データレイクとデータウェアハウスのカタログやアクセスコントロールを共通化、 両者の統合運⽤を加速する
  18. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS における Iceberg のストレージの選択肢 20 ユースケースに応じて柔軟な選択が可能 Redshift Managed Storage S3 汎⽤バケット S3 テーブルバケット • 汎⽤ S3 バケットと Glue Data Catalog を組み合わせて Iceberg テーブルを構成 • Key/prefixの設計や、テーブルを構成するデータを直接管理する • カスタマイズ性が⾼く、Iceberg や S3 の機能を隅々まで活かすことができる • Glue Data Catalog によってコストと性能の⾃動最適化が可能 • 表形式データに最適化された新しいバケットタイプで、Iceberg をフルマネージドに提供 • API のみを通じてテーブルの内部的な仕組みを意識することなく、 安全かつ効率的に Iceberg を利⽤できる • S3 テーブルバケット単独でコストと性能の⾃動最適化機能を備える • Amazon Redshift のストレージ である Redshift Managed Storage(RMS) 上のテーブ ルに対して Iceberg REST API によるアクセスが可能 • データレイクとデータウェアハウスのカタログやアクセスコントロールを共通化、 両者の統合運⽤を加速する
  19. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルバケット 21 S3 table bucket Apache Iceberg Tables namespaces • テーブルバケット • 表構造データに特化したバケットタイプ • テーブルバケットごとに固有の ARN を持ち、 IAM ベースのリソースポリシーを設定できる • ネームスペース • テーブルバケット内のテーブルをまとめる 論理的な名前空間 • 各テーブルは単⼀のネームスペースに属する • テーブル • Iceberg 形式のテーブル • 内部的に Iceberg のデータ、メタデータを管理 • テーブルごとに固有の ARN を持ち、IAM ベース のリソースポリシーを設定できる
  20. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルの⾃動最適化 22 コストと性能の最適化に必要なメンテナンスを⾃動で実施 メンテナンス単位 メンテナンス項⽬ デフォルトの値 何をするのか なぜそうするのか 注意点 S3 テーブル Compaction テーブルのファイルを クエリに最適な単位に まとめる targetFileSizeMB: 512 ⼩さいサイズのオブジェク トを 512MBほどに束ねつつ、 「削除ファイル」による論 理削除を実データに反映す る 参照するファイルの数が増 えるので、性能も出づらく 、コストも割⾼ Apache Parquet フ ァイルタイプのみ Minimum 64MB Snapshot management 古くなったスナップショット を削除する(non current にする) minSnapshotsToKeep :1 maxSnapshotAgeHou rs: 120 少なくとも1世代のスナップ ショットを保持する。120時 間経過したらスナップショ ットを期限切れとする スナップショットを削除す ると、その参照先オブジェ クトを noncurrent扱いにす ることができる Metadata.json の扱 う retentionではな い(*) Minimum 1世代1h S3 テーブル バケット Unreferenced file removal どの Snapshot からも 参照されていないファイル (orphan file)の削除 unreferencedDays:3 nonCurrentDays:10 unreferencedDaysの⽇数 Snapshot から参照されてい ないオブジェクトをnon current扱いとし、 non current の状態で nonCurrentDaysの⽇数 経過したobjectを削除する 使われていないオブジェク トを保持しつづけるのは、 コストの観点で健全ではな い Noncurrent扱いと したobjectの削除は Undeleteできない Minimum 1⽇
  21. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルの⾃動最適化 23 コストと性能の最適化に必要なメンテナンスを⾃動で実施 メンテナンス単位 メンテナンス項⽬ デフォルトの値 何をするのか なぜそうするのか 注意点 S3 テーブル Compaction テーブルのファイルを クエリに最適な単位に まとめる targetFileSizeMB: 512 ⼩さいサイズのオブジェク トを、論理削除を⽰すファ イルを 512MBほどに束ねる 参照するファイルの数が増 えるので、性能も出づらく 、コストも割⾼ Apache Parquet フ ァイルタイプのみ Minimum 64MB Snapshot management 古くなったスナップショット を削除する(non current にする) minSnapshotsToKeep :1 maxSnapshotAgeHou rs: 120 少なくとも1世代のスナップ ショットを保持する。120時 間経過したらスナップショ ットを期限切れとする スナップショットを削除す ると、その参照先オブジェ クトを noncurrent扱いにす ることができる Metadata.json の扱 う retentionではな い(*) Minimum 1世代1h S3 テーブル バケット Unreferenced file removal どの Snapshot からも 参照されていないファイル (orphan file)の削除 unreferencedDays:3 nonCurrentDays:10 unreferencedDaysの⽇数 Snapshot から参照されてい ないオブジェクトをnon current扱いとし、 non current の状態で nonCurrentDaysの⽇数 経過したobjectを削除する 使われていないオブジェク トを保持しつづけるのは、 コストの観点で健全ではな い Noncurrent扱いと したobjectの削除は Undeleteできない Minimum 1⽇
  22. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. • Iceberg テーブルではトランザクションの度にデータファイルが作成される • テーブルを参照するクエリが多数のファイルを参照する場合、 ファイル操作のオーバーヘッドが課題になる場合がある • 適宜細かいファイルをまとめるコンパクション運⽤が必要になる 細かいデータファイルのコンパクション 24 Iceberg Table 過度に細かいデータファイル Iceberg Table 適切なサイズのデータファイル コンパクション
  23. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. • 論理削除モード(Merge on Read) で⾏を更新 / 削除した際、 書込み性能の最適化のため「削除ファイル」が作成される • 読み取りクエリは参照時にデータファイルと 削除ファイル の情報をマージする 必要があり、そのオーバーヘッドが課題になる場合がある • 適宜削除ファイルを データファイル に纏めるコンパクション運⽤が必要になる 削除ファイルのコンパクション 25 Iceberg Table Iceberg Table コンパクション データファイル 削除ファイル データファイル 内の レコードの論理削除情報 を削除ファイルに保持 デーファイル 削除情報を統合した データファイルを作成
  24. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルの⾃動最適化 26 コストと性能の最適化に必要なメンテナンスを⾃動で実施 メンテナンス単位 メンテナンス項⽬ デフォルトの値 何をするのか なぜそうするのか 注意点 S3 テーブル Compaction テーブルのファイルを クエリに最適な単位に まとめる targetFileSizeMB: 512 ⼩さいサイズのオブジェク トを、論理削除を⽰すファ イルを 512MBほどに束ねる 参照するファイルの数が増 えるので、性能も出づらく 、コストも割⾼ Apache Parquet フ ァイルタイプのみ Minimum 64MB Snapshot management 古くなったスナップショット を削除する(non current にする) minSnapshotsToKeep :1 maxSnapshotAgeHou rs: 120 少なくとも1世代のスナップ ショットを保持する。120時 間経過したらスナップショ ットを期限切れとする スナップショットを削除す ると、その参照先オブジェ クトを noncurrent扱いにす ることができる Metadata.json の扱 う retentionではな い(*) Minimum 1世代1h S3 テーブル バケット Unreferenced file removal どの Snapshot からも 参照されていないファイル (orphan file)の削除 unreferencedDays:3 nonCurrentDays:10 unreferencedDaysの⽇数 Snapshot から参照されてい ないオブジェクトをnon current扱いとし、 non current の状態で nonCurrentDaysの⽇数 経過したobjectを削除する 使われていないオブジェク トを保持しつづけるのは、 コストの観点で健全ではな い Noncurrent扱いと したobjectの削除は Undeleteできない Minimum 1⽇
  25. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 不要なスナップショットの削除 27 • Iceberg テーブルではトランザクションの 度にスナップショットを保存する • スナップショットの過去履歴を バージョン管理することで、 同時実⾏制御 や タイムトラベル、 ロールバックなどが可能になる • ⼀⽅で、不要なスナップショットを無制 限に蓄積してしまうと、 ストレージコストが課題になる • 適宜不要になったスナップショットを 削除する運⽤が必要になる manifest list manifest File manifest File manifest File Data Files Data Files data Files S2 メタデータ層 データ層 manifest list metadata file Iceberg カタログ Db1.table1 S1 metadata file S1
  26. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルの⾃動最適化 28 コストと性能の最適化に必要なメンテナンスを⾃動で実施 メンテナンス単位 メンテナンス項⽬ デフォルトの値 何をするのか なぜそうするのか 注意点 S3 テーブル Compaction テーブルのファイルを クエリに最適な単位に まとめる targetFileSizeMB: 512 ⼩さいサイズのオブジェク トを、論理削除を⽰すファ イルを 512MBほどに束ねる 参照するファイルの数が増 えるので、性能も出づらく 、コストも割⾼ Apache Parquet フ ァイルタイプのみ Minimum 64MB Snapshot management 古くなったスナップショット を削除する(non current にする) minSnapshotsToKeep :1 maxSnapshotAgeHou rs: 120 少なくとも1世代のスナップ ショットを保持する。120時 間経過したらスナップショ ットを期限切れとする スナップショットを削除す ると、その参照先オブジェ クトを noncurrent扱いにす ることができる Metadata.json の扱 う retentionではな い(*) Minimum 1世代1h S3 テーブル バケット Unreferenced file removal どの Snapshot からも 参照されていないファイル (orphan file)の削除 unreferencedDays:3 nonCurrentDays:10 unreferencedDaysの⽇数 Snapshot から参照されてい ないオブジェクトをnon current扱いとし、 non current の状態で nonCurrentDaysの⽇数 経過したobjectを削除する 使われていないオブジェク トを保持しつづけるのは、 コストの観点で健全ではな い Noncurrent扱いと したobjectの削除は Undeleteできない Minimum 1⽇
  27. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. スナップショットに参照されないファイルの削除 29 • Iceberg テーブルでは、トランザクションの 過程でどのスナップショットからも使⽤され ないファイルが作成される場合がある • 例︓同時書き込みに失敗してコミットされ なかったスナップショット • テーブルを運⽤していくうちに、ストレージ に不要なファイルが溜まってしまう • 適宜スナップショットに参照されない ファイルを削除する運⽤が必要になる manifest list manifest File manifest File manifest File Data Files Data Files data Files S2 メタデータ層 データ層 manifest list metadata file Iceberg カタログ Db1.table1
  28. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルの⾃動最適化 30 コストと性能の最適化に必要なメンテナンスを⾃動で実施 メンテナンス単位 メンテナンス項⽬ デフォルトの値 何をするのか なぜそうするのか 注意点 S3 テーブル Compaction テーブルのファイルを クエリに最適な単位に まとめる targetFileSizeMB: 512 ⼩さいサイズのオブジェク トを、論理削除を⽰すファ イルを 512MBほどに束ねる 参照するファイルの数が増 えるので、性能も出づらく 、コストも割⾼ Apache Parquet フ ァイルタイプのみ Minimum 64MB Snapshot management 古くなったスナップショット を削除する(non current にする) minSnapshotsToKeep :1 maxSnapshotAgeHou rs: 120 少なくとも1世代のスナップ ショットを保持する。120時 間経過したらスナップショ ットを期限切れとする スナップショットを削除す ると、その参照先オブジェ クトを noncurrent扱いにす ることができる Metadata.json の扱 う retentionではな い(*) Minimum 1世代1h S3 テーブル バケット Unreferenced file removal どの Snapshot からも 参照されていないファイル (orphan file)の削除 unreferencedDays:3 nonCurrentDays:10 unreferencedDaysの⽇数 Snapshot から参照されてい ないオブジェクトをnon current扱いとし、 non current の状態で nonCurrentDaysの⽇数 経過したobjectを削除する 使われていないオブジェク トを保持しつづけるのは、 コストの観点で健全ではな い Noncurrent扱いと したobjectの削除は Undeleteできない Minimum 1⽇
  29. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS CLI での S3 テーブル作成の流れ (1/2) 31 # テーブルバケット作成 aws s3tables create-table-bucket --name <bucket name> # バケットの ARN 確認 aws s3tables list-table-buckets # ネームスペース作成 aws s3tables create-namespace ¥ --table-bucket-arn <table bucket arn> ¥ --namespace <namespace name>
  30. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS CLI での S3 テーブル作成の流れ (2/2) 32 # テーブル作成 aws s3tables create-table --cli-input-json file://mytabledefinition.json { "tableBucketARN": ”<tableBucketARN>", "namespace": ”<namespace name>", "name": ”<table name>", "format": "ICEBERG", "metadata": { "iceberg": { "schema": { "fields": [ {"name": "id", "type": "int","required": true}, {"name": "name", "type": "string"}, {"name": "value", "type": "int"} ] } } } } mytabledefinition.json の例 *テーブルの作成は PyIceberg や Spark などからも可能 *パーティション定義など⼀部の DDL は CLI 未対応 テーブル定義
  31. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルへのアクセスフロー (1/2) 33 S3 テーブル単体でのアクセスパターン S3 テーブル単体でのアクセスと、AWS Lake Formation との統合が可能 S3 テーブル S3 Tables Catalog Library (Jar) Iceberg をサポートするクエリ エンジン(Spark on EMR 等) • Iceberg をサポートするエンジンに S3 Tables Catalog の jar を導⼊してアクセス • Amazon S3 と AWS IAM のみで完結するシンプルなアクセスフロー https://github.com/awslabs/s3-tables-catalog IAM
  32. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S3 テーブルへのアクセスフロー (2/2) 34 AWS Lake Formation との統合アクセスパターン (Preview) S3 テーブル単体でのアクセスと、AWS Lake Formation との統合が可能 • S3 Tables 以外のストレージを使⽤した Iceberg テーブルとの統合管理が可能 • AWS Lake Formation の認可モデルを導⼊ • 様々なデータ分析サービスからのアクセスが可能 S3 テーブル AWS Glue Data Catalog AWS Lake Formation Iceberg をサポートする クエリエンジン Amazon EMR Amazon Athena Amazon Redshift
  33. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. デモ: Amazon Athena と Python から S3 テーブルにクエリする 36 Amazon Athena Python (PyIceberg) S3 table bucket Apache Iceberg Tables namespaces AWS Glue Data Catalog AWS Lake Formation PyIceberg: Iceberg テーブルの操作に使える軽量な Python クライアント Amazon Athena: S3 などのデータを インタラクティブに分析できるサーバレスなクエリ サービス。並列処理により⼤規模なデータにも対応可能 AWS Lake Formation: 様々なテーブルへのシンプルかつきめ細やかなアクセス制御を実現 AWS Glue Data Catalog: テーブルのテクニカルメタデータを保管するリポジトリ
  34. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. (補⾜) Iceberg 利⽤上の留意点 37 • RDBMS の代替になるものではない • トランザクションの分離は原則テーブル単位 • レコードの⼀意性を保証する仕組みはない • 性能特性は OLAP 指向であり、低遅延なクエリレスポンスや ⼤量・⾼頻度の同時書き込みに特化した作りにはなっていない • 各種クエリエンジンが Iceberg テーブル仕様を どこまで / どのようにサポートするかは個別に確認が必要 • コストと性能を最適化するため、適切なテーブルメンテナンスが 必要になる Iceberg の特徴を踏まえて、ユースケースを⾒極めた設計・運⽤が重要
  35. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. まとめ 38 • Apache Iceberg はテーブルデータを⾼速かつ便利に扱う仕組みを備えており、 従来のデータレイクの課題を解決する • 様々なクエリエンジンが Iceberg のテーブルフォーマットを共有することで、 シームレスに繋がることができる • AWS はオープンソースの Iceberg をより便利に扱う仕組みを ワンストップで提供する • AWS で Iceberg を利⽤する際のストレージは⽬的に合わせて選択でき、 SageMaker Lakehouse を通じて統合される • S3 テーブルバケットはAPI のみを通じてテーブルの内部的な仕組みを意識するこ となく、安全かつ効率的に Iceberg を利⽤できる
  36. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Thank you! © 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.