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
オンプレ環境でIcebergを運用して分かったテーブルメンテナンスの重要性
Search
システム開発部広報委員会
PRO
June 11, 2026
14
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 システム開発部広報委員会
徹底比較!LonghornとCephのアーキテクチャ&パフォーマンス
microaddevelopers
PRO
0
180
マイクロアドでの Hive → Iceberg 移行事例紹介
microaddevelopers
PRO
1
110
Rancher × Hashicorp Vault で 実現する秘密情報管理
microaddevelopers
PRO
1
62
大規模システムを支える実践的インフラ基盤の開発と運用
microaddevelopers
PRO
0
74
マイクロアドのData LakehouseとIcebergテーブルの最適化について
microaddevelopers
PRO
1
34
広告配信システムにおけるデータ基盤移行の事例紹介
microaddevelopers
PRO
0
15
3rd Party Cookie 規制後の広告配信技術
microaddevelopers
PRO
0
15
Kafka Connect:Iceberg Sink Connectorを使ってみる
microaddevelopers
PRO
1
37
【技術報告】広告配信における安定して拡張性のある大量データ処理基盤の必要性と活用
microaddevelopers
PRO
0
15
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
The Spectacular Lies of Maps
axbom
PRO
1
800
The Limits of Empathy - UXLibs8
cassininazir
1
350
Building Applications with DynamoDB
mza
96
7.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Accessibility Awareness
sabderemane
1
140
Documentation Writing (for coders)
carmenintech
77
5.4k
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