2018年雙十一剛過,阿裡雲資料庫釋出RDS for SQL Server AlwaysOn叢集版,這是業界除微軟雲SQL Database外,首家雲計算公司基于SQL Server最新AlwaysOn核心技術實作的資料庫叢集版,并且是經過雙十一檢驗的商業化版本。
全形态的産品集合
縱觀整個RDS for SQL Server的産品疊代圖,AlwaysOn叢集版的上線标志這SQL Server資料庫在阿裡雲RDS平台的全面覆寫,阿裡雲資料庫實作了針對企業客戶不同階段的産品體系的比對。

基礎版針對可用性要求不高的業務,并且成本是首要關注選項的客戶,如初創企業,是最優選擇。WEB版價格甚至比自建還要低,卻能獲得RDS的運維管理等多項服務,成本效益最高。
随着業務的發展,關鍵業務的可用性要求變高,甚至要求7X24小時的不間斷服務,RDS for SQL Server 高可用版基于微軟Mirror技術實作,滿足此類業務需求。此外,針對企業級客戶特性,在高可用版中開放了大量進階特性,如複制模式設定,使用者可以根據需求設定主備節點複制模式可實作業務的高可靠或者高性能。此外高可用版本支援Linked Server,實作在RDS中通路其他RDS甚至自建資料庫。特别地,在高可用版本中,開放了變更資料捕獲(CDC,Change Data Capture)技術,客戶可根據CDC提供的能力,同步資料庫的變化,實作資料複制到其他執行個體。高可用版滿足了企業客戶主流業務需求。
随着業務的急速發展,系統負載不停增加,企業就對資料庫的橫向擴充能力提出了要求,RDS for SQL Server叢集版就是為了滿足此類苛刻要求而推出的。AlwaysOn叢集版不但提供了高可用版的所有特性,而且還實作了資料庫能力的橫向擴充,客戶可簡單的通過購買隻讀執行個體,就可以實作擴容資料庫讀能力,最少可擴容到原主執行個體的七倍讀能力。此外,客戶可通過增加一個獨立的隻讀執行個體,專門提供一個特定業務的查詢服務,比如專給資料智能部門提供資料分析服務。
RDS for SQL Server AlwaysOn叢集的隻讀執行個體支援獨立選擇規格,同時預設和主執行個體采用異步資料複制方式兼顧了性能和成本效益,當然客戶可自定義為同步方式,進而實作三個節點的資料同步一緻性,對資料提供最大的安全保護。注意,我們支援最多可設定1個隻讀節點和主執行個體之間的複制模式為同步複制,并且建議該隻讀節點的規格要和主執行個體規格保持一緻,否則會影響主執行個體的寫入性能。
如何購買阿裡雲資料庫RDS for SQL Server AlwaysON叢集版
要購買AlwaysON叢集版,在RDS購買頁面選擇SQL Server後,選擇“2017企業叢集版”,然後選擇對應規格後購買,生産出來的就是AlwaysON叢集版的主執行個體,包括Primary主節點和一個用作保障高可用的Secondary備節點,主備節點之間是資料複制預設是同步模式,客戶也可基于實際情況選擇性能優先設定為異步複制模式。
RDS for SQL Server AlwaysON叢集版是基于2017版本的,官方相容以前版本,實際使用情況可相容到2008r2版本。這也說明要使用AlwaysON叢集版,客戶必須購買2017企業版SQL Server,若客戶之前是低版本則需要更新。 RDS将會短期内提供從RDS低版本更新到2017企業版的工具。在購買完主執行個體後,客戶可以在主執行個體的管控界面購買隻讀執行個體,最多可購買七個隻讀執行個體。另外隻讀執行個體提供了通用型執行個體規格,最大16核64G記憶體規格,具有很高的成本效益,可以将更多的讀請求放到隻讀執行個體,實作成本的最優化搭配。
RDS for SQL Server AlwaysOn叢集版的核心技術
AlwaysOn是原生支援High Availability和Disaster Recovery的技術,本身又分為Failover Cluster Instances(後續簡稱FCI)和Availability Groups(後續簡稱AG),下面的圖是FCI和AG的基礎架構,其中FCI和正常版本的AG都依賴Windows Server Failover Clustering(後續簡稱WSFC),不同點是FCI是Share Storage而AG是Share Nothing,FCI是執行個體級别同步而AG是DB級别
阿裡雲資料庫設計AlwaysON叢集版,鑒于擴充性和穩定性要求我們選擇的是AG技術方案,同時我們更近一步在實作上去除了WSFC(如下圖所示),替代于阿裡自研的HA監控系統,實作了叢集依賴元素最少設計,根除WSFC和AD證書帶來的穩定性問題。同時由于靈活的節點配置,新架構下可友善實作在不同可用區、甚至未來在不同地域獨立部署隻讀節點,可以在資料庫層實作原生的兩地三中心架構。在資料可靠性方面,2017版本中引入了REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT參數,可實作主備節點的強制同步,確定資料不丢。
RDS for SQL Server AlwaysOn 叢集版的案例
2018年雙十一中,三隻松鼠利用最新版的RDS for SQL Server AlwaysON叢集版順利支撐了原來50倍業務壓力的增長。
結合于RDS for SQL Server AlwaysON叢集版的靈活價格,三隻松鼠雙十一架構采用了如圖的2+3模式,其中主執行個體的主備節點通過臨時開啟異步複制以獲得最大性能,三個隻讀執行個體全部異步複制實作性能最大化。将所有的與寫無關讀全部引流到隻讀執行個體1和隻讀執行個體2,順利支撐了50倍業務壓力增長。另外将業務BI分析查詢放到專門的隻讀執行個體3,将高峰期的流量幹擾降低到最小,并且隻讀執行個體3規格按需使用,極大的節省了成本。
阿裡雲資料庫RDS for SQL Server AlwaysOn 叢集版商業化釋出,除微軟外在業界實屬首家,它與 Azure SQL Database遙想呼應,将SQL Server強大的AlwaysON技術能力帶到雲上,為企業級客戶的發展提供了全棧的産品支援。
了解更多阿裡雲資料庫RDS for SQL Server AlwaysOn 叢集版請戳:
https://www.aliyun.com/product/rds/sqlserver?tlog=out_aiticai_feature_20181109
點選了解“阿裡雲新品釋出會頻道”:
https://promotion.aliyun.com/ntms/act/cloud/product.html