私は、自分に合わない DB アーキテクチャに出くわしました。これは小さな開発者チームのためのものです... この設計について意見をいただければ幸いです。
これはシステムの簡単な説明です。すべての 3rd NF データベース (Client、Accounting、Rate、Exposure)
4 つの正規形 DB があります。
• クライアント DB : クライアントと組織の情報を維持する
• レートDB:サードパーティシステムから為替レートを取得
• Exposure DB : 銀行口座と取引情報を取得するためのサードパーティ システムへの接続
• 会計 DB : 財務リスクと予測に関するさらなる計算
データ ウェアハウジング用に次のデータベースがあります。
• SQL Server 分析サービス: スター スキーマ
• キューブ
データベースの分割: 4 つのデータベース ( Client、Rate、Exposure、Accounting ) は 4 つの SQL Server に分割されていますが、それらはすべて同じ物理サーバー上で実行されます。これらのデータベースは相互にデータを必要とします。たとえば、すべての DB で使用される組織テーブルがあります。または、他の DB でレートが必要です。
Analysis Services: スター スキーマと Analysis Services があります。私の理解では、Data Vaultは Start Schema を生成するためのソースとして使用できます。ただし、その目的でData Vaultを使用していません。SSIS を使用して、Client、Rate、Exposure、および Accounting DB から直接データを読み取り、開始スキーマを直接入力します。
質問:
分割されたデータベース内でデータを使用する必要がある場合、データベースを分割することは良い考えですか?
データベースを分割するのが良いアイデアである場合を説明する良いソース/ブログはありますか?
ソース データベースから宛先データベースにテーブルをコピーすることは適切な解決策ですか? 非常に多くのテーブルを複数の DBa にコピーするよりも、クロス DB クエリの方がはるかにシンプルで効率的だと思います。