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
0
250
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
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
7
今年の一番の機能追加って何だろう?
okaru
0
95
宇宙最速のランチRecap LT会 (AWS re:Invent 2024)
okaru
2
170
TiDBを入れたけれど オートスケールがなかったよ
okaru
0
16
『Datadogのコスト削減』やってみた
okaru
0
22
令和最新版 メールの技術LT会 @ yabaibuki.dev #1 〜BIMIって・・・〜
okaru
0
110
ゆるSRE勉強会 #6 LT
okaru
0
410
小規模な会社のSREのリアル
okaru
0
170
Techbrew in Tokyo April 2024
okaru
0
30
Other Decks in Technology
See All in Technology
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
200
OpenSearchでレガシーな検索処理の大幅改善をやってやろう
dznbk
1
110
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
440
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
400
アセスメントで紐解く、10Xのデータマネジメントの軌跡
10xinc
1
360
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
6
1.8k
試験は暗記より理解 〜効果的な試験勉強とその後への活かし方〜
fukazawashun
0
350
AI AgentOps LT大会(2025/04/16) Algomatic伊藤発表資料
kosukeito
0
130
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
260
Android는 어떻게 화면을 그릴까?
davidkwon7
0
100
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
120
古き良き Laravel のシステムは関数型スタイルでリファクタできるのか
leveragestech
1
640
Featured
See All Featured
Visualization
eitanlees
146
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.1k
Being A Developer After 40
akosma
91
590k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
740
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Automating Front-end Workflow
addyosmani
1369
200k
KATA
mclloyd
29
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
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. ご清聴 ありがとうございました!