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
データカタログ導入における課題と対応事例
Search
kenta yamamoto
July 11, 2023
Technology
1
1.2k
データカタログ導入における課題と対応事例
データ基盤管理の考え方
〜データカタログ、データレイクの極意〜
2023年07月11日
https://findy.connpass.com/event/288091/
kenta yamamoto
July 11, 2023
Tweet
Share
More Decks by kenta yamamoto
See All by kenta yamamoto
ZOZOのデータカタログ内製事例と、 データカタログを整え続けるための仕組みづくりについて
yamamoto7
0
2.5k
Other Decks in Technology
See All in Technology
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
500
君も受託系GISエンジニアにならないか
sudataka
2
420
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
16
6.5k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
220
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
100
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.1k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
240
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
500
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How STYLIGHT went responsive
nonsquared
98
5.4k
A Tale of Four Properties
chriscoyier
158
23k
Visualization
eitanlees
146
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Why Our Code Smells
bkeepers
PRO
336
57k
Typedesign – Prime Four
hannesfritz
40
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Speed Design
sergeychernyshev
27
790
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Statistics for Hackers
jakevdp
797
220k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Transcript
データカタログ導入における課題と対応事例 データ基盤管理の考え方 〜データカタログ、データレイクの極意〜 2023年07月11日 Copyright © ZOZO, Inc.
1 株式会社ZOZO ZOZOTOWN開発本部 ZOZOTOWNWEB部 バックエンド1ブロック 兼 バックエンドリプレイスブロック 山本 健太
© ZOZO, Inc. 株式会社ZOZO ZOZOTOWN開発本部 ZOZOTOWNWEB部 バックエンド1ブロック/バックエンドリプレイスブロック 山本 健太 2020年4月に新卒で入社
ZOZOTOWNのWEBバックエンド、マイクロサービスAPIなど の保守運用・開発をするチームに所属 最近はZOZOTOWNのシステムリプレイスなどを担当してい ます 2
© ZOZO, Inc. https://zozo.jp/ 3 • ファッションEC • 1,500以上のショップ、8,400以上のブランドの取り扱い •
常時95万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載(2023年3月末時点) • ブランド古着のファッションゾーン「ZOZOUSED」や コスメ専門モール「ZOZOCOSME」、靴の専門モール 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 • 即日配送サービス • ギフトラッピングサービス • ツケ払い など
© ZOZO, Inc. 4 https://zozo.jp/zozomat/ • 自宅にいながら簡単に高精度な足の3D計測ができる計測マット • 計測したデータをもとに、自分の足型と靴の“相性度”
を表示 • NIKEやCONVERSEなど5,587型以上のアイテムに対応 (2022年12月末時点)
© ZOZO, Inc. 5 https://zozo.jp/zozoglass/ • 自宅で簡単・高精度にご自身の顔の肌の色を計測できる フェイスカラー計測ツール • ECにおけるコスメ購入時の課題であった「色選び」に関する
不安や悩みを解消 • 肌の色を構成する成分、ヘモグロビン量とメラニン量を画像 から推定 • コスメ専門モール「ZOZOCOSME」で取り扱うベースメイクの 一部に対応 • 計測者数128万人を突破(2022年12月末時点)
© ZOZO, Inc. https://wear.jp/ 6 • ファッションコーディネートアプリ • 1,600万ダウンロード突破、コーディネート投稿総数は1,300万件以上 (2023年3月末時点)
• ピックアップタグから最新のトレンドをチェック • コーディネート着用アイテムを公式サイトで購入可能 • WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ イナー・インフルエンサーといった各界著名人も参加
© ZOZO, Inc. 7 https://fbz.zozo.com/ • ZOZOTOWN出店企業の自社ECのフルフィルメント支援サービス • 自社EC運営のための撮影・採寸・梱包・配送などの各種フルフィルメント業務
を、ZOZOTOWNの物流センター「ZOZOBASE」が受託 • 設備投資・人件費・在庫保管料などの負担なしで、自社ECの運営が可能 • 各販売チャネル(自社EC・店舗・ZOZOTOWN)の在庫連携が可能。 これにより、商品欠品による販売機会の損失を最小化
© ZOZO, Inc. はじめに 8
© ZOZO, Inc. 今回のお話 9 1. データカタログに関するお話 2. データカタログ導入・運用に関する一般的な話題や課題について
3. 課題を弊社ではどのように解決したか紹介
© ZOZO, Inc. 前提 10
© ZOZO, Inc. データカタログとは 11 データベース、データレイクなどのメタデータや形式、所有者情報をまと めた辞書のようなもの
© ZOZO, Inc. 以下のような機能を持つこともある 12 • データリネージ: 生成から廃棄までのライフサイクルを追う機能 •
収集: データソースからメタ情報を定期収集する機能
© ZOZO, Inc. 導入には大きく3パターンほど 13 1. (ほぼ)100%外部サービスに頼る 2. 一部内製して、一部外部サービスに頼る
3. (ほぼ)100%内製する
© ZOZO, Inc. 弊社では 14
© ZOZO, Inc. 弊社では 15 1. (ほぼ)100%外部サービスに頼る 2. 一部内製して、一部外部サービスに頼る
3. (ほぼ)100%内製する
© ZOZO, Inc. 16 https://techblog.zozo.com/entry/data-catalog 弊社で導入したデータカタログの詳細 ※テックブログ、別のLTで紹介したことがあるため具体的な機能やロジックについては省略しますm(_ _)m
© ZOZO, Inc. 17 テーブル定義書
© ZOZO, Inc. 18 カラム詳細
© ZOZO, Inc. 19 ER図詳細ページ
© ZOZO, Inc. 20 データを閲覧する人 データのメタ情報を追加する人 ER図を閲覧・作成する人 データカタログ、ER図を描画するウェ ブサイト 推定ロジックなどを持つ定期実行バッチ
システム概要 テーブル・カラムの情報 メタデータを取得する クエリを実行 DBから取得した情報を POST Vue icon from: https://github.com/vuejs/art Ruby icon from: https://www.ruby-lang.org/en/about/logo/ ZOZOTOWNのデータベース(SQL Server) MySQL
© ZOZO, Inc. 導入前の課題 21
© ZOZO, Inc. 導入前の課題 22 • 誰がデータカタログを利用する? • 誰がデータカタログを作る?
• 外部サービスを利用する?もしくは内製する?
© ZOZO, Inc. 弊社では元々公開されていたデータカタログが あった 23 • テーブルリストからメタデータまで、手動で更新していた
• 手動で管理しているER図もあった • 鮮度は低かったが需要が高く、エンジニア非エンジニア関わらず多く の人が利用していた
© ZOZO, Inc. 誰がデータカタログを利用する? 24 • データアナリスト、データエンジニア → メタはもちろんのこと、データリネージなど高度な情報もあると嬉し
い • アプリケーション開発エンジニア → テーブル定義、リレーションなどを一通り知りたい • ビジネスユーザー → テーブル定義、リレーションなどを一通り知りたい
© ZOZO, Inc. 誰がデータカタログを利用する? 25 弊社では... テーブル定義、リレーションを一通り知れるところまでをターゲットに進め た
© ZOZO, Inc. 導入までのスケジュール 26 検討開始 SQL ServerというDBをメインで利用していたが、そもそも対応製品が少な かったということもあり、100%内製の方向で検討
一旦ミニマムに内製してみて、上長に相談 β版社内公開(developのDBと繋げた版を公開) メタデータ収集、本番DBと同期、ルール整備などの活動 2020年06月頃 2020年08月頃 2021年02月頃 以降…
© ZOZO, Inc. 外部サービスを利用する? もしくは内製する? 27 • 利用用途、対象の環境によって解法は様々
• 弊社ではSQL Serverをメインで利用していたため製品の選択肢がか なり絞られていた。また、内製の難しいデータリネージ機能などはス コープ外としていたこともあり100%内製を選んだ • 和製製品含めデータカタログ関連の優秀な製品が増えてきているの で、これから検討であれば選択肢は多い
© ZOZO, Inc. 導入後の課題 28
© ZOZO, Inc. 一般的に挙がる導入後の課題 29 1. データオーナーへ情報入力を依頼したが中々入力して貰えない、テー ブル数が多すぎて依頼するのが大変 2.
情報を最新化、更新、正確さを維持するのが大変 3. 情報維持のためのデータの標準化を考える必要がある
© ZOZO, Inc. 欲しい情報 30 • テーブル、カラムの説明文 ◦ SQLのメタデータとして保存されている場合もある
• テーブル同士のリレーション ◦ 外部キー制約で結ばれている場合もある
© ZOZO, Inc. データオーナーへの情報入力依頼 31 • よく利用されているテーブルを洗い出し ◦ テーブルが数千個あったため、ある程度絞り込む必要あり ◦
本番DBで叩かれているクエリを集計し各テーブルへのアクセス数を 集計 ◦ 1/3ほどのテーブル数で総アクセスの99.9%をカバーできることがわ かったので、そのテーブルをターゲットに担当者を調査 ◦ スプレッドシートでテーブル一覧と担当者一覧を載せ各部署へ依頼 したところ、気合と優しさで快く入力してくれた
© ZOZO, Inc. 情報を最新化、更新、正確さを維持 32 • 最新化 ◦ 毎日本番DBから差分を取り込み、最新情報を維持 •
正確さ ◦ 正確じゃない情報、確実に正しい情報を区別して表示 ◦ メタは特に正確な情報が求められるが、正確ではなくても有用な情 報があれば区別して表示することが大事
© ZOZO, Inc. データの標準化 33 • コード値 ◦ MySQLで言うENUM型のような定義はせず、運用でカバーしていた ◦
Descriptionに【コード値】と入れてもらうことで、データカタログ側で コード値なカラムを認識可能にした
© ZOZO, Inc. 34 ZOZOTOWN バックエンドエンジニア https://hrmos.co/pages/zozo/jobs/0000014 データエンジニア https://hrmos.co/pages/zozo/jobs/0000156 採用情報
None