📚

データカタログ入門

はじめに

フェズアドベントカレンダー15日目の記事となります。
記事を見てくださった方はじめまして。データ基盤グループの川満と申します。
2022年11月1日に入社したばかりの新米データベースエンジニアで、初めて触る領域に毎日ワクワクしながら仕事しています。
 
入社して1ヶ月ほど経ち、様々なデータに触れる機会が多くなってきたのですが触っていてふと気になったことが
それは 『これって何のデータだ?!』です。
 
フェズでは小売店様のデータを扱っているのですが、カラム名や中身を見てもよく分からないデータが大量に存在します。
これらのデータに対するドキュメントもないので、中身を知るに先輩方に聞いたりドメイン知識を深めたりと時間がかかります。
 
また、データが散らばりエンジニアだとしてもデータの管理が難しくなったり、データアナリストやアナリティクスエンジニアもデータのキャッチアップが遅れてしまいます。
 
そこで!データを管理しつつ分析チーム達も欲しいデータを素早くキャッチアップできるようにするのがデータカタログなのです!
 
フェズではまだ導入段階なのですが、データカタログについての概要について説明できればなと思います。
 

 

■データカタログとはなんぞや

『データカタログとは』で検索してみると、メタデータを設定しデータを管理しやすくするツールの様な感じでヒットする記事が多いと思います。
 
まあ実際はその通りなのですが、私なりにもう少し噛み砕いて説明しようと思います。
データカタログとは、何のデータ(メタデータ)かを説明やタグを設定してデータを扱いやすくする概念やツール類の総称です
 
恐らく皆様も、扱っているデータが分からず管理も分析もイマイチできなかったり進まなかったりとそういう経験があると思います。
その時に説明してくれる先輩やドキュメントで管理されていればその場は凌げると思いますが、現実はそうはいきません。
 
まず、サービスで扱うデータというのはとてつもなく膨大で、それに一つ一つこれはこういうデータで〜みたいなドキュメントを書いているととてつもない時間と労力がかかってしまい現実的ではありません。
それに、その様なビックデータを人が覚え切れる訳もありません。
 
データカタログはこれらの問題をサポートしてくれます。
 
それでは具体的にどういう恩恵があるのかを、エンジニアサイドとデータを分析して活用するビジネスサイドに切り分けて説明します。

▼エンジニアサイドの恩恵 - 保守性の向上と属人化の排除

エンジニアサイドの恩恵で一番大きいのはやはりメタデータを設定することで、カラムやテーブル、データセットの組み合わせや構造を管理できることではないでしょうか。
 
メタデータを設定することにより、このデータセットはどういうテーブルの組み合わせなのか、このテーブルはどういうことを表しているのか、このカラムのデータは何なのかをスピーディーに確認できます。
 
このようにデータカタログでドキュメント化することで、データの散らばりを防ぎ保守性を高め、属人化を未然に防ぐことができます
 

▼ビジネスサイドの恩恵 - 生産性の向上

ビジネスサイドの恩恵としてはタグ付けによりデータのキャッチアップがしやすくなり、欲しいデータをタグで絞れたり関連性を可視化することで分析の効率も向上します。
 
例えば、ビジネスサイドの方達は自社が扱っているデータがどこにあって、どのように格納されているか分からないので新しいデータが欲しい場合エンジニアに依頼してデータを用意してもらったり、BIツールなどでCSVをダウンロードしそれらを独自で組み合わせたりしていないでしょうか。
 
まずエンジニアに欲しいデータを依頼するとなると、データを調査して依頼者に確認してのサイクルを開発などの他のタスクをこなしながら対応するので、提供に時間がかかってしまったり結局試作期間中に用意できず機会損失が発生する場合もあったりとお互いに悪影響です。
 
次に自身でデータをツールからダウンロードして組み合わせるやり方ですが、これは毎日大量のcsvをダウンロードして貼り付けたり、週明けには土日分も対応するとなるとこれだけでの半日はかかってしまい余計な工数が発生してしまいます。
さらにこのケースは誰かが組んだよく分からない関数が書かれたシートが大量にあり、誰も改修できないけどとりあえず動いているから使っているというのシートとなってしまいます。
 
ですが、データカタログ各データにタグ付けしておくと、Twitterのハッシュタグでツイートを検索するのと同じようにタグで対象のデータを検索することができ、今まで見たことなかった既存データの発見にも繋がり余計な取り込みを少なくなります。
 
欲しいデータが分かれば、自分でクエリを実行して用意できたり、クエリが書けなくてもエンジニアへの依頼も欲しいデータが明確になっているのでクエリを書いてもらうだけで大丈夫そうですね。

■データカタログ完全に理解した

データカタログを導入すると、このようにエンジニアサイドとビジネスサイド、双方に大きな恩恵があります。
これらの説明で皆さんもデータカタログを完全理解したつもりになっていると思います。
 
ですがデータカタログの機能はそんなもんじゃありません。もっと凄い機能が充実しています。
共通して多い機能としては他に、アクセスレベルを設定することで機密データへのアクセスを制限したり、自動的にデータを分類してタグ付けしてくれたりといった機能を持つことが多いです。
今回はあくまでデータカタログの概要説明になるので、他の機能が気になる方はググってみてください。
 
概要を理解しただけでデータカタログを完全に理解できるわけないので、下のイラストのようになってはいけません。
 

まとめ

今回はデータカタログのざっくりとした概要を説明してみました。
ググってみてもよく分からなかったりはじめて聞いてみた方達が、なんとなくデータカタログについて理解できた!となれましたら幸いです。
 
来年には実際に導入してみての体験談を記事にまとめてみたいと思います。