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
2
370
Amazon S3 Tables + Amazon Athena / Apache Iceberg
LT 2025/4/12
Kaoru
April 13, 2025
Tweet
Share
More Decks by Kaoru
See All by Kaoru
ゆるSRE #11 LT
okaru
1
760
AI Engineering Summit Pre Event LT #10
okaru
2
630
AIエージェント実践集中コース LT
okaru
1
220
技術選定を突き詰める 懇親会LT
okaru
2
1.4k
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
27
今年の一番の機能追加って何だろう?
okaru
0
110
宇宙最速のランチRecap LT会 (AWS re:Invent 2024)
okaru
2
180
TiDBを入れたけれど オートスケールがなかったよ
okaru
0
27
『Datadogのコスト削減』やってみた
okaru
0
38
Other Decks in Technology
See All in Technology
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
190
ClaudeCodeにキレない技術
gtnao
1
940
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
1
180
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
39k
Microsoft Defender XDRで疲弊しないためのインシデント対応
sophiakunii
3
380
Building GoReleaser - from shell script to paid product
caarlos0
0
200
エンジニアリングマネージャー“お悩み相談”パネルセッション
ar_tama
1
500
Transformerを用いたアイテム間の 相互影響を考慮したレコメンドリスト生成
recruitengineers
PRO
2
590
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
260
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
130
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
200
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
27
7.6k
Featured
See All Featured
Side Projects
sachag
455
43k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Scaling GitHub
holman
460
140k
Balancing Empowerment & Direction
lara
1
480
A Modern Web Designer's Workflow
chriscoyier
695
190k
Practical Orchestrator
shlominoach
189
11k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Why Our Code Smells
bkeepers
PRO
337
57k
Navigating Team Friction
lara
187
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. ご清聴 ありがとうございました!