データリネージの定義

# 概要
データリネージとは何かを体系的に整理し、定義する。
# データリネージの定義
## 概要定義
データリネージとは、データが生成されてから最終的に活用されるまでのライフサイクル（発生源、変換、移動、使用など）全体にわたる、データの流れや変遷を追跡して記録するプロセス、また狭義には記録した情報そのものである。

抽象化するなら、データリネージは変遷の記録である。
リネージ（Linage）は家系、血統、系統を意味し、対象の出自を表す概念である。
この点で例えばヒトの変遷、モノの由来といった情報と同様であり、対象物がデータであるということがデータリネージの特質である。

また、美術品や骨董品における来歴（プロベナンス）になぞらえてデータプロベナンスと呼ばれることもある。

## 詳細定義
 * 構成要素 (What)
   * テクニカルメタデータ
     データリネージは、データ変換に関するテクニカルメタデータを含む。物理データベースやカラムの名称、プロパティ、ETLジョブの詳細、ソースからターゲットへのマッピング、上流・下流への変換影響情報などが含まれる。
     対象データが非構造データ（画像、文書、音声など）であれば、ファイル名、保存場所、フォーマットといった情報である。
    　
   * ビジネスメタデータ
     また、データリネージにはビジネスメタデータの側面もあり、データセットやカラムの意味、業務ルール、変換ルール、データモデル、データの出所なども対象となる。
     非構造データであれば、作成者や作成意図、参照した別の資料といった情報である。
     　
   * エンリッチされたデータリネージ
     さらに、データ品質テスト結果、参照データ、ビジネス用語、データスチュワードシップ情報、関連するエンタープライズシステムなどの要素を含めることもできる。これらの情報と連結されたものをエンリッチされたデータリネージと呼ぶ。
     　
   * 情報の粒度
     人の変遷の記録に、歴史書や公文書などの国の変遷の記録、家系図や家伝といった血族の記録、履歴書や職務経歴書といった個人の記録があるのと同様に、データリネージにも粒度がある。
     リネージの粒度には、システム間、プログラム間といった粗い粒度（coarse-grain）から、テーブル、レコード、カラム／フィールドレベル、特定の値そのものの変遷といった細かい粒度（fine-grain）まで存在する。
     　
   * データリネージの基本構造
     データリネージ情報の基本的な構造はアソシエーションと呼ばれる。これはデータを変換する処理を示すアクター（T）に対する入力（i）、出力（o）の組み合わせを指す {i, T, o} 。
     この構造は情報の粒度に関係なく成立する。
     なお、アクターをTとするのはトランスフォーメーション（Transformation）に由来すると考えられるが、定かではない。
     　
   * Augmented Lineage
     機械学習などによってデータが作成された場合、入力値がどのように影響して出力値が生成されたのかが分かりにくいことがある。
     例えば、何らかの推論を行う機械学習モデルにデータセットを与えて推論結果を得た場合、データセットを入力、推論結果を出力としてリネージ情報を記録することが考えられる。しかし、どのような根拠でデータが変換されたのかを明確にしなければ、リネージとしては不十分である。
     このようなケースで、解析における判断根拠（Reason）の情報を含めて取り扱うリネージをAugmented Lineageと呼び、入力値、出力値、判断根拠で構成される。これはアソシエーションにおけるTを推論根拠として拡張したものとも言える。
     具体的には、線形回帰分析における回帰式やPDP（Partial Dependence Plot）といった情報が推論根拠に当たる。
     　
 * 目的・用途 (Why)
   * データ品質と信頼性の向上
     データの正確性や完全性を保証し、データの内容の妥当性を判断する際に使用する。
     人材の持つ技術力や経験を推し量る際の職務経歴書や、美術品の価値を測る上での来歴と同様である。
     従って、リネージ自体の信頼性が疑わしければ意味をなさない。
     　
   * トレーサビリティの確保
     データ分析作業における異常値やエラーの特定と対処を容易にする。
     問題のあるデータの根本原因を特定・追跡することが可能になり、なぜそのようなデータになっているのかを把握できる。
     　
   * データ活用結果の信頼性向上
     データ解析などの結果が信頼できるデータに基づいていることを保証し、データの加工過程を明確に説明できる。
     Augmented Lineageまで管理されていれば、解析結果の導出根拠まで分かる。
     　
   * システムの構築・管理の効率化
     複雑なデータパイプラインを部分的に改造したり、プラットフォーム変更に伴い再構築したりする場合、データリネージがなければ調査に多大なコストがかかる。
     既存システムのデータ流通経路が分かれば、シンプルで重複のないシステムの構築や刷新が可能になる。
     　
   * 法規制遵守（コンプライアンス）
     GDPR、HIPAA、BCBS239などの規制要件への遵守状況を追跡・確認しやすくなり、法的リスクを最小化する。また、監査証跡を提供することもできる。
     　
   * ビジネス上の意思決定を支援
     データの出所や履歴が明確になり、信頼性の高い情報に基づいた意思決定が可能になる。
     リネージを含むメタデータにより、データの意味や位置づけを明確にし、誤ったデータ利用を抑制する。
     　
   * インパクト分析（影響分析）
     データ要素の変更が下流のレポートやユーザーに与える影響や、データエラーの影響範囲などを把握、可視化できる。
     　
   * デバッグ
     データの流れをトレースし、予期しない出力を生んでいる部分（疑わしいアクターや外れ値など）を特定できる。
     　
 * 時間軸・プロセス (When/How)
   * 時間軸
     データリネージは、データの生成、保存、読み出し、加工、活用に至るライフサイクル全体にわたって経時的に追跡・記録される。
     データパイプラインの設計時点でリネージ情報を作成することも、パイプライン構築後にソースコードなどからリネージを抽出することも可能だが、事実を記録するという観点では実行時（Runtime）の記録の方が信頼性の高いリネージと言える。
     　
   * プロセス
     * データリネージの収集
       大別すると、データ処理の実行時に記録を取る方式と、プログラムコードやSQLを解析してリネージ情報を作成する方式がある。
       Augmented Lineageに関しては、データサイエンス技術に基づき統計的に算出する。
       非構造データのリネージに関しては、機械的に記録できないケースがあり（例：文書作成時に参照した資料など）、参照文献を記載する運用ルールを定めるなどの工夫が必要になることがある。
       　
     * データリネージの可視化
       有向グラフを用いてデータリネージを表示するプロセスである。標準的な様式はないが、一般的にデータやアクターをノード、それらの間のデータの流れをエッジとして記述される。
       　
     * データリネージの探索
       データリネージの探索には、出力結果を基準としてその上流の入力データをたどる後方トレーシング（backward tracing）と、逆に入力データを元に出力をたどる前方トレーシング（forward tracing）がある。
       後方トレーシングはデバッグ時（例：エラーの原因特定）、前方トレーシングはインパクト分析時（例：仕様変更の影響範囲確認）に利用する。
       　
     * 再実行・再構築
       厳密に記録されたデータリネージと最上流のデータがあれば、出力結果データが失われたとしても再構築が可能である。このプロセスを再実行もしくは再構築と呼ぶ。
       　
 * 関係する概念 (Relation)
   * データプロベナンス (Data Provenance)
     データリネージと本質的に同じ概念であり、データの来歴や出自、変換の記録を指す。もともと科学分野では、研究の根拠となるデータの出自を明確化することが求められてきた。これをデータプロベナンスと呼ぶが、データリネージはビジネス分野におけるデータプロベナンスとも言える。
     データリネージは特にDWH周辺などに限定して適用されるケースが典型的であり、その場合はソースデータの信頼性は関心外（責任範囲外）となるが、データプロベナンス（科学データにおける）ではソースの信頼性から問われるという点で違いが見られる。
     　
   * データガバナンス (Data Governance)
     データリネージを包含する広範な概念。データ資産を管理（データマネジメント）するための体制を組織内に構築し、データライフサイクル全体にわたってデータ取扱ポリシー、ルール、プロセスなどを定義する活動を指す。データリネージは、データがこれらの基準に準拠していることを保証し、データがどのように変更されるかを可視化することで、データガバナンスを支援する仕組みおよび情報である。
     　
   * メタデータ (Metadata)
     データリネージはメタデータの一種である。
     メタデータは「データに関するデータ」であり、データリネージの他に、データの取りうる値の範囲や発生頻度、単位、データオーナーは誰かといった情報も指す。
     　
   * データカタログ (Data Catalog)
     メタデータのデータベースである。データリネージはメタデータの一種であるため、データカタログツールの中にはデータリネージ機能を持つものもある。
     ただし、データカタログはメタデータを使用して組織内のデータ資産を検索可能にすることが主眼であり、リネージの記録・探索とは主たる用途が異なる。
     　
   * データ品質 (Data Quality)
     データの品質は、使用目的に対して十分かどうかで決まる。データリネージはデータ品質の向上のために使用される。
     　
   * ETL/ELT
     ETL（Extract, Transform, Load）またはELT（Extract, Load, Transform）はデータの加工処理を指す。データリネージにおいて記録すべき対象である。
     　
   * データパイプライン (Data Pipeline)
     データの取得から利用までの一連の流れをデータパイプラインと呼び、データリネージはデータパイプライン内で行われるデータの結合や変換を記録したものである。
     　
 * 具体例 (Example)
   * 典型例
     * 企業の基幹システムから取得されたデータが、ETLツールによって抽出・変換・加工され、データウェアハウスに蓄積され、最終的にBIツールでレポートとして可視化されるまでの一連の流れを追跡する。このように、データウェアハウス周辺のリネージに限定して収集するケースがよく見られる。
     　
     * データ解析の結果得られた数値が、どの元のテーブル、どのカラム、どのような加工を経て生成されたのかを遡って確認する。データ解析では試行錯誤しながらデータを加工することがあり、リネージが記録されていないとデータの再構築が困難になるケースもある。
     　
     * 金融取引データの追跡、患者の診断データや治療内容の追跡（ヘルスケア）、大規模データベースの統合やクラウド移行時におけるデータの追跡（IT業界）。
     　
 * 適用範囲 (Where/Who)
   * 適用される場所/システム
     * データウェアハウジング環境
     * ビッグデータシステム
     * エンタープライズの情報システム全体
     * クラウド環境
     * データパイプライン内
    企業内の全てのデータリネージを管理するのは現実的とは言えない。上記のようにデータ活用領域の限定的な範囲で適用されることが多い。しかし、要件によってはデータ活用領域に限らず、より発生源に近い制御系システムのリネージを管理したいケースもあり得る。
    　
   * 活用する人/役割
     * データエンジニア
     * データサイエンティスト
     * データアナリスト
     * データスチュワード
     * システム開発者
     * 業務担当者（ビジネスユーザー、意思決定者）
     * 監査担当者、コンプライアンス担当者

## 隣接する概念
ここまでで整理した通り、データリネージは**データの生成から活用に至るまでの変遷の記録もしくは記録プロセス**である。
**対象物のライフサイクルを記録する**というレベルに抽象化すると以下も同じスキーム上にある。
1. **ソフトウェアリリース管理**:
   ソフトウェアのバージョン管理やリリースプロセスの記録。
2. **製品ライフサイクル管理 (PLM)**:
   製品の設計、製造、販売、廃棄までの全過程を記録し、管理するプロセス。
3. **ドキュメント管理**:
   ドキュメントの作成、編集、レビュー、承認、配布、アーカイブまでのライフサイクルを記録するプロセス。
4. **サプライチェーン管理**:
   原材料の調達から製品の製造、流通、販売までの全過程を記録し、追跡するプロセス。
5. **プロジェクト管理**:
   プロジェクトの計画、実行、監視、完了までの全過程を記録するプロセス。
6. **バージョン管理システム (VCS)**:
   ソースコードやドキュメントの変更履歴を記録し、追跡するシステム。
7. **カルテ**:
   患者の診療記録。診察、治療、処方、検査結果などの医療情報を記録し、患者の健康状態の変遷を追跡。
8. **車の整備記録**:
   車両のメンテナンス履歴。オイル交換、タイヤ交換、修理、点検などの整備作業を記録し、車両の状態やメンテナンス履歴を追跡。
9. **子供のアルバム**:
   子供の成長記録。写真やビデオ、エピソードなどを通じて、子供の成長過程を記録し、思い出を追跡。
10. **通知表**:
   学生の学業成績記録。各学期ごとの成績や評価、出席状況などを記録し、学業の進捗を追跡。
11. **履歴書**:
   個人の職歴や学歴の記録。過去の職務経験、学歴、資格、スキルなどを記載し、個人のキャリアの変遷を追跡。
12. **職務経歴書**:
   詳細な職務履歴の記録。具体的な職務内容、業績、プロジェクトなどを記載し、職務経験の詳細を追跡。
13. **歴史書**:
   特定の時代や地域、人物の歴史を記録した書物。出来事や変遷、影響などを記録し、歴史の流れを追跡。

これらはいずれも**対象物のライフサイクルを記録する**スキームである。
従って、これらに共通して言える特質は、データリネージの本質的な特質と言える。また、これらについてのノウハウはデータリネージにおいても活かせる可能性がある。

### 共通する特質
- **情報の記録と保存**: 特定の情報の記録と保存である
- **履歴の追跡**: 過去の出来事や変更を追跡、参照
- **管理と整理**: 情報を体系的に整理し管理する仕組み
- **アクセスと共有**: 必要な人が情報にアクセスしたり、共有する
- **更新とメンテナンス**: 情報を定期的に更新し、最新状態を維持する
- **正確性と信頼性**: 記録される情報の正確性で信頼性が重要
- **セキュリティとプライバシー**: 機密性の高い情報にはセキュリティ対策
- **規格や標準の遵守**: 特定の規格や標準に従って情報管理
- **分析と報告**: 記録された情報を分析・レポーティングしてかｔ
- **ライフサイクル管理**: 情報の生成から廃棄までのライフサイクルを管理

挙げてみるとほぼデータマネジメントの知識領域内の話であり、データリネージもまた**データの一種**であることが明確になる。
 
## まとめ
データリネージ（Data Lineage）とは、データが生成から活用に至るまでのライフサイクルにおいて、その発生源、変換、移動、使用といった過程を追跡し、記録した情報、または記録するプロセスである。

データリネージ情報は様々な粒度で捕捉され、通常、データを変換するアクターの入出力を基にアソシエーションとして記録される。記録された情報は有向グラフとして可視化される。

データリネージの主な目的は、データ品質と信頼性を向上させ、データ分析作業における異常値やエラーの特定・対処を容易にし、システムの管理や構築の手間を削減し、法規制遵守のためのデータ追跡（監査証跡を含む）を可能にし、ビジネス上の意思決定やインパクト分析を支援することである。

データリネージは、データウェアハウジング、ビッグデータシステム、エンタープライズの情報システムなどの分野で活用され、データエンジニア、データサイエンティスト、データアナリスト、データスチュワードなど、データの利用・管理に関わる様々な役割の人々にとって重要な概念である。
データプロベナンスと密接に関連し、データガバナンスやメタデータ管理の一部として位置づけられる。