乾貨 | 京東雲資料庫RDS SQL Server高可用概述

京東科技開發者發表於2019-06-27


資料庫的高可用是指在硬體、軟體故障發生時,可以將業務從發生故障的資料庫節點遷移至備用節點。本文主要講述SQL Server高可用方案,以及京東雲RDS資料庫的高可用實現。

一、高可用解決方案總覽

1、故障轉移叢集

故障轉移叢集為整個SQL Server例項提供高可用性支援,這意味著在叢集上某個節點的SQL Server例項發生了硬體錯誤、作業系統錯誤等會故障轉移到該叢集上的其它節點。透過多個伺服器(節點)共享一個或多個磁碟來實現高可用性,故障轉移叢集在網路中出現的方式就像單臺計算機一樣,但是具有高可用特性。值得注意的是,由於故障轉移叢集是基於共享磁碟,因此會存在磁碟單點故障,因此需要在磁碟層面部署SAN複製等額外的保護措施。最常見的故障轉移叢集是雙節點的故障轉移叢集,包括主主節點和主從節點。

2、事務日誌傳送

事務日誌傳送提供了資料庫級別的高可用性保護。日誌傳送可用來維護相應生產資料庫(稱為“主資料庫”)的一個或多個備用資料庫(稱為“輔助資料庫”)。發生故障轉移之前,必須透過手動應用全部未還原的日誌備份來完全更新輔助資料庫。日誌傳送具有支援多個備用資料庫的靈活性。如果需要多個備用資料庫,可以單獨使用日誌傳送或將其作為資料庫映象的補充。當這些解決方案一起使用時,當前資料庫映象配置的主體資料庫同時也是當前日誌傳送配置的主資料庫。

事務日誌傳送可用於做冷備份和暖備份的方式。

3、資料庫映象

資料庫映象維護一個資料庫的兩個副本,這兩個副本必須駐留在不同的 SQL Server 資料庫引擎伺服器例項上。 通常,這些伺服器例項駐留在不同位置的計算機上。 啟動資料庫上的資料庫映象操作時,在這些伺服器例項之間形成一種關係,稱為“資料庫映象會話” 。

其中一個伺服器例項使資料庫服務於客戶端(主體伺服器)。 另一個伺服器例項則根據映象會話的配置和狀態,充當熱備用或溫備用伺服器(映象伺服器)。 同步資料庫映象會話時,資料庫映象提供熱備用伺服器,可支援在已提交事務不丟失資料的情況下進行快速故障轉移。 未同步會話時,映象伺服器通常用作熱備用伺服器(可能造成資料丟失)。

在“資料庫映象會話 ”中,主體伺服器和映象伺服器作為“夥伴 ”進行通訊和協作。 兩個夥伴在會話中扮演互補的角色:“主體角色” 和“映象角色” 。 在任何給定的時間,都是一個夥伴扮演主體角色,另一個夥伴扮演映象角色。 每個夥伴擁有 其當前角色。 擁有主體角色的夥伴稱為“主體伺服器” ,其資料庫副本為當前的主體資料庫。 擁有映象角色的夥伴稱為“映象伺服器” ,其資料庫副本為當前的映象資料庫。 如果資料庫映象部署在生產環境中,則主體資料庫即為“生產資料庫 ”。

資料庫映象會話以同步操作或非同步操作執行。 在非同步操作下,事務不需要等待映象伺服器將日誌寫入磁碟便可提交,這樣可最大程度地提高效能。 在同步操作下,事務將在夥伴雙方處提交,但會延長事務滯後時間。

但是,SQL Server映象在2012以後的版本中被標記未過時,將有AlwaysOn取代。

4、複製

複製嚴格來說並不算是一個為高可用性設計的功能,但的確可以被應用於高可用性。複製提供了資料庫物件級別的保護。複製使用的是釋出-訂閱模式,即由主伺服器(稱為釋出伺服器)向一個或多個輔助伺服器或訂閱伺服器釋出資料。複製可在這些伺服器間提供實時的可用性和可伸縮性。它支援篩選,以便為訂閱伺服器提供資料子集,同時還支援分割槽更新。訂閱伺服器處於聯機狀態,並且可用於報表或其他功能,而無需進行查詢恢復。SQL Server 提供四種複製型別:快照複製、事務複製、對等複製以及合併複製。
AlwaysOn可用性組

AlwaysOn可用性組是SQL Server 2012推出的新功能。同樣提供了資料庫級別的保護。它取資料庫映象和故障轉移叢集之長,使得業務上有關聯的資料庫作為一個可用性組共同故障轉移,該功能還擴充了資料庫映象只能1對1的限制,使得1個主副本可以對應最多4個輔助副本(在SQL Server 2014中,該限制被擴充到8個),其中2個輔助副本可以被作為熱備份和主副本實時同步,而另外兩個非同步輔助副本可以作為暖備份。此外,輔助副本還可以被配置為只讀,並可用於承擔備份的負載。

正因為如此,資料庫映象在SQL Server 2012中被標記為“過時”。

二、京東雲RDS高可用實現

1、實現原理

京東雲SQL Server在確保同樣的功能和效能的前提下,以合理的預算,幫助您大量地遮蔽底層的技術細節,從而極大低降低管理複雜度。

毫無疑問,你可以選擇自己搭建一套同城熱備的高可用資料庫,操心:租機櫃、買伺服器、配置伺服器、配置儲存、安裝作業系統、安裝並配置資料庫、配置異地通訊。無論從管理上還是週期上考慮,都很頭疼。雖然你也可以選擇把這一切都事先準備好,但是這意味著浪費。而云資料庫:預設跨機架的熱備高可用配置,數十秒建立完畢,可選跨機房配置;自動故障轉移,一鍵主備切換,同時IP自動漂移。

京東雲高可用基於SQL Server映象原理,預設一主一備,可選跨機房部署,故障遷移極速完成,IP自動捆綁飄逸,主備切換一鍵完成,詳細原理圖如下:

硬體層面的高可用: 高效能SSD盤,磁碟損壞問題無需使用者操心;伺服器硬體方面,京東雲方負責監控與維護。

2、便捷操作

數十秒生成高可用例項:

一鍵主動主備切換:


歡迎點選“ 京東雲 ”瞭解更多精彩內容



閱讀原文

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2648944/,如需轉載,請註明出處,否則將追究法律責任。

相關文章