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
データカタログ運用物語 〜令和6年夏の理想と現実〜
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kuro
July 26, 2024
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データカタログ運用物語 〜令和6年夏の理想と現実〜
Cloud Operator Days2024で登壇した時のスライドです。
kuro
July 26, 2024
More Decks by kuro
See All by kuro
Bit by Bit: Building a SIMD CSV Parser in Go 1.26
kuro_kurorrr
0
18
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
2.6k
GoLab2025 Recap
kuro_kurorrr
0
5.2k
OpenFeatureに学ぶ コミュニティの広げ方
kuro_kurorrr
0
52
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
3.7k
Weak References in Go 1.24: Memory Management Superpowers
kuro_kurorrr
0
95
サプライチェーン攻撃に学ぶModuleの仕組みと セキュリティ対策
kuro_kurorrr
3
2k
PipeCD と Bucketeer の Document MCP Serverを作って公開した話
kuro_kurorrr
0
240
近頃の気になるGo testingパッケージ
kuro_kurorrr
3
670
Other Decks in Programming
See All in Programming
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
790
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
290
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
310
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
230
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.4k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
これからAgentCoreを触る方へトレンドはGatewayです
har1101
2
290
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
140
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
200
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
220
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
470
Featured
See All Featured
Music & Morning Musume
bryan
47
7.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Amusing Abliteration
ianozsvald
1
210
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
The SEO Collaboration Effect
kristinabergwall1
1
490
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
570
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Typedesign – Prime Four
hannesfritz
42
3.1k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Transcript
データカタログ運用物語 〜令和6年夏の理想と現実〜 Cloud Operator Days Tokyo 2024 kuroda naoki
自己紹介 - 名前:kuroda naoki - 所属:株式会社サイバーエージェン トAI事業本部 プリズムパートナーカンパニー kuro @knkurokuro7
データカタログとは データカタログとは、データレイクなどからユーザーが取得したいデータを容易に取得できるよう にするために管理されているメタデータのカタログ。 引用: https://www.techtarge t.com/searchdataman agement/definition/da ta-catalog
データカタログとは - DataHubという LinkedIn製のOSSをホ スティング。 - EKS,Helm,OpenSear ch,MSK(Kafka),RDS を使ってホスティングし て、CI/CDには、
GitHub Actions ,Terraform等
データカタログとは メタデータを検索できる
データカタログで解決したい課題 - 散乱するメタデータ - 誰かが知っているテーブルの意味 - 使われているかどうかわからないカラム - データ抽出の際のコミュニケーションコスト -
DSはもちろんビジネスサイド、エンジニアの間でデータの知識に差 がある。
理想の形 1. データカタログをまずは見にいく習慣がある。 2. どこに何のデータがあるかわかる。 3. 過度なコミュニケーションコストがかかることなく、データに関する意思決定が行わ れる。 →まずはここさえ見ればデータのことはなんでもわかる形を目指す
当初の目論見 まずは使われることを目指して、 1. 明確なユースケース 2. メタデータが更新され続けていること の2つの要素があればなんとかなりそう?
1. 明確なユースケース 1.データ抽出の際にどのカラムを使えばいいのかを把握できるようなカタログとして使う。 - よく使うテーブルやカラムの中身がすぐにわかる。 - 同じような名前のカラムがあるときにその違いがわかる。 2. エンジニアがシステム開発の際にカラム同士の関係や使われ方を理解するために使う。 -
mysqlやdynamodb,snowflakeのカラムの意味や関係性を把握する。 3. 新しい人が入ってきた時にデータ理解のオンボーディング資料として使う。 4. あるデータに対して属人化しそうな特殊な意味が追加されたときにメモとして使う。
2. データが更新され続けていること 1. メタデータを人が更新するタイミングがあること。 - 作業のついでにメタデータを書き込んでもらう。 - 例えば)テーブルAは古いので2024年6月時点で使っていませ ん。カラムBにはこの抽出で使うデータが入ってます。 2.
メタデータがシステムが更新するタイミングがあること。 - システム的に毎日自動連携する。 - 例えば)Snowflakeのカラム情報をGitHub Actions で連携す る。
1. 明確なユースケース はある程度固まってるから、 2. メタデータが更新され続けていること に注力しよう!
施策①連携できるメタデータの幅を増やす - DataHubのメタデータ自動連携をGithubActionsで毎日実行。 - Snowflake,dbt,MySQL,DynamoDB、Business Glossary(DataHubでの用語集 みたいな感じのもの、カラムやテーブルに紐付けられる。)等を連携する。
施策②散らばったテーブルメタデータを取り込む - 外部から連携されるSnowflakeテーブルごとのExcelカラム情報がGoogleDrive だったり、Slackだったり、個人のローカルだったりに散らばっていた。 - それを、CSVに変換して、DataHubのCSV Ingestionという機能で連携。
これで使ってもらえる!→実際データ抽出の際に参照してもらった り。。。
それでも残る課題 最初は物珍しさと集約したテーブルメタデータのため多少使われていた が、徐々に使われなくなりつつある。。
それでも残る課題 実際にヒアリングしてみると、想定していたユースケースでは使い慣れた他のツールで 代替されている。 →定期的に必要な業務に組み込む =データカタログがないと成り立たない業務フロー
これからやりたいこと - データの鮮度をデータワークフローの中で管理する。 - 毎日データを連携するStep FunctionsでのETLフローがあり、 その中でクエリの履歴やカラムの更新情報を取得して、 DataHub APIで「deprecated」 tagを付与する。
これからやりたいこと
これからやりたいこと - 今まであまりできていなかった「不要なテーブルの棚卸し」という業務に組 み込むことでよりデータカタログを見に行く機会が増えるのではないか。 - ここまでを実際にやりたかったのですが、間に合わなかったので、またどこ かでお話しできれば。。
まとめ - ユースケースを定義して周知するだけではツールは使ってもらえな い。 - 他のツールでは代替できないような用途に使えるように、業務フ ローに組み込む。 - そもそも既にデータカタログ起点で、「どこで使えるのか」を考えてし まっている。→心底必要でないなら作らない方が良かったのかもし
れない。