Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon S3 Tables + Amazon Athena / Apache Iceberg
Search
Kaoru
April 13, 2025
Technology
530
2
Share
Amazon S3 Tables + Amazon Athena / Apache Iceberg
LT 2025/4/12
Kaoru
April 13, 2025
More Decks by Kaoru
See All by Kaoru
古今東西SRE
okaru
2
220
Qiita Bash アドカレ LT #1
okaru
0
270
Mobile App with AI Meetup #1
okaru
0
120
JAWS-UG SRE支部 #14 LT
okaru
0
220
ゆるSRE #11 LT
okaru
1
1k
AI Engineering Summit Pre Event LT #10
okaru
2
830
AIエージェント実践集中コース LT
okaru
1
300
技術選定を突き詰める 懇親会LT
okaru
2
1.5k
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
65
Other Decks in Technology
See All in Technology
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
190
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
240
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
620
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
350
新アーキテクチャ「TiDB X」解説とDedicated比較 TiDB Cloud Premiumのゲーム運用活用を検証
staffrecruiter
0
110
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
110
Building applications in the Gemini API family.
line_developers_tw
PRO
0
590
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
46
50k
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.2k
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.4k
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
670
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.4k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Bash Introduction
62gerente
615
210k
So, you think you're a good person
axbom
PRO
2
2k
Designing for humans not robots
tammielis
254
26k
Color Theory Basics | Prateek | Gurzu
gurzu
0
340
Building an army of robots
kneath
306
46k
Making Projects Easy
brettharned
120
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
エンジニアに許された特別な時間の終わり
watany
107
250k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Amazon S3 Tables + Amazon Athena / Apache Iceberg
LT Iceberg の語源から 2025/4/12
©2025 Voicy, Inc. 自己紹介 名前:織田 薫(かおる) 会社:株式会社Voicy 職業:SRE ぺんぎん好き mixi2:@penpen
©2025 Voicy, Inc.
©2025 Voicy, Inc. https://prtimes.jp/main/html/rd/p/000000390.000021111.html
©2025 Voicy, Inc. Voicyのアーキテクチャ • FidyTools(https://findy-tools.io/companies/voicy/78/13)
©2025 Voicy, Inc. Iceberg の語源 • オランダ語の ijsberg •
ijs => ice = 氷 • berg => berg = 山
©2025 Voicy, Inc. 氷山
©2025 Voicy, Inc. 氷山とペンギン
©2025 Voicy, Inc. なぜ、Iceberg なのか? • 「氷山(iceberg)」の一角のように、「目に見える データは一部だけで、その下に大きな構造が隠れ ている」という発想に基づいて名付けられたそう
©2025 Voicy, Inc. Iceberg のテーブル構造
©2025 Voicy, Inc. メタデータファイル(metadata.json) • テーブル全体の基本情報と履歴管理を担うファイ ル • 最新スナップショットのID、スキーマ定義、パーティ
ション方式などを含む • Icebergのテーブルルートに置かれる
©2025 Voicy, Inc. メタデータファイル(metadata.json)
©2025 Voicy, Inc. スナップショットファイル(snapshot-*.json) • テーブルのある時点の状態を記録 • どのマニフェストを参照しているか、どのような操 作(append,
overwrite, delete)だったかが記録され る
©2025 Voicy, Inc. スナップショットファイル(snapshot-*.json)
©2025 Voicy, Inc. マニフェストファイル(manifest-*.avro) • 実際のデータファイル(Parquetなど)のリスト • 各データファイルの行数、パーティションキー、 min/max値、nullの有無などの統計情報が含まれ
る • クエリエンジンはこれを使って、プルーニング(ファ イルスキップ)などの最適化が可能になる
©2025 Voicy, Inc. マニフェストファイル(manifest-*.avro)
©2025 Voicy, Inc. S3 Tables では 引用:https://medium.com/aws-tip/deep-dive-into-new-amazon-s3-tables-4e1de56394eb
©2025 Voicy, Inc. S3 Tables では 引用:https://medium.com/aws-tip/deep-dive-into-new-amazon-s3-tables-4e1de56394eb
©2025 Voicy, Inc. Parquet の語源 • フランス語の parquet •
寄せ木細工の床、という意味 • 読み方は、パーケイ or パルケ
©2025 Voicy, Inc. なぜ、Parquet なのか? • 列指向ストレージでは、データを行単位ではなく 「列ごと」にまとめて格納。これはちょうど、いろん な種類の木材を組み合わせてパターン化された
寄せ木細工の床を作るのに似ており、それがこの 形式の名前の由来になってる
©2025 Voicy, Inc. Parquet のファイル構造
©2025 Voicy, Inc. File Header • 固定のマジックバイト列 "PAR1" から始まる
• フォーマット識別用
©2025 Voicy, Inc. Row Group • データをある程度のサイズ(通常は128MBなど)で ブロック単位に区切ったもの •
1 Row Group = 全列のデータのまとまり • 複数のRow Groupで1ファイルを構成することがで きる
©2025 Voicy, Inc. Column Chunk • Row Group 内で
各列ごとのデータを保持 • 列指向なので、列ごとに連続したデータを保存し、 圧縮・エンコードがしやすい
©2025 Voicy, Inc. Pages • Column Chunk は 複数の
Page に分割される ◦ Data Page:実データを保持 ◦ Dictionary Page(任意):辞書圧縮時にキーと 値のマッピングを保持 ◦ Index Page:高速アクセス用
©2025 Voicy, Inc. File Footer • ファイル末尾にある重要なメタ情報セクション • 内容:
◦ スキーマ情報(列名、型、ネスト構造) ◦ 各 Row Group のオフセット、サイズ、列統計情 報(min/max, null count) ◦ 作成ツールのバージョンなど
©2025 Voicy, Inc. ご清聴 ありがとうございました!