Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon S3 Tables + Amazon Athena / Apache Iceberg
Search
Kaoru
April 13, 2025
Technology
580
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon S3 Tables + Amazon Athena / Apache Iceberg
LT 2025/4/12
Kaoru
April 13, 2025
Transcript
27 slides
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. ご清聴 ありがとうございました!
More Decks by Kaoru
See All by Kaoru
古今東西SRE
okaru
2
310
Qiita Bash アドカレ LT #1
okaru
0
310
Mobile App with AI Meetup #1
okaru
0
160
JAWS-UG SRE支部 #14 LT
okaru
0
300
ゆるSRE #11 LT
okaru
1
1.1k
AI Engineering Summit Pre Event LT #10
okaru
2
860
AIエージェント実践集中コース LT
okaru
1
330
技術選定を突き詰める 懇親会LT
okaru
2
1.5k
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
79
Other Decks in Technology
See All in Technology
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
220
おうち環境でも「なるべく止めたくない!」 ― おうち環境の機器冗長化の理想と現実
yuutosi
0
100
MCPでネットワーク障害調査を自動化する前に直すべき3つのこと
yama3133
0
240
契約書SaaSにAIエージェントを組み込む
sansantech
PRO
0
130
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
250
2026-11-11 Tamachi.sre#7 PaCにインフラリソースの命を救われました。 / PaC saves the infra resource life
masasuzu
1
170
あの日、見つかっていなかったらどうなっていたか
kazzpapa3
2
210
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
110
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
常時稼働エージェントの作り方(Claude公式ブログを資料化)
minorun365
PRO
6
9.4k
Claude Securityを使ってみた / claude-security-claude-code-meetup-nagoya
tnir
0
110
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
2
570
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
A Soul's Torment
seathinner
9
3.9k
Balancing Empowerment & Direction
lara
6
1.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Docker and Python
trallard
47
4.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
How to build a perfect <img>
jonoalderson
1
6.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
A Tale of Four Properties
chriscoyier
163
24k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660