【入門】メタデータとは？テーブル定義書の内容を３つのメタデータに分類してみる

## ごあいさつ

こんにちは。日鉄ソリューションズ株式会社のhayashitaniです。
私が所属している組織では製造業のお客様向けに、データ基盤構築、データガバナンスコンサルなどを支援させていただいております。

個人としては、メタデータ管理をご支援させていただくことが多いので、Qiitaではメタデータやデータカタログについて投稿していきたいと思います。

:::note warn
本投稿の内容は私個人の意見であり、組織の見解を代表するものではありません。
:::


今回は「メタデータ入門」と題して、メタデータについて概要から具体的な内容まで書いていきたいと思います。
以下のお悩みを持っている方々の参考になれば、嬉しいです。

- メタデータが何を指しているか分からない
- メタデータの概要は分かっているが、具体的に何を指しているか分からない
- メタデータの利用情報が想像出来ない


## 【理論】メタデータとは何か？

DMBOK（Data Management Body of Knowledge）では以下のように定義されています。

:::note info
メタデータとは、データについてのデータ、すなわちデータの特性、内容、構造、利用方法などに関する情報を意味します。
:::

つまりメタデータとは、各データについて「どのようなデータなのか」、「誰がどこでどのように生成し、管理しているのか」といった情報を提供してくれるデータです。

さらに、DMBOKでは、テクニカルメタデータ、ビジネスメタデータ、オペレーショナルメタデータの３つの分類が定義されているので、それぞれについて概要と具体例を挙げていきたいと思います。


### 1. テクニカルメタデータ (Technical Metadata)

テクニカルメタデータは、技術的な特性や仕様に関するメタデータです。
具体的には以下の項目が挙げられます。
データベースで言うと、データベースやスキーマ、テーブル/ビューを作成する際に指定する項目などが、テクニカルメタデータに該当します。


| 項目 | 概要 | 例 |
| ------- | ------- | ------- |
| ツール | データベース、データパイプライン、BIツールなどの名称 | Snowflake、dbt、Tableau、Databricks |
| 物理名 | データベース、テーブルなどの物理名 | HR_dl_DB、employee、employee_history |
| データ型 | カラムなどのデータ型 | NUMBER、STRING、VARCHAR |
| 桁数 | カラムなどのデータ桁数 | 1、8、256 |
| 定義 | ビューなどの定義 | CREATE VIEW employee_view AS SELECT employee_id, first_name, last_name, department FROM employees WHERE department = 'Sales'; |

※表は一部です

データベース管理者、システム管理者、データエンジニアなどがデータベースの設計、インデックスの作成、データパイプラインの構築・メンテナンスなどに活用されることが多いです。

### 2. ビジネスメタデータ (Business Metadata)

ビジネスメタデータは、データのビジネス的な意味や性質に関するメタデータです。
具体的には以下の項目が挙げられます。

| 項目 | 概要 | 例 |
| ------- | ------- | ------- |
| 論理名 | データベース、テーブルなどの論理名 | 人事データレイクDB、従業員マスタ、従業員マスタ履歴テーブル |
| 説明 | データベース、テーブルなどの説明 | 従業員情報のマスターテーブル。delete_flagカラムが1の場合は退職者。 |
| 利用ルール | データの利用ルール | 加工可能、ダウンロード禁止、二次配布禁止 |

※表は一部です

データアナリスト、データスチュワード、プロジェクトマネージャー、経営者などがデータ探索、データ所有者の特定などに活用されることが多いです。


### 3. オペレーショナルメタデータ (Operational Metadata)

オペレーショナルメタデータは、データの運用に関する情報を提供するメタデータです。
具体的には以下の項目が挙げられます。

| 項目 | 概要 | 例 |
| ------- | ------- | ------- |
| 作成日時 | データの作成日時 | 2024-12-01 00:00:00.000  |
| 更新日時 | データの更新日時 | 2024-12-10 00:00:00.000 |
| 更新頻度 | データの更新頻度 | 週次、月次、年次 |

※表は一部です

システム運用者、データベース管理者などがデータの使用状況の監視、パフォーマンスの監視、データ加工ジョブのエラー分析などに活用されることが多いです。


## 【実践】テーブル定義書の情報を分類してみる

次は具体的なイメージを持つために、サンプルのテーブル定義書の内容を分類してみます。
使うサンプルのテーブル定義書は以下の通りです。

**テーブル定義書のサンプル**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3959879/a2e4c607-54cd-ab27-2170-77c408e7134c.png)


### 1. テクニカルメタデータ (Technical Metadata)
まず、テクニカルメタデータに該当する箇所です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3959879/41067458-bd05-0ae7-0155-659547630a58.png)
テーブルを作成する際に指定が必要な、物理名、カラム順、データ型、桁数、制約が該当します。
「department_id」の補足欄に記載がある「「department」テーブルの「id」カラム」はFKの参照先の情報なので、テクニカルメタデータに該当します。

### 2. ビジネスメタデータ (Business Metadata)
次にビジネスメタデータに該当する箇所です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3959879/62fdd9cc-3b23-f936-b513-449d224fd503.png)
* 論理名、説明の１行目が該当します。
* 「name」の補足欄に記載がある「個人情報」は、データが個人情報に該当するかどうかを表しているので、ビジネスメタデータに該当します。
* 「delete_flag」の補足欄に記載がある「0:在籍、1:退社」は、フラグの値の意味を表しているので、ビジネスメタデータに該当します。

### 3. オペレーショナルメタデータ (Operational Metadata)
最後にオペレーショナルメタデータに該当する箇所です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3959879/b271d0c2-eff9-2876-c4e6-9554d1f7ac51.png)
* 説明の２行目が該当します。

### 4. すべて

全部をマッピングすると以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3959879/8a8952b3-6936-e38c-0b0e-88ea809a047b.png)





メタデータは、テーブル定義書で管理されない項目もあります。
業務に応じて必要なメタデータを検討、定義、管理することが重要です。


## 【補足】なぜ今メタデータ管理が必要なのか？
これまでメタデータについて書いてきましたが、なぜ今メタデータ管理が必要なのか、３点のトピックで私の考えをご紹介したいと思います。

### 1. データ基盤導入が進むなか、データ基盤の内容は不透明となっている

多くの企業においてデータ基盤の導入が進んでおり、データが蓄積出来ている状況になるつつあると認識しています。
しかし、データが活用されなければ、データ基盤の真価は発揮されません。
データの利活用を推進するために、まずはデータ基盤にどのようなデータが存在するのかを、多くのユーザーに公開することが重要です。
データ自体を全ユーザーに公開することはセキュリティやライセンスの観点から現実的ではないので、データの情報に該当する、メタデータの公開（管理）が必要となります。


### 2. 大量のデータリストから価値のあるデータを見つけなければならない

メタデータが公開されていても、その量が多すぎるとユーザーはどのデータを使用すれば良いのか迷ってしまいます。
さらに、品質の悪いデータが含まれているとデータ基盤の信頼性が低下し、データが活用されなくなる恐れがあります。
データの利用を促進するためには、高品質なデータ、よく活用されているデータ、人気のあるデータを特定し、多くのユーザーに公開することが重要です。
このため、メタデータの公開（管理）が必要となります。


### 3. 増加しているAI利活用に向けた準備

現代のビジネスシーンにおいて、AIの活用は急速に進展しています。
AIを効果的に活用するためには、メタデータの整備が不可欠です。
例えば、AIモデルのトレーニングに使用するデータセットの出所や品質を把握するために、メタデータが重要な役割を果たします。
AIの導入と活用を成功させるためには、事前に必要なメタデータを整備し、準備を整えることが必要となります。



## 最後に
本記事についてご不明点、ご質問事項等があれば、コメントをお願いいたします。

この後もメタデータを管理するツール「データカタログ」に関する情報や、具体的なデータカタログツールに関する情報を投稿していこうと思うので、チェックしていただけるとうれしいです！


また、本分野に関してご興味を持っていただけた方がいらっしゃれば、お気軽にお問い合わせください。