0

私のプロジェクトは2か月前に開始され、実行する各プロセスで100を超えるテーブルをデータウェアハウスに転送しています。

私はおそらくすぐに200〜300のテーブルに到達し、現在の開発アプローチが拡張されるとは思わないでしょう。

私はまだ3週間のバージョン(製品開発スプリント)を持っており、テーブルはまだ構造(データ型、列名、新しい列など)を変更しているため、最初の数週間は無視しました。

どうやってそれを無視したのですか?

  1. ODS(オペレーショナルデータストア)/ MRRレイヤーに移動する前に、すべてのテーブルを切り捨てました
  2. ソースシステムからMRRレイヤーに完全にすべてのデータを取得しました
  3. ディメンションの「インクリメンタル」テーブルのみを作成しました(新しい列と変更されたデータ型で毎週変更されます)
  4. ステージングテーブルとウェアハウステーブルを動的に作成してデータを入力します。

モデルが形成され始めたので、増分負荷に注意する必要があります

  1. 各レコードの更新時刻があるので簡単に思えますが、ソースシステムにも削除があります。これにどのようにアプローチできますか?
  2. 私はCDCを検討しましたが、テーブルごとに配置する必要があるため、これには時間がかかります。
  3. 100〜200のテーブルから始める人のための解決策はありますか?
4

1 に答える 1

0

私はあなたの「無視する」デザインに似たスタイルを可能な限り守ります。完全な更新により、設計の俊敏性が維持され、1 分間に 100 万行もの速さで処理できます。

これが最終的に足を使い果たし、ソースシステムに削除がある場合、データの専門家と合意した日付範囲 (たとえば 3 か月) のすべてのデータを削除します。その削除をチャンクに分割する必要がある場合があります。たとえば、毎日です。また、私はそのようなデータを毎週末などに完全に更新するようにしています (データの専門家はよく誤解されているため)。

于 2013-02-11T01:47:08.093 に答える