metadata data warehouse explained with examples
このチュートリアルでは、ETLでのメタデータの役割、メタデータの例と種類、メタデータリポジトリ、およびメタデータ管理の課題について説明します。
ETLのデータマート 以前のチュートリアルで詳細に説明されました。
メタデータの概念はETLで非常に重要であり、このチュートリアルではメタデータについてすべて説明します。
メタデータの役割、メタデータの例、およびそのタイプ、メタデータリポジトリ、メタデータウェアハウジングメタデータの管理方法、メタデータ管理の課題について説明します。
また、メタデータ駆動型ETLとは何か、およびデータとメタデータの違いについても理解できます。
=> ここで無料のデータウェアハウストレーニングシリーズをお読みください。
ターゲットオーディエンス
- データウェアハウス/ ETL開発者およびテスター。
- データベースの概念に関する基本的な知識を持つデータベースの専門家。
- データウェアハウス/ ETL領域を理解したいデータベース管理者/ビッグデータの専門家。
- データウェアハウスの仕事を探している大学卒業生/新入生。
学習内容:
.airファイルを開く方法
ETLのメタデータ
データウェアハウスチーム(または)ユーザーは、さまざまな状況でメタデータを使用して、システムを構築、保守、および管理できます。データウェアハウスのメタデータの基本的な定義は、 「データに関するデータです」 。
メタデータは、次のようなDWデータに関するあらゆる種類の情報を保持できます。
- 抽出されたデータのソース。
- そのDWデータの使用。
- あらゆる種類のデータとその値。
- データの特徴。
- 抽出されたデータの変換ロジック。
- DWテーブルとその属性。
- DWオブジェクト
- タイムスタンプ
メタデータは、DWシステムのデータの目次として機能し、そのデータに関する詳細を示す手法を示します。簡単に言えば、その本の内容について、メタデータとして機能する本のインデックスを考えることができます。
同様に、メタデータはDWコンテンツへのインデックスとして機能します。このようなメタデータはすべてリポジトリに保存されます。メタデータを調べることで、エンドユーザーはどこからDWシステムの分析を開始できるかを知ることができます。そうでなければ、エンドユーザーがそのような巨大なDWシステムのどこからデータ分析を開始するかを知ることは困難です。
データウェアハウスにおけるメタデータの役割
以前は、メタデータはドキュメントとして作成および維持されていました。しかし、今日のデジタルの世界では、さまざまなツールがDWプロセスの各レベルでメタデータを記録することにより、この作業を容易にしました。
1つのツールで作成されたメタデータは標準化でき(つまり、データを1つの固有の形式にまとめることができます)、DWシステム内のどこにいても他のツールで再利用できます。
運用システムが現在のデータを維持していることを認識しているため、DWシステムは履歴データと現在のデータを維持します。
メタデータは、ソースシステム、データ抽出/変換方法、およびこのプロセスで発生するデータの構造(または)コンテンツで発生するすべての変更を追跡する必要があります。メタデータはさまざまなバージョンを維持して、これらすべての変更を数年にわたって追跡します。
リポジトリで提供される十分なメタデータは、システムをより効率的かつ独立して分析する際に、すべてのユーザーを支援します。メタデータを理解することで、DWデータに対してあらゆる種類のクエリを実行して最良の結果を得ることができます。
メタデータの役割の図解:

簡単な用語でのメタデータの例
以下に、メタデータの例をいくつか示します。
- Webページのメタデータには、コード化されている言語、ページの作成に使用されたツール、サポートされているブラウザなどが含まれている場合があります。
- デジタル画像のメタデータには、画像のサイズ、解像度、色の濃さ、画像の作成日などが含まれる場合があります。
- ドキュメントのメタデータには、ドキュメントの作成日、最終更新日、サイズ、作成者、説明などが含まれる場合があります。
データとメタデータの比較
| S.No | データ | メタデータ |
|---|---|---|
| 1 | データは一連の情報です。 | メタデータはデータに関する情報です。 |
| 二 | データは処理されない場合があります(または処理されない場合があります)。 | メタデータは常に処理されたデータです。 |
メタデータの種類
メタデータをさまざまなタイプに分類すると、メタデータをよりよく理解するのに役立ちます。この分類は、その使用法(または)ユーザーなどに基づくことができます。
以下のさまざまなタイプのメタデータについて見ていきましょう。
単純な二分木c ++
#1)奥の部屋のメタデータ: 抽出、クリーンアップ、およびロードのプロセスについてDBA(または)エンドユーザーに指示します。
#2)フロントルームのメタデータ: エンドユーザーにBIツールとレポートを使用するように指示します。
#3)プロセスメタデータ: これには、ロード、拒否、処理された行数、DWシステムへのロードにかかった時間などのETLプロセスメタデータが格納されます。この情報には、エンドユーザーもアクセスできます。
同時に、ステージングテーブルの統計もETLチームにとって重要です。このメタデータは、ロード、拒否、処理された行数、各ステージングテーブルへのロードにかかった時間などのステージングテーブルプロセスデータを格納します。
#4)データ系統: これにより、各ソースシステム要素の論理変換がDWターゲット要素に保存されます。
#5)ビジネスの定義: DWテーブルのコンテキストは、ビジネス定義から派生しています。テーブル内のすべての属性は、ビジネス定義に関連付けられています。したがって、これらは将来の参照のためにメタデータ(または)他のドキュメントとして保存する必要があります。エンドユーザーとETLチームの両方が、これらのビジネス定義に依存しています。
#6)技術的定義: 技術的な定義は、ビジネスの定義よりもデータステージング領域でのみ使用されます。主な目的は、ステージングテーブルを作成する際のあいまいさを減らし、既存のテーブルを再利用することです。技術的な定義には、場所や構造など、各ステージングテーブルの詳細が格納されます。
各ステージングテーブルはここに技術的に文書化されています。文書化されていない場合は、ステージングテーブルが存在しないことを意味します。これにより、同じステージングテーブルの再作成が回避されます。
#7)ビジネスメタデータ: データは、エンドユーザー/アナリスト/マネージャー/すべてのユーザーの利益のためにビジネス用語で保存されます。ビジネスメタデータはソースシステムデータのプロキシです。つまり、データ操作は行われません。これは、任意のビジネスドキュメントおよびビジネスルールから導き出すことができます。
#8)技術メタデータ: これにより、テーブル属性、それらのデータ型、サイズ、主キー属性、外部キー属性、および任意のインデックスなどの技術データが格納されます。これは、ビジネスメタデータと比較するとより構造化されています。
技術メタデータは主に、開発者/テスター/アナリスト/ DBAなどのDWチームがシステムを構築(または)保守することを目的としています。これは、データベースの負荷やデータのバックアップなどを監視するために管理者によっても大幅に使用されます。
#9)運用メタデータ: 私たちが知っているように、DWシステムへのデータは、さまざまなデータタイプとフィールドを持つ多くの運用システムから供給されます。 DW抽出は、そのようなデータを一意のタイプに変換し、このすべてのデータをシステムにロードします。
同時に、データをソースシステムデータにリンクバックできる必要があります。これらすべての運用データソース情報を格納するメタデータは、運用メタデータと呼ばれます。
#10)ソースシステム情報:
さまざまなソースシステムから次のメタデータを収集できます。
- データベース(または)ファイルシステム: これにより、ソースシステムデータベース(または)ファイルの名前が保存されます。
- テーブルの仕様: これにより、テーブル名、その目的、サイズ、属性、主キー、外部キーなど、テーブルに関するすべての詳細が格納されます。
- 例外処理ルール: これにより、システム障害が発生した場合にシステムを回復するさまざまな方法が保存されます。
- ビジネスの定義: これにより、データを簡単に理解するためのビジネス定義が保存されます。
- ビジネスルール: これにより、各テーブルのデータを理解し、不整合を回避するための一連のルールが保存されます。
ソースシステムのメタデータは、データを分析する際にDWチームの時間を大幅に節約します。
#11)ETLジョブメタデータ: ETLジョブのメタデータは、ETLシステムをロードするために、スケジュールで処理されるすべてのジョブの詳細を格納するため、非常に重要です。
このメタデータには、次の情報が格納されます。
- 職種名: ETLジョブ名。
- 仕事の目的: ジョブを実行する目的。
- ソーステーブル/ファイル: これは、このETLジョブによってデータが供給されるすべてのテーブルとファイルの名前と場所を提供します。これには、複数のテーブル(または)ファイル名を含めることができます。
- ターゲットテーブル/ファイル: これは、このETLジョブによってデータが変換されるすべてのテーブルとファイルの名前と場所を提供します。これには、複数のテーブル(または)ファイル名を含めることができます。
- 拒否されたデータ: 目的のソースデータがターゲットにロードされていないすべてのテーブルとファイルの名前と場所を提供します。
- 前処理: 現在のジョブが依存しているジョブ(または)スクリプト名を提供します。これは、現在のジョブを実行する前に、それらを正常に実行する必要があることを意味します。
- 後処理: これは、プロセスを完了するために現在のジョブの直後に実行する必要があるジョブ(または)スクリプト名を提供します。
- 周波数: ジョブを実行する頻度、つまり毎日、毎週(または)毎月の情報を提供します。
#12)変換メタデータ: 変換メタデータには、ETLプロセスに関連するすべての構築情報が格納されます。 ETLプロセスでのデータのすべての操作は、データ変換と呼ばれます。
ETLプロセス内の関数、ストアドプロシージャ、カーソル、変数、およびループのセットは、変換と見なすことができます。ただし、このような変換をメタデータとして個別に文書化することはできません。
ETLプロセス全体は、データ変換で構築されています。 ETLのいくつかの変換は、事前定義してDWシステム全体で使用できます。 ETL開発者は、すべてのデータ変換の構築(または)再処理に時間を費やしています。 ETLプロセスの開発中に事前定義された変換を再利用すると、作業がスピードアップします。
ETLにある以下のデータ変換をお読みください。
- ソースデータの抽出: これには、SQL Selectクエリ(または)FTP(または)XML /メインフレームデータの読み取りなどのソースシステムデータから読み取るためのデータ変換が含まれます。
- サロゲートキージェネレーター: データベーステーブルの行ごとに生成する必要のある新しいシーケンス番号は、メタデータとして保存されます。
- ルックアップ: ルックアップは、すべてのINステートメント、内部結合、および外部結合を使用して形成できます。これらは主に、ファクトをロードする間、それぞれのすべてのディメンションテーブルからの代理キーを保持するために使用されます。
- フィルタ: ETLプロセスで抽出、ロード、および拒否する必要のあるデータを分類するには、フィルターを使用することをお勧めします。 ETLシステムの初期段階でデータをフィルタリングすることは良い習慣です。フィルタは、ビジネスルール(または)の制約に応じて適用されます。
- 骨材: データの粒度のレベルに応じて、合計、カウント、平均などの集計関数に関連するメタデータを使用できます。
- 更新戦略: これらは、データの更新中にレコードに適用されるルールです。既存のデータに変更がある場合、これはレコードを追加、削除(または)更新する必要があるかどうかを示します。
- ターゲットローダー: ターゲットローダーは、ETLプロセスを通じてデータをロードする必要があるデータベース、テーブル名、および列名の詳細を格納します。さらに、これにより、ETLシステムへのデータのロード中に実行されるバルクロードユーティリティの詳細も保存されます。
すべての変換には、その目的に関する簡単なメモを付けて、明確に名前を付けることができます。
上記の変換リストについて、命名規則のいくつかの例がここにインライン化されています。
SRC_ SEQ_ LKP_ FIL_ AGG_ UPD__ TRG_ ETLのメタデータリポジトリ
メタデータリポジトリは、任意のタイプのメタデータがローカルデータベース(または)仮想データベースに格納される場所です。ビジネスメタデータ(または)技術メタデータなどの各タイプのメタデータは、リポジトリ内で論理的に分離できます。
上記の2つのタイプに加えて、リポジトリにはInformationnavigatorという名前のコンポーネントがもう1つあります。
情報ナビゲーターを使用して、以下のタスクを実行できます。
- クエリツールからのインターフェース: これにより、DWメタデータにアクセスするためのクエリツールへのインターフェイスが提供されます。
- 詳細についてはドリルダウン: これにより、ユーザーはメタデータをドリルダウンしてより詳細な情報を得ることができます。例として、最初のレベルで、ユーザーはデータテーブル定義を取得できます。ドリルダウンすることで、次のレベルのテーブル属性を取得できます。データをさらにドリルダウンすることで、各属性の詳細などを取得できます。
- 事前定義されたクエリとレポートを確認します。 これにより、ユーザーは事前定義されたクエリとレポートを確認できます。これは、適切なパラメータなどを使用して、フレームクエリへの参照として機能します。
メタデータリポジトリの図解:

データウェアハウスのメタデータはどのように管理できますか?
人、プロセス、ツールは、メタデータを管理するための重要なソースです。
- 人々は適切な使用法のためにメタデータを理解する必要があります。
- このプロセスでは、メタデータがツール(または)リポジトリに組み込まれ、将来の使用に備えてDWライフサイクルの進行状況が示されます。
- その後、メタデータはツールで管理できます。
メタデータ管理の課題
メタデータが作成されると、システムでメタデータを統合および管理する際に、以下の課題に直面する可能性があります。
- メタデータはスプレッドシート、アプリケーション(または)データベースに保存できるため、DWシステムでさまざまなツールを使用している場合は、さまざまな形式のメタデータを標準形式にするのにさらに手間がかかる場合があります。
- メタデータ形式には、確立された業界全体の標準はありません。この標準化されたプロセスの欠如により、メタデータをさまざまなレベルのDWシステムおよびツールに渡すことは困難です。
- 履歴メタデータのさまざまなバージョンを一貫して維持することは、複雑な作業です。
メタデータ駆動型ETLとは何ですか?
メタデータ駆動型ETLは、DWシステムへのデータロードプロセスを簡素化するためのレイヤーを確立します。メタデータに依存せずに、データをシステムに処理するかどうかを決定できます。したがって、メタデータ駆動型ETLと呼ぶことができます。
結論
このチュートリアルでは、DWシステムの成功(または)失敗を判断する際のメタデータの重要な役割について詳しく説明しました。
また、メタデータの意味、役割、例、タイプ、課題について、関連する画像表現とともに詳細に調査しました。
このデータウェアハウスシリーズからのこれらの有益なチュートリアルが、データウェアハウスと関連する概念に関する知識を深めることを願っています!!!
幸せな読書!!
3年間の経験で手動テストを再開
=> ゼロからデータウェアハウジングを学ぶには、こちらにアクセスしてください。