1

データ ウェアハウス (DW) を構築中ですが、データの読み込みについて質問があります。この点について、ご意見をお聞かせいただければ幸いです。

最初にステージング データベースにすべてのテーブルを 1 対 1 でロードし、次にステージング データベースから DW にデータをロードすることを計画しています。OLTP システムを直接 (ステージングなしで) 攻撃することを考えましたが、これがパフォーマンスの観点から最善のアプローチであると 100% 確信できるわけではありません。

例を挙げましょう。OLTP データベースには Customers というビューがあり、これを DW に取り込みます。OLTP データベースのビューは非常に複雑で、select ステートメントには 8 分かかります。したがって、このテーブルを DW に直接ロードして増分ロードを実行すると、最初にビューをステージング テーブルにロードするよりも時間がかかると考えられます。また、ロードには時間がかかるため、ユーザーがデータをクエリに使用できなくなるため、DW の可用性にも影響が及びます。

あなたたちは何を提案しますか?ステージング アプローチは現在時代遅れになっていますか? 長所と短所が何であるかを理解したい。よろしくお願いいたします。

4

1 に答える 1

1

私はデータ ウェアハウスの維持を手伝っており、ステージング データベースは使用していませんが、staging/working/intermediate/whatever_you_want_to_call_it テーブルを使用しています。

私たちがやっていることの要点はこれです。生データを一連の区切りファイルとして受け取ります。次に、これらのファイルに必要と思われる処理をすべて実行して、ロード ファイルを生成します。次に、ロード ファイルから作業テーブルにデータを入力し、データをさらに準備するために必要なことをすべて行います。次に、作業テーブルから実際のテーブルを作成します。

また、データがロードされている間にウェアハウスにクエリを実行しようとする可能性を最小限に抑えるために、人々が出勤する前の早朝にスケジュールされたジョブとしてすべてを行います。

于 2013-02-03T01:07:23.093 に答える