Slide 1

Slide 1 text

データカタログ導入における課題と対応事例
 
 データ基盤管理の考え方
 〜データカタログ、データレイクの極意〜
 2023年07月11日
 
 Copyright © ZOZO, Inc. 1 株式会社ZOZO
 ZOZOTOWN開発本部 ZOZOTOWNWEB部
 バックエンド1ブロック 兼 バックエンドリプレイスブロック
 山本 健太

Slide 2

Slide 2 text

© ZOZO, Inc. 株式会社ZOZO
 ZOZOTOWN開発本部 ZOZOTOWNWEB部
 バックエンド1ブロック/バックエンドリプレイスブロック 山本 健太
 2020年4月に新卒で入社
 ZOZOTOWNのWEBバックエンド、マイクロサービスAPIなど の保守運用・開発をするチームに所属
 最近はZOZOTOWNのシステムリプレイスなどを担当してい ます
 2

Slide 3

Slide 3 text

© ZOZO, Inc. https://zozo.jp/
 3 ● ファッションEC
 ● 1,500以上のショップ、8,400以上のブランドの取り扱い
 ● 常時95万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載(2023年3月末時点)
 ● ブランド古着のファッションゾーン「ZOZOUSED」や
 コスメ専門モール「ZOZOCOSME」、靴の専門モール
 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン
 「ZOZOVILLA」を展開
 ● 即日配送サービス
 ● ギフトラッピングサービス
 ● ツケ払い など


Slide 4

Slide 4 text

© ZOZO, Inc. 4 https://zozo.jp/zozomat/
 
 ● 自宅にいながら簡単に高精度な足の3D計測ができる計測マット
 ● 計測したデータをもとに、自分の足型と靴の“相性度” を表示
 ● NIKEやCONVERSEなど5,587型以上のアイテムに対応
 (2022年12月末時点)
 


Slide 5

Slide 5 text

© ZOZO, Inc. 5 https://zozo.jp/zozoglass/
 ● 自宅で簡単・高精度にご自身の顔の肌の色を計測できる フェイスカラー計測ツール
 ● ECにおけるコスメ購入時の課題であった「色選び」に関する 不安や悩みを解消
 ● 肌の色を構成する成分、ヘモグロビン量とメラニン量を画像 から推定
 ● コスメ専門モール「ZOZOCOSME」で取り扱うベースメイクの 一部に対応
 ● 計測者数128万人を突破(2022年12月末時点)


Slide 6

Slide 6 text

© ZOZO, Inc. https://wear.jp/
 6 ● ファッションコーディネートアプリ
 ● 1,600万ダウンロード突破、コーディネート投稿総数は1,300万件以上 (2023年3月末時点)
 ● ピックアップタグから最新のトレンドをチェック
 ● コーディネート着用アイテムを公式サイトで購入可能
 ● WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ イナー・インフルエンサーといった各界著名人も参加


Slide 7

Slide 7 text

© ZOZO, Inc. 7 https://fbz.zozo.com/
 
 ● ZOZOTOWN出店企業の自社ECのフルフィルメント支援サービス
 ● 自社EC運営のための撮影・採寸・梱包・配送などの各種フルフィルメント業務 を、ZOZOTOWNの物流センター「ZOZOBASE」が受託
 ● 設備投資・人件費・在庫保管料などの負担なしで、自社ECの運営が可能
 ● 各販売チャネル(自社EC・店舗・ZOZOTOWN)の在庫連携が可能。
 これにより、商品欠品による販売機会の損失を最小化
 


Slide 8

Slide 8 text

© ZOZO, Inc. はじめに
 8

Slide 9

Slide 9 text

© ZOZO, Inc. 今回のお話
 9 1. データカタログに関するお話
 
 2. データカタログ導入・運用に関する一般的な話題や課題について
 
 3. 課題を弊社ではどのように解決したか紹介
 
 


Slide 10

Slide 10 text

© ZOZO, Inc. 前提
 10

Slide 11

Slide 11 text

© ZOZO, Inc. データカタログとは
 11 データベース、データレイクなどのメタデータや形式、所有者情報をまと めた辞書のようなもの
 
 


Slide 12

Slide 12 text

© ZOZO, Inc. 以下のような機能を持つこともある
 12 ● データリネージ: 生成から廃棄までのライフサイクルを追う機能
 
 ● 収集: データソースからメタ情報を定期収集する機能


Slide 13

Slide 13 text

© ZOZO, Inc. 導入には大きく3パターンほど
 13 1. (ほぼ)100%外部サービスに頼る
 
 2. 一部内製して、一部外部サービスに頼る
 
 3. (ほぼ)100%内製する


Slide 14

Slide 14 text

© ZOZO, Inc. 弊社では
 14

Slide 15

Slide 15 text

© ZOZO, Inc. 弊社では
 15 1. (ほぼ)100%外部サービスに頼る
 
 2. 一部内製して、一部外部サービスに頼る
 
 3. (ほぼ)100%内製する


Slide 16

Slide 16 text

© ZOZO, Inc. 16 https://techblog.zozo.com/entry/data-catalog
 弊社で導入したデータカタログの詳細
 ※テックブログ、別のLTで紹介したことがあるため具体的な機能やロジックについては省略しますm(_ _)m

Slide 17

Slide 17 text

© ZOZO, Inc. 17 テーブル定義書


Slide 18

Slide 18 text

© ZOZO, Inc. 18 カラム詳細


Slide 19

Slide 19 text

© ZOZO, Inc. 19 ER図詳細ページ


Slide 20

Slide 20 text

© 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

Slide 21

Slide 21 text

© ZOZO, Inc. 導入前の課題
 21

Slide 22

Slide 22 text

© ZOZO, Inc. 導入前の課題
 22 ● 誰がデータカタログを利用する?
 
 ● 誰がデータカタログを作る?
 
 ● 外部サービスを利用する?もしくは内製する?
 


Slide 23

Slide 23 text

© ZOZO, Inc. 弊社では元々公開されていたデータカタログが あった
 23 
 ● テーブルリストからメタデータまで、手動で更新していた
 
 ● 手動で管理しているER図もあった
 
 ● 鮮度は低かったが需要が高く、エンジニア非エンジニア関わらず多く の人が利用していた


Slide 24

Slide 24 text

© ZOZO, Inc. 誰がデータカタログを利用する?
 24 
 ● データアナリスト、データエンジニア
 → メタはもちろんのこと、データリネージなど高度な情報もあると嬉し い
 ● アプリケーション開発エンジニア
 → テーブル定義、リレーションなどを一通り知りたい
 ● ビジネスユーザー
 → テーブル定義、リレーションなどを一通り知りたい


Slide 25

Slide 25 text

© ZOZO, Inc. 誰がデータカタログを利用する?
 25 
 弊社では...
 
 テーブル定義、リレーションを一通り知れるところまでをターゲットに進め た


Slide 26

Slide 26 text

© ZOZO, Inc. 導入までのスケジュール
 26 検討開始
 SQL ServerというDBをメインで利用していたが、そもそも対応製品が少な かったということもあり、100%内製の方向で検討
 
 一旦ミニマムに内製してみて、上長に相談
 
 β版社内公開(developのDBと繋げた版を公開)
 
 メタデータ収集、本番DBと同期、ルール整備などの活動
 2020年06月頃
 
 
 
 2020年08月頃
 
 2021年02月頃
 
 以降…


Slide 27

Slide 27 text

© ZOZO, Inc. 外部サービスを利用する?
 もしくは内製する?
 27 
 ● 利用用途、対象の環境によって解法は様々
 
 ● 弊社ではSQL Serverをメインで利用していたため製品の選択肢がか なり絞られていた。また、内製の難しいデータリネージ機能などはス コープ外としていたこともあり100%内製を選んだ
 
 ● 和製製品含めデータカタログ関連の優秀な製品が増えてきているの で、これから検討であれば選択肢は多い


Slide 28

Slide 28 text

© ZOZO, Inc. 導入後の課題
 28

Slide 29

Slide 29 text

© ZOZO, Inc. 一般的に挙がる導入後の課題
 29 1. データオーナーへ情報入力を依頼したが中々入力して貰えない、テー ブル数が多すぎて依頼するのが大変
 
 2. 情報を最新化、更新、正確さを維持するのが大変
 
 3. 情報維持のためのデータの標準化を考える必要がある
 


Slide 30

Slide 30 text

© ZOZO, Inc. 欲しい情報
 30 ● テーブル、カラムの説明文
 ○ SQLのメタデータとして保存されている場合もある
 
 ● テーブル同士のリレーション
 ○ 外部キー制約で結ばれている場合もある
 
 


Slide 31

Slide 31 text

© ZOZO, Inc. データオーナーへの情報入力依頼
 31 ● よく利用されているテーブルを洗い出し
 ○ テーブルが数千個あったため、ある程度絞り込む必要あり
 ○ 本番DBで叩かれているクエリを集計し各テーブルへのアクセス数を 集計
 ○ 1/3ほどのテーブル数で総アクセスの99.9%をカバーできることがわ かったので、そのテーブルをターゲットに担当者を調査
 ○ スプレッドシートでテーブル一覧と担当者一覧を載せ各部署へ依頼 したところ、気合と優しさで快く入力してくれた


Slide 32

Slide 32 text

© ZOZO, Inc. 情報を最新化、更新、正確さを維持
 32 ● 最新化
 ○ 毎日本番DBから差分を取り込み、最新情報を維持
 ● 正確さ
 ○ 正確じゃない情報、確実に正しい情報を区別して表示
 ○ メタは特に正確な情報が求められるが、正確ではなくても有用な情 報があれば区別して表示することが大事
 


Slide 33

Slide 33 text

© ZOZO, Inc. データの標準化
 33 ● コード値
 ○ MySQLで言うENUM型のような定義はせず、運用でカバーしていた
 ○ Descriptionに【コード値】と入れてもらうことで、データカタログ側で コード値なカラムを認識可能にした
 


Slide 34

Slide 34 text

© ZOZO, Inc. 34 ZOZOTOWN バックエンドエンジニア https://hrmos.co/pages/zozo/jobs/0000014 データエンジニア https://hrmos.co/pages/zozo/jobs/0000156 採用情報


Slide 35

Slide 35 text

No content