[課後心得]SQL SERVER的讀寫分離

  • 572
  • 0

對於交易式複寫的認知是來自MONGO DB的REPLICA,
裝完軟體、設完節點,PRIMARY、SECONDARY就會透過選舉機制啟動備援,
後續就就沒我的事了。

若SQL SERVER也有此一強大功能,怎可能不學。

剛好也能解決遇到的問題,
一台SQL SERVER的資料庫,存放各系統倒入的去識別化資料,屬於DW的性質。

因為方便,大家呷好道相報,使用需求愈來愈多,CPU也常處於100%狀況。

首先出現的是連線數過多
1.倒資料的連線,來自正式環境批次
2.撈資料的連線,來自USER分析使用

後來更發現USER會在上面跑分析,一跑就是一天。
再來TEMP DB的磁碟空間占比更是第一名。

初步構想可透過分流,也就是另採買一台機器將DATA、USER導到另一台。

但有更好的解法嗎?

理想中是
寫入:排程倒資料到發行者
讀取:其餘的USER改連訂閱者

但課程這麼聽下來,快照式複寫,底層是NATIVE的BCP轉檔,轉檔速度應該OK
但交易式複寫,需訂PK,這恐怕就不是所有TABLE都能做到。

老師還透過PROFILE,說明其為逐筆CALL SP更新,要多筆的話另寫SP效能會比較好

事後DINO大大的一句話讓我心驚
    "希望你不是拿OLAP檔OLTP用"
    
好吧!! 再找下個解決方案