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
オンプレ環境でIcebergを運用して分かったテーブルメンテナンスの重要性
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
株式会社マイクロアド(システム開発部)
PRO
June 11, 2026
46
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オンプレ環境でIcebergを運用して分かったテーブルメンテナンスの重要性
2026/06/11 Apache Iceberg実践 ! ベストプラクティス Meetup
オンプレ環境でIcebergを運用して分かったテーブルメンテナンスの重要性
株式会社マイクロアド(システム開発部)
PRO
June 11, 2026
More Decks by 株式会社マイクロアド(システム開発部)
See All by 株式会社マイクロアド(システム開発部)
Rancherで実現した、クラウドに頼らない低コストな次世 代データレイク
microaddevelopers
PRO
0
51
徹底比較!LonghornとCephのアーキテクチャ&パフォーマンス
microaddevelopers
PRO
0
370
マイクロアドでの Hive → Iceberg 移行事例紹介
microaddevelopers
PRO
1
150
Rancher × Hashicorp Vault で 実現する秘密情報管理
microaddevelopers
PRO
1
81
大規模システムを支える実践的インフラ基盤の開発と運用
microaddevelopers
PRO
0
110
マイクロアドのData LakehouseとIcebergテーブルの最適化について
microaddevelopers
PRO
1
55
広告配信システムにおけるデータ基盤移行の事例紹介
microaddevelopers
PRO
0
35
3rd Party Cookie 規制後の広告配信技術
microaddevelopers
PRO
0
28
Kafka Connect:Iceberg Sink Connectorを使ってみる
microaddevelopers
PRO
1
46
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Ruling the World: When Life Gets Gamed
codingconduct
0
380
We Are The Robots
honzajavorek
0
380
Building the Perfect Custom Keyboard
takai
2
890
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
How to Talk to Developers About Accessibility
jct
2
560
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
My Coaching Mixtape
mlcsv
0
340
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 オンプレ環境でIcebergを運用してわかった テーブルメンテナンスの重要性
株式会社マイクロアド 高橋 唐樹 1
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 • マイクロアド
データマネージメントユニット ▪ 大規模データ処理開発 ▪ データマネジメント • 好きな言語 ▪ Python • 経歴 ▪ 2022/4: 株式会社マイクロアドに新卒入社 自己紹介 / 高橋 唐樹 2
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 株式会社マイクロアド 3
Redesigning the Future Life
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 マイクロアドのデータ基盤 /
概要 4 • 最近HiveからIcebergに移行 ▪ 移行の話は OTF Talk #32 とか OTFSG Tokyo Meetup #5 とかでしてます • クエリエンジン・カタログ・ストレージともにオンプレで運用 ▪ Trino, Spark ▪ iceberg-rest-fixture: 自動メンテナンス機能なしのシンプルなカタログ ▪ Dell ECS (ObjectScale): S3互換ストレージ
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 伝えたいこと Icebergの本格運用を考え始めるなら、
テーブルメンテナンスの検討が不可欠である 5
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 Icebergのテーブルメンテナンス 6
• Expire Snapshots ▪ 古いデータを消す ▪ 容量を減らすためには必須 • Remove Orphan Files ▪ 追跡されていない孤立ファイルを消す ▪ 書き込み失敗時 + 正常な運用でも追跡されないメタデータファイルは出る • Rewrite Data Files (コンパクション) ▪ 細かく分かれたデータファイルをまとめる ▪ データの読み込みが効率化 • Rewrite Manifests ▪ マニフェストファイルをまとめる ▪ 実行計画作成が効率化
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 Icebergのテーブルメンテナンス 7
• Expire Snapshots ▪ 古いデータを消す ▪ 容量を減らすためには必須 • Remove Orphan Files ▪ 追跡されていない孤立ファイルを消す ▪ 書き込み失敗時 + 正常な運用でも追跡されないメタデータファイルは出る • Rewrite Data Files (コンパクション) ▪ 細かく分かれたデータファイルをまとめる ▪ データの読み込みが効率化 • Rewrite Manifests ▪ マニフェストファイルをまとめる ▪ 実行計画作成が効率化
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 事例① /
書き込み頻度が高いテーブル 8 • クローリング結果を書き込むテーブル ▪ データ量はあまり多くない • 複数のクローリング処理から同時に書き込んでいる ▪ 数秒おきに書き込み : 正常なファイル・古くて追跡されなくなったメタデータファイルが大量に発生 ▪ 書き込みの競合も多い : リトライで書き直されたファイルが大量に発生 • テーブルメンテナンスは手動運用 ▪ 他のテーブルとはライフサイクルが違うため
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 事例① /
書き込み頻度が高いテーブル 9 • Remove Orphan Filesを実行したときに起こったこと ▪ SparkのDriverのメモリを大量に要求される ▪ SparkのBroadcast Joinの上限 (8GB) を超えてそのままでは実行できない ▪ ストレージ層からの応答が不安定になる • 何が起きた? ▪ テーブルで追跡している全ファイル と テーブルのロケーションにある全ファイル を照合して孤立ファイルを判定 ▪ テーブルで追跡しているファイルの一覧が巨大 ▪ S3はテーブルのロケーションにある全ファイルの取得が苦手 • 削除対象の期間を絞っても照合にかかる計算コストは同程度 ▪ 放置しすぎると”詰む”可能性がある
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 事例② /
Merge on Readテーブル 10 • 日次で更新されるマスターテーブル ▪ データ規模: 約200〜300億件 ▪ 日次での更新: 全体の10%程度 ▪ → 大部分は更新されないので全件書き直しはコストが高い • MoRで更新することで書き込み量を削減 ▪ MoR: Merge on Read = 差分書き込み ▪ ⇔ CoW: Copy on Write CREATE TABLE sample ( ... ) USING iceberg TBLPROPERTIES ( 'write.{ delete | update | merge }.mode'='merge-on-read' );
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 事例② /
Merge on Readテーブル 11 • テーブルメンテナンス (コンパクション) をしないと参照のパフォーマンスは悪化する ▪ 様子見で自動化してなかった ▪ 手動作業のコンパクション自体で 1時間半かかるような場合も • 定期的にコンパクションするよう自動化した ▪ 平均ファイルサイズなどのしきい値で悩むくらいならまずやる! Merge on Readテーブルを参照する定期実行クエリの処理時間 手動作業 手動作業 手動作業 手動作業 ここから自動化
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 まとめ 12
• Icebergカタログ選定の段階でテーブルメンテナンス機能は考慮すべき ▪ マネージドだと自動メンテナンスが多い ▪ セルフマネージドでも Lakekeeperのように機能としてあるカタログもある • 自動メンテナンス機能のないカタログを選ぶ場合も運用初期から仕組みを検討すべき ▪ しきい値調整は後からできるので詰んでしまう前にやる
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 伝えたいこと Icebergの本格運用を考え始めるなら、
テーブルメンテナンスの検討が不可欠である 13
Apache Iceberg実践 ! ベストプラクティス Meetup | オンプレ環境で Icebergを運用してわかったテーブルメンテナンスの重要性 株式会社 マイクロアド
〒150-0031 東京都渋谷区桜丘町 20-1 渋谷インフォスタワー 13F www.microad.co.jp 14