原文:
sql server幾種讀寫分離方案的比較
在生產環境中我們經常會遇到這種情況:
前端的oltp業務很繁忙,但是需要對這些運營資料進行olap,為了不影響前端正常業務,所以需要將資料庫進行讀寫分離。
這裡我將幾種可以用來進行讀寫分離的方案總結一下,這裡並不考慮資料庫是否高可用,只針對讀寫分離場景,方案本身並無優劣可言,只看是否適合業務使用場景,所以只把幾個方案的特點羅列出來,遇到具體的問題時按自己需求和環境綜合考慮後再進行取捨
讀寫分離方案
實時同步
副本資料是否直接可讀
副本數最小粒度
副本建立索引
環境缺點映象是
否(需要開啟快照,唯讀)1庫
否域/非域(使用證書)
在高安全模式下對主庫
效能有一定影響
log shipping
否是(唯讀)n庫
否unc方式可訪問
副本庫在做resotre時會斷開已連線使用者連線/可能影響常規日誌備份
發布訂閱
是是(讀寫,但寫可能會產生資料不一致)
n表(查詢)
是域/非域
在主庫上有大量dml操作時,對分發伺服器會有一定影響,且訂閱資料庫可能有資料同步延遲
always on
是是(唯讀)
4(sql 2012)
8(sql 2014)庫否
域非域環境無法使用
SqlServer 併發系列之讀寫分離
資料庫處理高併發兩種方式 垂直和水平 區分 垂直區分 分布式資料庫 按模組獨立出單獨資料庫。缺點 對系統各個模組設計要較高要求,高內聚低耦合,改造難度較大。同時如果資料達到乙個新的臨界點,還是會存在訪問效能低下的可能,比如乙個訂單資料庫,訂單數量達到1000萬單。水平區分 讀寫分離 劍聖分身的方式,...
Mysql RDS 讀寫分離的幾種實現
因為有些業務,比如報表服務,因為實現sql比較複雜,所以想實現讀寫分離,講讀的請求分發到從庫,暫時不需要進行分庫分表設計。對比了幾款中介軟體,比如 dble,atlas,mycat 等等。因為如果採用dble 的話,複雜的sql不支援的話將沒辦法解決問題。所以想尋找一款能分辨讀和寫的請求然後分發到不...
sqlserver實現讀寫分離,主從複製的具體步驟
讀寫分離概述 讀寫分離從字面意思就可以理解,就是把對資料庫的讀操作和寫操作分離開。讀寫分離在 發展初期可以一定程度上緩解讀寫併發時產生鎖的問題,將讀寫壓力分擔到多台伺服器上,通常用於讀遠大於寫的場景。讀寫分離的基本原理是讓主資料庫處理事務性增 改 刪操作 insert update delete 而...