medallion アーキテクチャについて説明する

完了

Fabric のデータ レイクハウスは、ACID (原子性、一貫性、分離性、持続性) トランザクションをネイティブにサポートする Delta Lake 形式に基づいて構築されています。 このフレームワーク内では、"medallion アーキテクチャ" は、レイクハウス内のデータを論理的に整理するために使用される推奨データ設計パターンです。 これは、異なるレイヤー間を移動するデータ品質の向上を目的としています。 通常、このアーキテクチャには、ブロンズ (生)、シルバー (検証済み)、ゴールド (エンリッチされた) の 3 つのレイヤーがあり、それぞれが高いデータ品質レベルを表します。 これは "マルチホップ" アーキテクチャと呼ばれることもあり、必要に応じてデータをレイヤー間で移動できることを意味します。

このアーキテクチャにより、データがさまざまなチェックや変更を経ても、信頼性と一貫性が保証されます。 また、分析が簡単かつすばやく行える方法でデータが安全に保存されることも保証されます。

medallion アーキテクチャは、他のデータ編成方法を置き換えるのではなく、それを補完します。 medallion アーキテクチャは、データ アーキテクチャやモデルではなく、データ クリーニングのフレームワークと考えることができます。 これにより、企業が既存のデータ モデルと共にその利点を採用するための互換性と柔軟性が確保され、絶えず変化するデータ環境に適応しつつ、データ ソリューションをカスタマイズし、専門知識を維持することができます。

Diagram of a medallion architecture where data flows from the source to the bronze, silver, and gold layers.

medallion アーキテクチャの形式を理解する

ブロンズ レイヤー

medallion アーキテクチャのブロンズ (生) レイヤーは、レイクハウスの最初のレイヤーです。 これは、構造化、半構造化、非構造化のいずれであっても、すべてのデータのランディング ゾーンです。 データは元の形式で保存され、変更は行われません。

シルバー レイヤー

シルバー (検証済み) レイヤーは、レイクハウスの 2 番目のレイヤーです。 ここでは、データを検証して調整します。 シルバー レイヤーの一般的なアクティビティには、データの結合とマージ、null 値の削除や重複除去などのデータ検証規則の適用が含まれます。 シルバー レイヤーは、データが一貫した形式で保存され、複数のチームがアクセスできる、組織またはチーム全体の中央リポジトリと考えることができます。 シルバー レイヤーでは、データを十分にクリーニングして、すべてを 1 か所にまとめて、ゴールド レイヤーで調整とモデル化が行えるようにします。

ゴールド レイヤー

ゴールド (エンリッチされた) レイヤーは、レイクハウスの 3 番目のレイヤーです。 ゴールド レイヤーでは、特定のビジネスと分析のニーズに合わせてデータがさらに調整されます。 これには、日単位や時間単位などの特定の粒度にデータを集計したり、外部情報を使用してデータをエンリッチしたりすることが含まれる場合があります。 データがゴールド ステージに達すると、分析、データ サイエンス、MLOps など、ダウンストリーム チームが使用できるようになります。

medallion アーキテクチャをカスタマイズする

組織固有のユース ケースによっては、さらにレイヤーが必要になる場合があります。 たとえば、データがブロンズ レイヤーに変換される前に、特定の形式でランディングするための "生" レイヤーを追加することができます。 または、特定のユース ケースに合わせてさらに調整されエンリッチされたデータ用に、"プラチナ" レイヤーを追加することもできます。 レイヤーの名前と数に関係なく、medallion アーキテクチャは柔軟であり、組織の特定の要件を満たすように調整できます。

Fabric 内のレイヤー間でデータを移動する

データは medallion レイヤー間を移動することで、ダウンストリーム データ アクティビティ用に調整、整理、準備されます。 Fabric のレイクハウス内には、レイヤー間でデータを移動する方法が複数あるため、チームに適した方法を確実に選択できます。

レイヤー間でデータを移動および変換する方法を決定する際に考慮すべき点がいくつかあります。

  • 使用しているデータの量はどのくらいか。
  • どのくらい複雑な変換を行う必要があるか。
  • どのくらいの頻度でデータをレイヤー間で移動する必要があるか。
  • 最も使い慣れているツールは何か。

データ変換とデータ オーケストレーションの違いを理解すると、Fabric 内のジョブに適したツールを選択するのに役立ちます。

"データ変換" には、特定の要件を満たすようにデータの構造または内容を変更することが含まれます。 Fabric のデータ変換用ツールには、データフロー (Gen2) とノートブックが含まれます。 データフローは、小規模なセマンティック モデルや単純な変換に最適な選択肢です。 ノートブックは、大規模なセマンティック モデルや複雑な変換に適した選択肢です。 ノートブックを使用すると、変換されたデータをマネージド Delta テーブルとしてレイクハウスに保存し、レポートにすぐに使用できるようになります。

"データ オーケストレーション" とは、複数のデータ関連プロセスの調整と管理を指し、それらが確実に連携して望ましい結果を得られるようにします。 Fabric におけるデータ オーケストレーションの主なツールは "パイプライン" です。 パイプラインは、ある場所から別の場所に (この場合は medallion アーキテクチャのあるレイヤーから次のレイヤーに) データを移動する一連のステップです。 パイプラインは、スケジュールに従って実行するように自動化することも、イベントによってトリガーすることもできます。