データ分析基盤におけるデータ品質の管理(3)- データ品質評価後のアクション
以前の投稿「データ分析基盤におけるデータ品質の管理(2)- AWS Glueによるデータ品質評価プロセスの実装例」では、パイプラインツールを使用して、データの品質をチェックするプロセスを紹介しました。データサイエンティストが実施する品質チェックはデータサイエンティスト自身がエラーのつど適切な対応を行いますが、エンタープライズデータウェアハウスの運用では、データ品質に異常があったデータをどのような単位で、どのように取り扱うかが重要となります。本テーマでは、エンタープライズデータウェアハウス環境での品質エラーの対応後のアクションについて解説します。
品質異常データの取り扱い方法
品質異常データの除外や運用者による修正
データ品質に異常が見つかった際は、該当するデータを除外したり、エラーデータとして一時保留した後に必要な対応を行ったりするなど、運用者を交えた手順に従い適切に対処します。この間、エラーに関連するデータはエンドユーザーには参照されず、メタデータの表示や何らかの通知手段を通して品質の問題があることが伝えられます。
品質異常データの除外する単位には次の選択肢があります。
- 異常レコードのみ除外
- 異常レコードと関連するレコード単位(例えば、同一注文番号)の除外
- 異常が存在するI/F単位での除外(受信したファイル、メッセージなど)
- 異常が存在するI/Fグループの除外
データを除外する際の単位は、以下のような基準が用いられます。
- データの重要性と一貫性 データが非常に重要で一貫性が必要な場合(例えば、財務報告や医療記録など)、一部のレコードが不合格であれば、ファイル全体を対象外にする方が適切であることがあります。これは、不合格レコードがデータセット全体の品質に影響を与える可能性があるためです。
- データの量と品質のバランス 大量のデータを処理する場合、いくつかの不合格レコードがあっても、それらを除外して残りのデータを使用することが合理的な場合があります。特に、不合格レコードが全体のごく一部である場合や、データの品質が全体的に高い場合は、これが適切な選択肢となります。
- データの相互依存性 データレコードが相互に依存している場合(例えば、時間系列データや階層的なデータ構造を持つデータなど)、一部のレコードが不合格であっても、ファイル全体を対象外にする必要があります。これは、不合格レコードが他のレコードの解釈に影響を与える可能性があるためです。
- 業界や規制の要件 特定の業界や規制によっては、データ品質に関して厳格な基準が設けられていることがあります。このような場合、規制要件に従って適切なアプローチを選択する必要があります。
品質異常データの自動補正
データ分析基盤において、データ品質の問題を自動的に回避するための方法はいくつか存在します。ただし、これらの方法は一時的な回避策であり、根本的な問題の解決にはならないことに注意が必要です。以下にいくつかの例を挙げます。
- デフォルト値の設定 特定のフィールドが欠損している場合や無効な値を持っている場合に、デフォルト値を設定することでデータ品質の問題を回避します。
- データクレンジング データの前処理ステップとして、データクレンジングを行い、不正な値やフォーマットの誤りを修正します。
- 参照整合性のチェック 参照整合性を満たさないデータが検出された場合、親テーブルに一時的なダミーデータ(「マスタ未登録」レコード)を追加することで問題を回避することができます。
データ品質の向上の施策
日常の運用でデータ品質チェックでエラーが発見された場合、適切な対応を迅速行っていくことが重要です。さらに、それぞれの品質エラーについて、業務への影響やエラーの発生頻度を踏まえ、将来的なエラーを防ぐためにデータ品質管理のプロセスを継続的に改善していく必要があります。継続的な改善プロセスには次のような内容が挙げられます。
- データソースの改善 エラーの原因がデータソースにある場合は、データソースの質を改善するための対策を講じます。例えば、データ収集方法の見直し、データ入力のバリデーションルールの強化などが行われます。
- ETLプロセスの改善 データ変換やロードのプロセスに問題がある場合は、ETLプロセスを改善します。データ変換のロジックの修正や、データロードの方法の見直しが行われます。
- データ品質ルールの強化 データ品質のチェックルールを見直し、より厳格なルールを設定することで、将来的なエラーの発生を防ぎます。
- データガバナンスの強化 データガバナンスのポリシーを見直し、データの品質管理に関する組織全体の取り組みを強化します。