低速または高価な WAN リンクを介した抽出
あなたの説明は適切だと思います。低速または高価な WAN リンクの場合、データ転送の量を減らす必要があります。これに対するいくつかのアプローチは次のとおりです。
ソースで新しいトランザクションまたは変更されたデータを簡単に識別できる場合は、変更のみを送信することでデータ量を減らすことができます。ソースにリソースがあるが、変更されたデータを簡単に識別できない場合は、次のようなことができます (必要に応じて、このための汎用フレームワークを構築します)。
- ソースから抜粋
- 誕生日が添付される可能性が低いアルゴリズムを使用してハッシュ値を計算します (MD5、SHA-1 など)。
- 形式のハッシュ値を持つデータベースまたはファイルを維持します (ソース システム キー、すべての非キー属性のハッシュ値)
- 一致しないハッシュ値を持つものをすべてまとめて、WAN リンク経由で送信します。
- ハッシュのデータベースを更新します。
堅牢な分散抽出
このような分散システムには多くの障害モードがあるため、これにはかなり堅牢なエラー処理メカニズムを実装する必要があります。障害モードの例は次のとおりです。
- ソース システムまたはネットワーク接続の 1 つが、おそらくスケジュールに基づいてダウンします。
- データ パッケージの 1 つが到着が遅れています
- 何らかの理由でデータが破損しています。
- 一時的な負荷やその他の問題によってタイムアウトが発生するため、転送をチャンクする必要があります。
倉庫システムの要件によっては、個々のフィードの障害を許容する必要がある場合があります。これには、堅牢なエラー処理戦略を設計する必要があります。
Merge-on-Extract と Merge-on-Transform の比較
システムが同一の場合 (小売店チェーンの POS システムなど)、変換フェーズの前にデータをマージすることで、おそらくより単純なアーキテクチャが得られます。これは、少なくとも監査目的で、ステージング領域がデータ ソースを認識している必要があることを意味します。
少数のシステムまたは複数の異種ソースがある場合、変換プロセス中にデータ マージを行う必要があります。この状況では、ETL には、少なくとも一部のプロセスについて、ソース システムごとに個別のルーチンが含まれている可能性があります。
ODS は必要ですか?
データ ウェアハウジングにおける大きな宗教戦争の 1 つは、ODS を持つべきかどうかです。私は ODS 構造の有無にかかわらずシステムを作成しましたが、個々のケースでは設計上の決定に理由がありました。これに対する私の見解は、この決定のどちらの側にも普遍的な説得力のある議論がないということです.これは、そもそも宗教戦争が存在する通常の理由です.
50,000 フィートのビューに対する私の見解は、ソース システムが多く、データが均一であるほど、ODS の主張が強くなるということです。これについて、ガートナー スタイルの象限を描くことができます。
High+--------------------------+--------------------------+
| | |
| Kimball Model (low/high) | Enterprise Data Warehouse|
H | Unified ODS model hard | (high/high) |
e | to meaningfully design. | ODS both difficult and |
t | Flat star schemas easier | probably necessary to |
e | to fit disparate | make a manageable system |
r | data into. | Better to separate trans-|
g | | formation ahd history. |
e +--------------------------+--------------------------+
n | | |
e | | Consolidated Reporting |
a | Data Mart (low/low) | (high/low) |
i | | ODS easy to implement |
t | ODS probably of | and will simplify the |
y | little benefit | overall system |
| | architecture |
| | |
Low +--------------------------+--------------------------+
Low Number of data sources High