Dynamics AX 2012 性能優化之 SQL Server 複製

Dynamics AX 2012 性能優化之 SQL Server 複製

分析數據滯後

在博文 Dynamics AX 2012 在BI分析中創建數據倉庫的必要性 裏,Reinhard 闡述了在 AX 的 BI 分析過程當中,創建數據倉庫的必要性。html

數據倉庫將分析的工做負載,從事務的工做負載中分離出來,讓企業可以整合來自多個數據源的數據sql

可是從 AX 數據庫中抽取數據到數據倉庫的時候,Reinhard 發現耗時很是長。Reinhard 認爲主要有三個緣由:數據庫

  • 咱們不敢貿然在AX生產環境的數據庫層面作優化
  • 數據基數大
  • 須要新增和更新的數據多

由於數據抽取對正式環境的性能影響很是大,而且耗時長,因此咱們只能選擇在下班後去執行ETL做業。這樣作的缺點也是顯而易見的,不管咱們的報表跑得多快,可是展現的數據老是滯後的性能優化

SQL Server 複製

有沒有什麼方案,可以實時地展現數據,又對正式環境的性能影響小呢?這就是 Reinhard 在本文中要說的SQL Server 複製服務器

SQL Server 複製 是一項很是成熟的技術,它主要應用在如下幾個場景中:網絡

  1. 負載轉移。將數據複製到其餘數據庫服務器,來減小當前服務器的負載。好比建立只讀的報表環境。
  2. 合併數據。有多個門店,每一個門店的數據庫服務器都維護着本身的數據。總部須要將全部門店的數據合併到一塊兒。
  3. 故障轉移。

Reinhard 這裏的應用場景其實就是負載轉移。將所需的數據從生產庫發佈到只讀的複製庫中,而後在複製庫上執行數據抽取做業,這樣就將一部分工做負載,從事務的工做負載中分離出來。併發

複製的類型

複製類型 中,微軟介紹了三種複製類型,分別是:性能

  • 事務複製
  • 合併複製
  • 快照複製

這三種複製都有各自的特色,須要根據自身的實際環境和業務場景來選擇,而且要注意複製過程當中的表鎖。主要考慮因素有:優化

  • 要複製的數據類型,數量,和更新頻率
  • 訂閱服務器上的數據是隻讀的,仍是能夠更新的
  • 涉及到的計算機的數量和位置

Reinhard 這裏簡單說說不一樣複製類型的特色,詳細信息還請參考微軟官方文檔SQL Server 複製日誌

快照複製

特色

  • 不跟蹤數據更改,每次應用快照都徹底覆蓋現有數據。
  • 過程不一致,結果一致。

適合場景

數據更改量大,但不多更改,容許必定時間的滯後。

資源佔用

由於不跟蹤數據更改,因此連續開銷比事務複製低。可是若是數據集很是大,也須要使用大量資源生成和應用快照。

表鎖

整個快照生成過程當中都是用共享鎖

事務複製

特色

  • 經過SQL Server事務日誌跟蹤更改。
  • 過程一致,結果一致。

適合場景

  • 數據更改頻繁,數據複製接近實時。
  • 服務器到服務器的環境。
  • 提升可擴展性和可用性
  • 數據倉庫和報表
  • 集成多個站點的數據
  • 集成異構數據
  • 將批處理的負載分離出去

資源佔用

連續開銷比快照複製高。

表鎖

事務複製默認使用併發快照處理,在整個初始化快照生成過程當中並不保留共享鎖,期間用戶能夠繼續工做。

合併複製

特色

  • 經過觸發器和源數據表跟蹤數據更改。
  • 過程不一致。
  • 不一樣站點能夠脫機修改同一數據,在合併更新時須要處理衝突。

適合場景

  • 不一樣站點接收數據,而後脫機更改數據,再與發佈服務器和其餘訂閱服務器同步更改。
  • 服務器到客戶端的環境。

表鎖

不使用鎖。

其它 SQL Server 高可用性和數據恢復技術

故障轉移集羣

經過添加相關的硬件,可使用故障轉移集羣保證數據中心內的高可用性。

故障轉移集羣中的全部SQL Server實例,在網絡上顯示爲一個節點。

數據庫鏡像

數據庫鏡像是一個軟件方案。它有一個主體服務器和一些鏡像服務器。

在主體服務器可用的時候,鏡像服務器是不能處理讀寫請求的。

日誌傳輸

日誌傳輸能夠將主數據庫的事務日誌備份,自動發送給多個輔助數據庫。

主數據庫可用的時候,輔助數據庫是不支持寫數據。

AlwaysOn高可用性組

在SQL server 2012後,新增了AlwaysOn高可用性組特性。

輔助副本複製的是主體節點的完整數據庫,不能選擇複製部分數據到輔助節點。它的輔助副本能夠用於報表和備份,可是不支持寫數據。

總結

從上面的對比中,Reinhard 認爲,事務複製更適合咱們的應用場景。它可以在企業層構建可擴展、高可用、鬆耦合的集成生態系統。

相關文章
相關標籤/搜索