データ ウェアハウスの ETL (抽出、変換、ロード) プロセス
ETLとは何ですか?
ETL さまざまなソース システムからデータを抽出し、次にデータを変換し (計算、連結などを適用して)、最後にデータをデータ ウェアハウス システムにロードするプロセスです。 ETL の完全な形式は、抽出、変換、ロードです。
データ ウェアハウスの作成は、複数のソースからデータを抽出し、データ ウェアハウスのデータベースにロードするだけだと考えがちです。これは真実とはほど遠く、複雑な ETL プロセスが必要です。ETL プロセスには、開発者、アナリスト、テスター、上級管理職など、さまざまな関係者からの積極的な入力が必要であり、技術的に困難です。
意思決定者のためのツールとしての価値を維持するには、ビジネスの変化に合わせてデータ ウェアハウス システムも変化する必要があります。 ETL はデータ ウェアハウス システムの繰り返しのアクティビティ (毎日、毎週、毎月) であり、機敏で自動化され、十分に文書化されている必要があります。
なぜ ETL が必要なのですか?
組織で ETL を採用する理由は数多くあります。
- 企業が重要なビジネス上の意思決定を行うためにビジネス データを分析するのに役立ちます。
- トランザクション データベースでは、ETL の例で回答できる複雑なビジネス上の質問に答えることはできません。
- データ ウェアハウスは共通のデータ リポジトリを提供します
- ETL は、さまざまなソースからデータ ウェアハウスにデータを移動する方法を提供します。
- データ ソースが変更されると、データ ウェアハウスは自動的に更新されます。
- データ ウェアハウス プロジェクトの成功には、適切に設計され文書化された ETL システムがほぼ不可欠です。
- データ変換、集計、計算ルールの検証を可能にします。
- ETL プロセスにより、ソース システムとターゲット システムの間でサンプル データを比較できます。
- ETL プロセスは複雑な変換を実行する可能性があり、データを保存するための追加の領域が必要になります。
- ETL は、データをデータ ウェアハウスに移行するのに役立ちます。 さまざまな形式やタイプに変換して、一貫した XNUMX つのシステムに準拠します。
- ETL は、ターゲット データベース内のソース データにアクセスして操作するための事前定義されたプロセスです。
- データ ウェアハウスの ETL は、ビジネスに深い歴史的コンテキストを提供します。
- 技術的なスキルを必要とせずに体系化して再利用できるため、生産性の向上に役立ちます。
データ ウェアハウスの ETL プロセス
ETL は 3 段階のプロセスです
ステップ1) 抽出
ETL アーキテクチャのこのステップでは、データがソース システムからステージング領域に抽出されます。ソース システムのパフォーマンスが低下しないように、変換はステージング領域で実行されます。また、破損したデータがソースからデータ ウェアハウス データベースに直接コピーされた場合、ロールバックは困難になります。ステージング領域では、抽出されたデータをデータ ウェアハウスに移動する前に検証できます。
データ ウェアハウスは、異なるシステムを統合する必要があります。
DBMS、ハードウェア、 Operaシステムと通信プロトコル。ソースには、メインフレームなどのレガシー アプリケーション、カスタマイズされたアプリケーション、ATM などの POC デバイス、コール スイッチ、テキスト ファイル、スプレッドシート、ERP、ベンダーやパートナーからのデータなどが含まれる可能性があります。
したがって、データを物理的に抽出してロードする前に、論理データ マップが必要です。 このデータ マップは、ソース データとターゲット データの間の関係を説明します。
XNUMX つのデータ抽出方法:
- 完全抽出
- 部分抽出 - 更新通知なし。
- 部分抽出 - 更新通知あり
使用する方法に関係なく、抽出はソース システムのパフォーマンスや応答時間に影響を与えるべきではありません。 これらのソース システムは、ライブ運用データベースです。 速度低下やロックが発生すると、企業の収益に影響を与える可能性があります。
抽出中にいくつかの検証が行われます。
- レコードとソースデータを照合する
- スパムや不要なデータが読み込まれていないことを確認してください
- データ型チェック
- あらゆる種類の重複/断片化されたデータを削除します
- すべてのキーが所定の位置にあるかどうかを確認してください
ステップ2) 変換
ソースサーバーから抽出されたデータは未加工であり、元の形式では使用できません。 したがって、それを浄化し、マッピングし、変換する必要があります。 実際、これは ETL プロセスが価値を追加し、洞察力に富んだ BI レポートを生成できるようにデータを変更する重要なステップです。
これは、抽出されたデータに一連の関数を適用する重要なETL概念の1つです。変換を必要としないデータは次のように呼ばれます。 直接移動 or データをパススルーする.
変換ステップでは、データに対してカスタマイズされた操作を実行できます。たとえば、ユーザーがデータベースにない売上合計が必要な場合や、テーブル内の名と姓が異なる列にある場合などです。ロードする前にそれらを連結することができます。
以下はデータです Integrity 問題:
- Jon、John など、同じ人物の別のスペル。
- Google、Google Inc. など、会社名を表す方法は複数あります。
- クリーブランド、クリーブランドなどの別の名前の使用。
- 同じ顧客に対して、さまざまなアプリケーションによって異なるアカウント番号が生成される場合があります。
- 一部のデータでは必要なファイルが空白のままです
- POS で無効な商品を手動で入力すると、間違いが発生する可能性があります。
検証はこの段階で行われます
- フィルタリング – ロードする特定の列のみを選択します
- データ標準化のためのルールとルックアップ テーブルの使用
- 文字セット変換とエンコーディングの処理
- 日付時刻変換、通貨変換、数値変換などの測定単位の変換。
- データしきい値検証チェック。 たとえば、年齢は XNUMX 桁を超えることはできません。
- ステージング領域から中間テーブルへのデータ フローの検証。
- 必須フィールドは空白のままにしないでください。
- クリーニング (たとえば、NULL を 0 にマッピングする、または性別男性を「M」にマッピングし、女性を「F」にマッピングするなど)
- 列を複数に分割し、複数の列を XNUMX つの列にマージします。
- 行と列を入れ替えると、
- ルックアップを使用してデータをマージする
- 複雑なデータ検証を使用する(例:行の最初の 2 つの列が空の場合、その行は自動的に処理から拒否される)
ステップ 3) 読み込み
ターゲット データウェアハウス データベースへのデータのロードは、ETL プロセスの最後のステップです。 一般的なデータ ウェアハウスでは、比較的短期間 (夜間) に大量のデータをロードする必要があります。 したがって、ロードプロセスはパフォーマンスを最適化する必要があります。
ロード障害が発生した場合、データの整合性を失わずに障害点から再起動するように回復メカニズムを構成する必要があります。 データ ウェアハウス管理者は、一般的なサーバーのパフォーマンスに応じて負荷を監視、再開、キャンセルする必要があります。
読み込みの種類:
- 初期負荷 — すべてのデータ ウェアハウス テーブルにデータを取り込む
- 増分ロード — 必要に応じて定期的に継続的な変更を適用します。
- フルリフレッシュ - XNUMX つ以上のテーブルの内容を消去し、新しいデータを再ロードします。
負荷検証
- キー フィールドのデータが欠落していないか、null になっていないことを確認してください。
- ターゲット テーブルに基づいてモデリング ビューをテストします。
- 結合された値と計算されたメジャーを確認します。
- ディメンション テーブルと履歴テーブルのデータ チェック。
- ロードされたファクトおよびディメンション テーブルの BI レポートを確認します。
ETLツール
沢山あります ETLツール 市場で入手可能です。 最も顕著なものをいくつか挙げます。
1.マークロジック:
MarkLogic は、一連のエンタープライズ機能を使用してデータ統合をより簡単かつ迅速に行うデータ ウェアハウジング ソリューションです。 ドキュメント、関係、メタデータなど、さまざまな種類のデータをクエリできます。
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle は業界をリードするデータベースです。オンプレミスとクラウドの両方で、幅広いデータ ウェアハウス ソリューションの選択肢を提供します。運用効率を高めることで、顧客体験の最適化に役立ちます。
https://www.oracle.com/index.html
3. Amazon レッドShift:
Amazon Redshiftはデータウェアハウスツールです。標準を使用してあらゆる種類のデータを分析するためのシンプルでコスト効率の高いツールです。 SQL 既存の BI ツールと連携できます。また、ペタバイト単位の構造化データに対して複雑なクエリを実行することもできます。
https://aws.amazon.com/redshift/?nc2=h_m1
ここに便利な機能の完全なリストがあります データ ウェアハウス ツール。
ETL プロセスのベスト プラクティス
ETL プロセス手順のベスト プラクティスは次のとおりです。
すべてのデータをクレンジングしようとしないでください。
どの組織もすべてのデータをクリーンにしたいと考えていますが、ほとんどの組織はお金を払って待つ準備ができていないか、待つ準備ができていません。 すべてをクリーンアップするには時間がかかりすぎるため、すべてのデータをクリーンアップしようとしないことをお勧めします。
絶対に何も浄化しないでください。
データ ウェアハウスを構築する最大の理由は、よりクリーンで信頼性の高いデータを提供することであるため、常に何かをクリーンアップする計画を立ててください。
データのクレンジングにかかるコストを決定します。
すべてのダーティ データをクレンジングする前に、すべてのダーティ データ要素のクレンジング コストを決定することが重要です。
クエリ処理を高速化するには、補助ビューとインデックスを用意します。
ストレージコストを削減するには、要約データをディスクテープに保存します。また、保存するデータの量とその詳細な使用方法の間でトレードオフが必要です。データの粒度レベルでトレードオフすることで、ストレージコストを削減します。
まとめ
- ETL は、抽出、変換、ロードの略です。
- ETL は、さまざまなソースからデータを移動する方法を提供します。 データウェアハウス.
- 最初のステップの抽出では、データがソース システムからステージング領域に抽出されます。
- 変換ステップでは、ソースから抽出されたデータがクレンジングされ、変換されます。
- ターゲット データウェアハウスへのデータのロードは、ETL プロセスの最後のステップです。