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
kuro
July 26, 2024
Programming
1
340
データカタログ運用物語 〜令和6年夏の理想と現実〜
Cloud Operator Days2024で登壇した時のスライドです。
kuro
July 26, 2024
Tweet
Share
More Decks by kuro
See All by kuro
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
GoLab2025 Recap
kuro_kurorrr
0
4.8k
OpenFeatureに学ぶ コミュニティの広げ方
kuro_kurorrr
0
31
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
3.2k
Weak References in Go 1.24: Memory Management Superpowers
kuro_kurorrr
0
75
サプライチェーン攻撃に学ぶModuleの仕組みと セキュリティ対策
kuro_kurorrr
3
1.5k
PipeCD と Bucketeer の Document MCP Serverを作って公開した話
kuro_kurorrr
0
210
近頃の気になるGo testingパッケージ
kuro_kurorrr
3
620
Go1.25からのGOMAXPROCS
kuro_kurorrr
3
1.8k
Other Decks in Programming
See All in Programming
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
510
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
130
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
120
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.2k
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
CSC307 Lecture 14
javiergs
PRO
0
450
CSC307 Lecture 13
javiergs
PRO
0
310
浮動小数の比較について
kishikawakatsumi
0
370
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
240
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
160
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
80
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Darren the Foodie - Storyboard
khoart
PRO
3
2.7k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
65
The Curse of the Amulet
leimatthew05
1
9.5k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
300
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Designing for Timeless Needs
cassininazir
0
150
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を付与する。
これからやりたいこと
これからやりたいこと - 今まであまりできていなかった「不要なテーブルの棚卸し」という業務に組 み込むことでよりデータカタログを見に行く機会が増えるのではないか。 - ここまでを実際にやりたかったのですが、間に合わなかったので、またどこ かでお話しできれば。。
まとめ - ユースケースを定義して周知するだけではツールは使ってもらえな い。 - 他のツールでは代替できないような用途に使えるように、業務フ ローに組み込む。 - そもそも既にデータカタログ起点で、「どこで使えるのか」を考えてし まっている。→心底必要でないなら作らない方が良かったのかもし
れない。