16

すべて、基本的なスキーマを持つ単一のデータベースを作成する必要があります。このデータベースは大規模(100GB以上)になり、データウェアハウスとして使用されます。現在、このデータベースの作成は、C#コードを介して「ワンヒット」で実行されています。さまざまなソースからデータを取得します。膨大な量のデータのため、この作成はいくつかの問題を引き起こしています。一度に単一のデータベースを作成する代わりに、に

  1. コアデータテーブルを含むいくつかの小さなデータベースを作成します。
  2. 小さいデータベースを単一の大きいデータベースにマージします。
  3. スキーマを構築する/関連する制約を追加します。

私の質問は2つあります。

1.複数のデータベース(同一のスキーマ/テーブル構造を持つ)をマージするための最良の方法は何ですか?

2.このデータウェアハウス(非常に大規模なデータベース)を作成するためのより良い方法はありますか?

御時間ありがとうございます。

4

3 に答える 3

7

最初の質問:同じスキーマとテーブル構造について説明しました。その場合は、あるDBテーブル(つまり、小さいDB)から別のDBテーブル(つまり、大きいDB)にデータを移動するだけです。これは確実にする必要があります

1)データの重複はありませんでした(少なくともPKフィールドに)

2)SQLServer参照用に1つのデータベースから別のデータベースにデータを移動する

あるデータベースから別のデータベースにデータを転送する

于 2012-09-17T12:51:10.337 に答える
7

SQL-Hub(http://sql-hub.com)を使用すると、同じスキーマを持つ複数のデータベースを1つのデータベースにマージできます。プロセスを自動的に実行するようにスケジュールする場合はライセンスの支払いが必要になる場合がありますが、UIからこれを実行できる無料のライセンスがあります。ただし、非常に大量のデータがある場合は、達成したいことに対して少し遅くなる可能性がありますが、試してみることができます。

これらの種類の問題に対する他のいくつかのオプションを検討するいくつかの記事もここにあります。

于 2014-06-02T14:37:46.683 に答える
5

ソラの答えは良く、うまくいくでしょう。別の方法があります。まったくマージしないでください。インポートによって作成される複数のベーステーブルの上にユニオンオールビューを作成します。これにより、データの移動を大幅に節約できます。このようなビューは、パーティションビューと呼ばれます。

于 2012-09-17T13:18:44.190 に答える