DEA / ドメイン2 データストア管理
Amazon SageMaker Catalog (ビジネスデータカタログとリネージュ)
Data Catalog が「列と型と場所」を持つ技術データカタログなのに対し、 Catalog は「このデータは何のためのもので、誰が持ち主で、どう使ってよいか」というビジネスの文脈を持つビジネスデータカタログです。組織の人が業務の言葉でデータを探し、利用を申請し、承認されたら使える、という流れを作ります。DEA-C01 では、ビジネスデータカタログの作成と管理 (スキル 2.2.6)、プロジェクトを通じたデータアクセスの管理 (スキル 4.5.6)、SageMaker Catalog と SageMaker ML Lineage Tracking による (スキル 2.4.4) が問われます。
Point
- ビジネスデータカタログ: 業務上の名前、説明、用語、持ち主など、ビジネスの文脈でデータを説明するカタログです。
- データリネージュ (data lineage): データがどこから来て、どの処理を経て、どこへ流れたかの系譜です。
- SageMaker Catalog は、Amazon SageMaker Unified Studio の中で使うカタログで、Amazon DataZone を基盤に作られています。
- 和訳
- Lineage: 系統、血統
- Weblio英和辞書「lineage」
概要
| 観点 | Data Catalog (技術) | Catalog (ビジネス) |
|---|---|---|
| 持つ情報 | テーブル、列、型、 の場所、パーティション | 業務上の名前、説明、用語集、メタデータフォーム、持ち主、品質、 |
| 主な利用者 | 分析エンジン (、、、Glue) | アナリスト、データサイエンティスト、データの持ち主 |
| 目的 | クエリでデータを読めるようにする | データを見つけ、理解し、承認を経て安全に共有する |
試験では、「業務の言葉でデータを探したい」「データの利用を申請と承認で管理したい」「データの系譜を可視化したい」とあれば SageMaker Catalog を選びます。
主要技術
①ドメイン・プロジェクトとアセット
| 要素 | 内容 |
|---|---|
| ドメイン | 組織のカタログ、利用者、プロジェクトをまとめる最上位の単位 |
| ドメインユニット | ドメインの中を部門などで分ける単位。権限や方針を部門ごとに持たせる |
| プロジェクト | 共通の目的で作業する利用者の集まり。データ、ツール、コンピューティングをプロジェクト単位で持つ |
| アセット | カタログに登録するデータ ( のテーブル、 のテーブル・ビュー、 のオブジェクトなど) |
| データプロダクト | 関連する複数のアセットを1つの単位として公開・購読できるようにまとめたもの |
データの持ち主のプロジェクト (プロデューサー) がアセットを取り込み、利用する側のプロジェクト (コンシューマー) が購読します。権限はユーザー個人ではなくプロジェクトに付くため、メンバーの出入りがあってもプロジェクトのメンバー管理だけで済みます。
②ビジネスデータカタログの作成と管理 ⚠️ 頻出
| 段階 | 内容 |
|---|---|
| インベントリへの取り込み | Data Catalog や をデータソースとして登録し、アセットを取り込む。この段階ではプロジェクトのメンバーだけが見える |
| (説明の付加) | 業務上の名前 (アセットと列)、説明、README、用語集の用語、メタデータフォームを付ける。生成 AI で説明の案を自動生成することもできる |
| 公開 (publish) | ドメインの利用者が検索できるカタログへ公開する。公開後に変更したら、もう一度公開して最新版を反映する |
| 検索と発見 | 業務の言葉、用語、メタデータで検索する |
| メタデータの仕組み | 内容 |
|---|---|
| 用語集 (ビジネスグロッサリー) | 「顧客」「売上」など、組織で共通の業務用語と定義。アセットや列に付ける |
| メタデータフォーム | 「データの持ち主」「機密度」「更新頻度」など、組織が決めた項目の入力欄。ドメインやドメインユニットのメタデータの必須化ルールで、公開時に入力を必須にできる (入力がないと公開できない) |
| データ品質 | の結果をアセットに表示し、利用者が品質を見て選べる |
③プロジェクトを通じたデータアクセスの管理 ⚠️ 頻出
Catalog では、データへのアクセスを「サブスクリプション (購読) の申請と承認」で管理します。
| 段階 | 内容 |
|---|---|
| 申請 | コンシューマーのプロジェクトが、目的を書いてアセットの購読を申請する |
| 承認 | データの持ち主のプロジェクトが、申請を承認または却下する |
| 権限の付与 (フルフィルメント) | 承認されると、 で管理する のテーブルには Lake Formation の権限、 のテーブル・ビューには Redshift の権限が自動で付与される |
| その他のアセット | 自動付与に対応しないアセットは、承認などのイベントが に送られるので、それを受けて独自に権限を付ける |
個別の利用者に や Lake Formation の権限を手で付ける代わりに、申請・承認・付与の流れと記録を SageMaker Catalog に任せられます。表・列・行の単位の権限の仕組みそのものは「AWS Lake Formation」の章、Redshift の権限は「Redshift のアクセス制御とデータ共有」の章、のフレームワーク (など) と共有のパターンは「データガバナンスとデータ共有のパターン」の章で扱います。
④データリネージュ ⚠️ 頻出
は、データの出どころと変換の履歴をたどれるようにする仕組みです。誤ったデータが見つかったときに上流の原因を探す、列の変更が下流のどのレポートに影響するかを調べる、監査で説明する、といった場面で使います。
| ツール | 対象 | 記録する内容 |
|---|---|---|
| Catalog のデータリネージュ | データパイプライン全体 (分析のデータ) | テーブル・ジョブ・列の間のつながり。OpenLineage と互換で、 ()、 (Spark)、 などから自動で取り込める。 (PostLineageEvent) で独自のシステムからも送れる |
| SageMaker ML Lineage Tracking | のワークフロー | データセット、学習ジョブ、モデル、の関係。どのデータでどのモデルが作られたかを再現・監査する |
リネージュは既定では取られません。Glue (Lakehouse) や Redshift のデータソースでは「データリネージュをインポート」を有効にし (Redshift はシステムテーブルから1日1回取り込みます)、Glue の Spark ジョブや EMR の Spark では OpenLineage の設定を有効にします (Glue 5.0 以降の Spark DataFrame など、対応する条件があります)。ML のモデルの来歴を問われたら ML Lineage Tracking、データパイプラインの系譜を問われたら SageMaker Catalog のリネージュを選びます。
試験対策
①判断マトリクス
| 問題文のキーワード | 選ぶもの |
|---|---|
| 業務の言葉でデータを探したい、説明や持ち主を付けたい | Catalog (ビジネスデータカタログ) |
| 組織で共通の業務用語を定義してデータに付ける | ビジネスグロッサリー |
| 「機密度」「持ち主」などの項目を必ず入力させたい | メタデータフォーム |
| データの利用を申請と承認で管理し、記録を残す | プロジェクトを通じたサブスクリプション |
| 承認したら のテーブルの権限を自動で付けたい | SageMaker Catalog のフルフィルメント () |
| 部門ごとにカタログの管理を分けたい | ドメインユニット |
| 関連するアセットをまとめて公開したい | データプロダクト |
| 誤ったデータの上流の原因をたどりたい | SageMaker Catalog の |
| どのデータでどのモデルを学習したか記録したい | SageMaker ML Lineage Tracking |
| 列と型と の場所を登録し、 で読みたい | Glue Data Catalog (技術データカタログ) |
②よくある誤答
- Data Catalog だけでビジネスの文脈 (用語、持ち主、承認の流れ) まで管理しようとすること。ビジネスデータカタログは Catalog です。
- インベントリに取り込んだだけで、ドメインの全員から見えると考えること。公開して初めて検索できます。
- 公開後にアセットを更新しても、自動でカタログに反映されると考えること。もう一度公開します。
- ML Lineage Tracking を、 パイプラインの系譜の記録に使うこと。ML のワークフロー向けです。