web-dev-qa-db-ja.com

SSIS ETLまたはCDC-リアルタイムのDWHレポート

現在、OLTPシステムから別のサーバーにあるレポートデータベースへ)テーブルの継続的な増分データロード(現在40テーブル、近い将来に増加する予定)のためにSSISパッケージに取り組んでいます。

要求は、2つのソース間のリアルタイムデータ同期です。

通常のSSIS->ステージング->マージルートだけで続行してテストする必要がありますOR調査する必要がありますimplementing CDC。含まれるテーブルの数?

1
abbhey

CDCは、SSIS->ステージング->マージルートに取って代わるものではありません。SSISパーツを簡単にするだけです-ETLの抽出。 CDCはこれをはるかに簡単にします。これは、CDCが設計された使用例の1つです。変更のたびに、変更前と変更後の行のコピーを取得し、その行を保持してクリーンアップできます。

それはあなたが始める前に明白ではないいくつかの落とし穴を持っています。私を惹きつけた2つの大きな変更点は次のとおりです。

また、データを完全に再同期する方法も提供されていません。

私がどちらか一方を行う場合、質問に答えることは不可能だと思います。答えは(よくあることですが)「それは依存する」です。それは間違いなく調査する価値があります。

また、CDCは、SQL 2016 SP1までのEnterprise Editionでのみ利用可能です(すべてのエディションで利用可能になる場合)。

1
Greg

トランザクションレプリケーションを検討しましたか?私が見るところによると、それは管理オーバーヘッドが少ない最良のオプションです。

これにより、DBを実質的にリアルタイムで使用できるようになり、比較的簡単に変更して将来より多くのテーブルを含めることができます。

https://docs.Microsoft.com/en-us/sql/relational-databases/replication/transactional/transactional-replication?view=sql-server-2017

1
dbamex