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
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg...
Search
CADDi
June 19, 2025
Technology
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
2025年6月18日に開催されたIceberg Japan Metup# 2でエンジニアの前多が発表した資料です
CADDi
June 19, 2025
More Decks by CADDi
See All by CADDi
製造業にRAGを導入する開発体制の変遷 / ManuAI1
caddi_eng
3
200
バラバラな見積明細と戦う話 / ManuAI2
caddi_eng
0
170
LLMに図面は読めるか – 製造業の「暗黙知」を突破するコンテキスト設計3つのアプローチ / LLMcontext
caddi_eng
1
350
「定型」を許さない製造業データへの挑戦 高度な絞り込みと意味検索を両立する実践 / ElasticON
caddi_eng
0
480
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
910
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
17k
製造業の会計システムをDDDで開発した話
caddi_eng
3
2.5k
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
2.4k
CADDi Company Deck_Global.pdf
caddi_eng
1
910
Other Decks in Technology
See All in Technology
大型犬好きによるPugの紹介
yamanoku
1
160
今さら理解するウェブフォントver.2026
takanorip
3
920
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
390
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
360
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
100
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
310
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
Metadata - Section 1: HTML Basics
mohab1
0
130
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
30 Presentation Tips
portentint
PRO
1
430
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
New Earth Scene 8
popppiees
4
2.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Statistics for Hackers
jakevdp
799
230k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Transcript
© CADDi Inc. © CADDi Inc. キャディでの Apache Iceberg, Trino採⽤事例
- Apache Iceberg and Trino Usecese in CADDi - Kentaro Maeda Iceberg Japan Meetup #2 2025/06/18 1
© CADDi Inc. 2 About Me Kentaro Maeda • X:
@kencharos • Software Engineer at CADDi ◦ Java, Go, k8s, Istio, envoy • お酒と⽝
© CADDi Inc. 3 About CADDi エンジニア向け紹介資料 - Speaker Deckより
© CADDi Inc. 4 Theme 私たちは、2024年の秋からApache Iceberg, Trinoを中核としたデータ活⽤サー ビスを開発しています Apache
Iceberg, Trinoをスモールスタートで運⽤している事例についてお伝えし ます
© CADDi Inc. 5 Contents • 製造業で扱うデータの複雑さ • Apache Iceberg
と Trinoの採⽤ • 開発中の困りごととその解決策 • 今後の展望
© CADDi Inc. 6 製造業で扱うデータの複雑さ
© CADDi Inc. 製造業で扱うデータは多種多様 会社ごとに扱うデータの種類、フォーマット、サイズなどは異なる。 7 分類 具体例 構造化データ •
実績データ(見積実績、受注実績、発注実績、製造実績、検査実績、出荷実績、 請求実績、在庫実績など • マスタデータ(顧客情報、製品、仕入れ先、工程、設備情報、検査器具、チャージ など) 半構造化データ • CAD 非構造化データ • 図面 • 写真 • 文書(仕様書、マニュアル、不具合報告書、議事録など )
© CADDi Inc. データ活⽤のためには解析と関連付けが必要 • データを集めるだけで、データを検索できないのでは活⽤はできない • 検索‧分析できる状態までデータを解析して蓄積する必要がある • 蓄積したデータ同⼠を関連付けることで、企業活動を促進する
データの分析と関連付けのために、データを蓄積する基盤が必要であると考えた 8
© CADDi Inc. 9 Apache Iceberg と Trinoの採⽤
© CADDi Inc. 何を作るのか? • まずは構造化データの登録と関連付けに着⽬ • 顧客が任意のデータをアップロードし、データを登録する • 図⾯登録データとの関連付けを設定し、図⾯と⼀緒に関連データとして表⽰する
10 図⾯登録 データ 登録済み データ 図⾯ 任意の データ 関連付け データ
© CADDi Inc. Iceberg, Trinoを選んだ理由 • タイミングが良かった ◦ 開発を始めた頃にIcebergと周辺技術が成熟してきていた •
従来のデータ基盤技術と⽐較して、運⽤しやすい構成 ◦ オブジェクトストレージ+クエリエンジン、HDFSのようなストレージの運⽤が不要 • ある程度のクセはあるが、CRUDができるデータフォーマット • スケールしやすい構成 ◦ ⼤量データでなくても低コストストレージと、クエリエンジンのスケールによって コストを抑えやすい • 現在はTrinoのみだが、⽤途に応じてクエリエンジンを使い分けることができる 11
© CADDi Inc. その他の技術選定の候補 • いくつかの候補を挙げたが、仮説検証の速さ、構成変更のしやすさ、コストやデータサイズが 増えた場合の影響などを重視して決定した 12 製品 メリット
デメリット RDBMS 扱いやすさ データサイズ拡大時のコストとパフォーマンス BigQuery マネージドサービス 大規模でも扱える コスト見積もりが困難 DuckDB 導入が容易 サーバーアプリケーション向きではない Apache Spark 大規模データの参照・編集に すぐれる 今回はデータの参照中心の要件であるため、運用が 楽なTrinoを採用(将来の採用はあり得る ) 有償製品 豊富な機能、サポート 仮説検証時点では調達リードタイム等を考慮して見 送り(将来の採用はあり得る )
© CADDi Inc. アプリケーションの構成 GKE上に主要なアプリケーションを全て構築 主要な開発⾔語はJava, フレームワークはQuarkus 13
© CADDi Inc. 14 開発中の困りごととその解決策
© CADDi Inc. Iceberg Catalog選定問題 • 開発当時(2024年秋), Icebergの Catalogについてはhiveが基本でREST Catalog
はこれから標準 になっていくという雰囲気 • 当初はGoogle Cloud Dataproc Metastore を使う想定だったが、以下の理由によって諦めた ◦ Icebergのみを使うのにhive metastore を使うのは学習コストが⾼い ◦ 認証認可をやるには Kerberosの運⽤が必要になりそう • 将来移⾏するリスクを飲む前提で、tabulario/iceberg-rest (現在は iceberg-rest-fixture)と RDBMSを採⽤ • REST Catalogは現時点でも⾊々な選択肢があるので、今後の動向を⾒守っている ◦ Google Cloudの BigQuery Metastoreにも期待 15
© CADDi Inc. ⼤量データ投⼊が遅い問題 • 性能テストで1000万件以上のデータ投⼊のために、Trinoからデータ投⼊をしていたら2⽇か かっても終わらなかった • IcebergのJava API
を使って、Trinoを介さず直接データを書き込むようにした ◦ おおよそ 1000万件を 15分で処理できるように ◦ アップロードファイル単位のコミット制御も可能になった ◦ 詳しくは -> https://caddi.tech/2025/03/31/114754 • リリース開始後に数百万件の実データ投⼊の要件が発⽣したので、アプリケーションの登録 処理にも流⽤して効率をあげた ◦ 今後はPyIcebergや Sparkなども試していきたい 16
© CADDi Inc. 17 今後の展望
© CADDi Inc. 今後の展望 製造業AIデータプラットフォームCADDiを⽀えるデータ基盤として機能と品質を充実させ ていく • セキュリティ、認証認可の強化 • データカタログなどデータ基盤としての機能の拡充
• データパイプラインや⾃動メンテナンスなどの⾮機能の充実 18
© CADDi Inc. まとめ • スモールスタートからでもIceberg, Trinoは⾃分たちで制御可能なデータ基盤技術 ◦ 簡単ではないが、ものすごく複雑でもない ◦
これまでのデータ基盤技術の集⼤成だと感じる • エコシステムがこれからも充実していきそうなIcebergにこれからも注⽬していきた い 19
© CADDi Inc. © CADDi Inc. 20 終わり