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
17
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
8
徹底比較!LonghornとCephのアーキテクチャ&パフォーマンス
microaddevelopers
PRO
0
240
マイクロアドでの Hive → Iceberg 移行事例紹介
microaddevelopers
PRO
1
120
Rancher × Hashicorp Vault で 実現する秘密情報管理
microaddevelopers
PRO
1
64
大規模システムを支える実践的インフラ基盤の開発と運用
microaddevelopers
PRO
0
90
マイクロアドのData LakehouseとIcebergテーブルの最適化について
microaddevelopers
PRO
1
41
広告配信システムにおけるデータ基盤移行の事例紹介
microaddevelopers
PRO
0
15
3rd Party Cookie 規制後の広告配信技術
microaddevelopers
PRO
0
15
Kafka Connect:Iceberg Sink Connectorを使ってみる
microaddevelopers
PRO
1
38
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
160
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The agentic SEO stack - context over prompts
schlessera
0
840
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
410
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Fireside Chat
paigeccino
42
4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
30 Presentation Tips
portentint
PRO
1
340
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
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