0

ソースデータベースからのデータを消費する必要があるアプリケーションを構築しています。ソースデータベースには、次のようないくつかの問題があります。

  • パフォーマンスの問題
  • ひどいキー、命名規則などを含むレガシー構造。
  • 私のアプリケーションが気にしない大量のデータ

アプリケーション固有のSQLServerデータベースをセットアップしたいと思います。新しいデータベースには、ソースデータベース(および他のいくつかのソースシステム)からのデータのサブセットが入力されます。データは常にソースデータベースからアプリケーション固有のデータベースに一方向に移動します(つまり、データはソースに同期されません)。ソースデータベースとは異なるDDLモデルが使用されます。データを完全にリアルタイムで同期する必要はありませんが、数分以上遅れると問題が発生する可能性があります。ソースデータベースからアプリケーションデータベースにデータを移動するにはどうすればよいですか?使用する必要があります

  • レプリケーション
  • カスタムSSISパッケージを作成する
  • nServiceBus、AppFabricなどのより高いレベルのSOAソリューションに影響しませんか?
  • 他のアイデアはありますか?

それぞれの長所/短所?

4

1 に答える 1

0

NServiceBusのようなメッセージングサービスは必要ないように思えます。これには、データが変更されるたびにイベントを公開するようにレガシーシステムを変更する必要があります。これは、入りたくないと思います。あなたの場合、ローカルのデータストアがわずかに古くなっていることは許容できるので、SSISパッケージは許容できる可能性があります。

ただし、ソースデータベースが非常に大きい場合は、数分ごとに実行するため、これが問題になる可能性があります。また、レガシーシステムのユーザーがすでにパフォーマンスの問題を経験している場合は、数分ごとに実行されるSSISパッケージは役に立ちません。たぶん、ソースデータのタイムスタンプを導入して、新しい/変更されたデータのみをコピーすることができますか?

ソースデータが非常に大きく、パフォーマンスが深刻な問題である場合は、NServiceBusを使用することをお勧めします。また、公共交通機関や、MSMQに基づいて構築された独自のシンプルなソリューションを検討することもできます。しかし、これはレガシーコードで手を汚すことを意味します。

于 2012-09-15T13:36:14.030 に答える