讀寫分離是中型規模應用的數據庫系統常見設計方案,經過將數據從主服務器同步到其餘從服務器,提供非實時的查詢功能,擴展性能並提升併發性。數據庫
數據庫的讀寫分離的好處以下:服務器
經過將「讀」操做和「寫」操做分離到不一樣的數據庫服務器上,下降對主服務器的CPU、內存、存儲、網絡資源的爭用;網絡
主服務器的增刪改進行時,不影響查詢服務器的查詢,下降阻塞的發生,提升了併發性;併發
創建容災副本甚至實現異地容災,在發生災難時,能夠減小數據的損失。高併發
爲了實現數據庫讀寫分離,應用程序須要做以下調整:性能
在應用程序的配置文件中設置兩個數據庫鏈接字符串,一個指向主服務器,一個指向查詢服務器;設計
增刪改或者實時性查詢使用指向主服務器的鏈接字符串;日誌
容許非實時的查詢及報表請求使用指向查詢服務器的鏈接字符串。blog
SQL Server提供了三種技術,能夠用於讀寫分離的實現:日誌傳送、事務複製和SQL Server 2012中新增的功能Always On技術。這三種技術的比較以下:事務