2015-09-21 20 views
0

我有一個項目使用CQRS設計模式和域驅動設計。在這個項目的閱讀方面,我使用物化視圖來構建讀取模型,以便讀取端和寫入端可以更新爲由SQL Server保持一致。CQRS:如何實現MongoDB(讀取模型)和SQL Server(寫入模型)之間的最終一致性

我想修改我的項目並使用MongoDB的用於讀取端。我對MongoDB知之甚少。在NoSQL數據庫(MongoDB)和關係數據庫(SQL Server)之間保持數據一致的算法還是策略?

回答

2

要同步數據存儲器的查詢(讀側)和命令(寫入側),可以使用以下策略之一:

  • 同步 - 每一個命令也同步更新查詢端數據存儲
  • 異步 - 每個命令觸發查詢側數據存儲
  • 預定的異步更新 - 預定義的工作週期性和UPD運行ates查詢端數據存儲
  • 按需查詢 - 查詢端數據存儲按需更新。例如,當一個請求到來時,如果檢測到數據過期,就會有某種觸發更新的算法。

因此,您需要找出最適合您項目的策略。

只與同步方法你有很強的一致性。 其他選項會導致最終一致性,並且它們會影響數據可能陳舊的時間長度。在異步方法你有陳舊的數據以毫秒爲單位。

相關問題