データ品質ガバナンス - AWS Glue Data Quality vs Azure Purview
AWS Glue Data Quality と Azure Purview (Microsoft Purview) を比較し、データ品質ルールの定義、自動検証、データカタログ、リネージュ追跡の違いを具体的に解説します。
データ品質ガバナンスの概要と AWS のアプローチ
データ品質ガバナンスは、データレイクやデータウェアハウスに蓄積されるデータの正確性、完全性、一貫性、鮮度を継続的に監視・改善するプロセスです。AWS は AWS Glue Data Quality を中核に、AWS Glue Data Catalog、AWS Lake Formation、Amazon DataZone を組み合わせたデータガバナンススタックを提供します。Glue Data Quality は DQDL (Data Quality Definition Language) という宣言的な言語でデータ品質ルールを定義し、Glue ETL ジョブの実行時に自動検証を実行します。たとえば、カラムの NULL 率が 5% 以下であること、値の範囲が特定の閾値内であること、参照整合性が保たれていることなどを DQDL で記述できます。Azure Purview (現 Microsoft Purview) もデータ品質スコアリングを提供しますが、Glue Data Quality のように ETL パイプラインに組み込んだインライン検証はサポートしておらず、品質チェックは別途スキャンジョブとして実行する必要があります。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
データ品質ルールの定義と自動推奨
AWS Glue Data Quality の特徴的な機能として、データセットを分析して品質ルールを自動推奨する機能があります。Glue Data Quality はデータのプロファイリング (統計分析) を実行し、各カラムの NULL 率、ユニーク値の数、値の分布、データ型の一貫性を自動的に評価します。この分析結果に基づいて、適切な品質ルール (例: Completeness "email" > 0.95、ColumnValues "age" between 0 and 150) を DQDL 形式で自動生成します。管理者はこの推奨ルールをレビュー・カスタマイズして適用するだけで、品質監視を開始できます。Azure Purview のデータ品質機能はルールの手動定義が中心で、Glue Data Quality のような自動推奨機能は提供されていません。DQDL は 30 以上の組み込みルールタイプ (Completeness、Uniqueness、ColumnValues、RowCount、ReferentialIntegrity、CustomSql など) をサポートし、CustomSql ルールでは任意の SQL クエリの結果に基づく品質チェックも可能です。品質ルールの評価結果は CloudWatch メトリクスとして発行され、閾値違反時のアラート通知を自動化できます。
データカタログとメタデータ管理
AWS Glue Data Catalog は S3、RDS、Redshift、DynamoDB など AWS のデータソースのメタデータを一元管理するリポジトリです。Glue Crawler がデータソースを自動スキャンし、テーブル定義 (スキーマ、パーティション、データ形式) を Data Catalog に登録します。Data Catalog に登録されたテーブルは Athena、Redshift Spectrum、EMR から直接クエリでき、メタデータの一元管理によるデータの発見性向上を実現します。Data Catalog は 100 万オブジェクトまで無料で、Crawler の実行は DPU 時間あたり 0.44 USD の従量課金です。Azure Purview のデータカタログも複数データソースのメタデータを統合管理しますが、Purview の料金は vCore 時間ベースで、スキャン頻度とデータ量に応じてコストが増加します。Amazon DataZone は Data Catalog の上位レイヤーとして、ビジネスドメインごとのデータカタログ、データサブスクリプション (データの申請・承認ワークフロー)、データポータルを提供し、組織全体のデータ民主化を推進します。
データリネージュとアクセス制御
データリネージュ (データの来歴追跡) は、データがどのソースから取り込まれ、どのような変換を経て、どのテーブルに格納されたかを可視化する機能です。AWS Glue は ETL ジョブの実行時にリネージュ情報を自動記録し、Amazon DataZone のリネージュビューアーでソースからターゲットまでのデータフローを視覚的に追跡できます。Azure Purview もリネージュ追跡を提供しますが、AWS の Glue + DataZone の組み合わせは ETL パイプラインのリネージュを自動的にキャプチャする点で運用負荷が低くなります。データアクセス制御では、AWS Lake Formation がテーブルレベル、カラムレベル、行レベル (Row Filter) のきめ細かなアクセス制御を提供します。Lake Formation のタグベースアクセス制御 (LF-TBAC) は、データカタログのリソースにタグを付与し、タグに基づいてアクセス権限を自動適用する仕組みで、数千テーブルの権限管理を効率化します。Azure Purview のアクセスポリシーも列レベルのアクセス制御を提供しますが、Lake Formation の行レベルフィルタリングに相当する機能はなく、行レベルの制御には別途 SQL ビューの作成が必要です。
データ品質パイプラインの構築と運用
AWS Glue Data Quality を ETL パイプラインに組み込む実践的な構成として、S3 データレイクへのデータ取り込み時に品質チェックを実行するパターンがあります。Glue ETL ジョブの EvaluateDataQuality トランスフォームを使用すると、データ変換の途中で品質ルールを評価し、品質基準を満たすレコードと満たさないレコードを自動的に分離できます。品質基準を満たすデータのみをターゲットテーブルに書き込み、不合格データは隔離テーブルに退避させることで、下流の分析やレポートに不正データが混入するのを防止します。Step Functions と組み合わせれば、品質チェック失敗時の通知、リトライ、エスカレーションを含むワークフローを構築できます。Glue Data Quality の料金は DQDL ルールの評価回数に基づく従量課金で、1,000 ルール評価あたり 0.10 USD です。EventBridge Scheduler で定期的な品質チェックジョブをスケジュールし、CloudWatch ダッシュボードで品質スコアの推移を時系列で監視する運用が推奨されます。品質スコアが閾値を下回った場合に SNS 経由で Slack や PagerDuty に通知する自動アラートも容易に構成できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
AWS のデータ品質ガバナンススタックは、Glue Data Quality の DQDL による宣言的な品質ルール定義と自動推奨、Data Catalog の 100 万オブジェクト無料メタデータ管理、Lake Formation のタグベースアクセス制御と行レベルフィルタリング、DataZone のデータポータルとリネージュ可視化を統合的に提供します。Azure Purview がデータカタログとリネージュに強みを持つ一方、ETL パイプラインへのインライン品質検証や品質ルールの自動推奨は Glue Data Quality の独自機能です。DQDL の 30 以上の組み込みルールタイプ、EvaluateDataQuality トランスフォームによる不合格データの自動分離、CloudWatch 連携の品質スコア監視により、データドリブンな組織のガバナンス基盤を効率的に構築できます。
AWS の優位点
- AWS Glue Data Quality は DQDL (Data Quality Definition Language) で 30 以上の組み込みルールタイプを提供し、ETL パイプラインにインラインで品質検証を組み込み可能
- データプロファイリングに基づく品質ルールの自動推奨機能で、管理者の手動ルール定義の負荷を大幅に軽減。Azure Purview には同等の自動推奨機能なし
- Glue Data Catalog は 100 万オブジェクトまで無料で、Athena・Redshift Spectrum・EMR から直接クエリ可能なメタデータリポジトリを提供
- Lake Formation のタグベースアクセス制御 (LF-TBAC) と行レベルフィルタリングで、数千テーブルのきめ細かな権限管理を効率化
- EvaluateDataQuality トランスフォームで品質基準を満たすデータと不合格データを自動分離し、下流分析への不正データ混入を防止
- 品質ルール評価は 1,000 回あたり 0.10 USD の従量課金で、CloudWatch メトリクスと SNS 連携による品質スコア監視・アラートを自動化