2012-09-07 16 views
0

我構建的應用程序需要使用源數據庫中的數據。源數據庫有幾個問題,包括:數據複製vs服務總線與應用程序結構vs ...?

  • 性能問題
  • 可怕鍵
  • 傳統結構,命名約定,等
  • 大量的數據,我的應用程序不關心

我想要設置特定於應用程序的SQL Server數據庫。新數據庫將填充來自源數據庫(以及一些其他源系統)的數據子集。數據總是從源數據庫單向移動到特定於應用程序的數據庫(即 - 數據不會同步回源)。它將具有與源數據庫不同的DDL模型。 數據並不需要被同步絕對實時,但是任何超過幾分鐘的滯後可能造成的問題。 我應該如何將數據從源數據庫移動到應用程序數據庫中?我應該使用

  • 複製
  • 編寫自定義的SSIS包
  • Abstact上級SOA解決方案 像nServiceBus,AppFabric的,等等?
  • 一些其他的想法?

優點/缺點每個?

回答

0

聽起來像你對我不需要像NServiceBus消息服務 - 這將涉及修改舊系統發佈時數據的變化,這是我希望你不要想進入的事件。因爲在你的情況下你的本地存儲數據稍微過時是可以接受的,所以SSIS包可以被接受。

但是,如果源數據庫是非常大的,這可能是一個問題,因爲你會做它每隔幾分鐘。此外,如果遺留系統的用戶已經遇到性能問題,每隔幾分鐘運行一次SSIS包將無濟於事。也許你可以引入源數據的時間戳,以便它只複製新的/修改的數據?

如果源數據是非常大的,表現爲嚴重的問題,那麼也許NServiceBus將是一個不錯的主意。您也可以考慮建立在MSMQ上的公交或您自己的簡單解決方案。但是這將意味着讓你對遺留代碼感到骯髒。