こんにちは。ZOZOTOWN開発本部 バックエンド1ブロックの山本です。普段はZOZOTOWNのバックエンドやマイクロサービスAPIなどの開発に携わっています。
ZOZOTOWNは膨大なデータを有しており、テーブルやカラムの数も膨大です。しかし、ER図やテーブル定義に関するドキュメントは手動で更新されていたため情報遅れが生じ、信頼性が低いものとなっていました。
本記事ではその問題を解決するための取り組み、「データカタログ作成プロジェクト」について紹介します。
データカタログとは
はじめに、データカタログという言葉について説明します。
データカタログとは、データベースのテーブル定義やカラム定義、メタ情報などをまとめた、辞書のようなものをさす言葉です。
データベースの情報はアナリストやビジネスサイドのチームなど開発者以外からも需要がありますが、情報が複雑なため人力で資料を整え続けるのは困難です。
そこで、ER図の出力やメタ情報の管理などを自動化してくれる製品やツールを活用することで資料を効率よくまとめることができます。
参考として、データカタログ関連の既存製品を2つ紹介します。
Dataedo
DataedoはポーランドのDataedo社によって開発されたデータカタログツールであり、データベース関連の資料管理を効率化、資料をもとにER図の出力や情報の分類などを行う製品です。
日本ではFBP Partners社が公認のセールスパートナーとして、2020年7月よりDataedoのサービス提供を行っています。
以下の機能を持っており、情報整理の工数を大幅に削減できることが特徴です。
- データベースからメタデータを抽出
- テーブル定義書の描画
- ER図の描画
dbdocs
こちらは2022年5月現在まだベータ版の製品です。
DBMLというマークアップ言語で記述されたデータベース定義を読み込み、テーブル定義書やER図を生成します。
メタ抽出機能は付いていないためDBMLファイルを利用者側で用意する必要がありますが、利用者側でDBMLファイルの出力を自動化できれば優れたソリューションとなるでしょう。
ER図やリレーションシップの表現がとてもわかり易く、UIが高品質であることが特徴です。
背景・目的
「データカタログ作成プロジェクト」を開始した背景、目的について話します。
私は2020年4月に新卒で入社し、同じ年の5月にバックエンドブロック配属となりました。
当時のZOZOTOWNでは、データベースの資料を以下のように管理していました。
続きはこちら