利用 ApsaraDB For SQL Server各組建高效而低廉地實現關鍵商務需求

來源:互聯網
上載者:User

摘要: 利用ApsaraDB For SQL Server各組建高效而低廉地實現關鍵商務需求1. 什麼是SQLServer多組建微軟的SQLServer除了不斷反覆運算的組建升級外,還有從功能差異上分為幾個不同的組建。

1. 什麼是SQLServer多組建

微軟的SQLServer除了不斷反覆運算的組建升級外,還有從功能差異上分為幾個不同的組建。SQL Server 2012有企業版、商務智慧版、標準版、開發版、Web版,當然還有一個入門組建Express。SQLServer2014/2016,只有企業版、標準版、開發版、Web版,也有一個入門組建Express。這些組建的套用場景是不同的,這裡有詳細的解釋:

Enterprise

作為進階版本,SQLServer Enterprise 版提供了全面的高端資料中心功能,效能極為快捷、虛擬化不受節流,還具有端到端的商業智慧,可為關鍵任務工作負載提供較高服務等級,支援終端使用者存取深層資料。

Standard

SQL Server Standard 版提供了基本資料管理和商業智慧資料庫,使部門和小型組織能夠順利執行其應用程式並支援將常用開發工具用於內部部署和雲部署,有助於以最少的IT 資源獲得強烈影響資料庫管理。

Web

對於為從小規模至大規模Web 資產提供延展性、經濟性和可管理性功能的Web 宿主和Web VAP 來說,SQLServer Web 組建是一項擁有權總成本較低的選擇。

Developer

SQL Server 2012 Developer 版支援開發人員基於 SQL Server 構建任意類型的應用程式。它包括 Enterprise版的所有功能,但有授權節流,只能用作開發與測試系統,而不能用作生產伺服器。SQLServer Developer 是構建和測試應用程式的人員的理想之選。

Express 版

SQL Server 2012 Express 是入門級的免費資料庫,是學習和構建桌面及小型伺服器資料驅動應用程式的理想選擇。它是獨立軟體廠商、開發人員和熱衷於構建用戶端應用程式的人員的最佳選擇。如果您需要使用更進階的資料庫功能,則可以將SQL Server Express 無縫升級到其他更高端的SQL Server 組建。SQL Server 2012 中新增了SQL Server Express LocalDB,這是Express 的一種輕型組建,該組建具備所有可程式化性功能,但在使用者模式下執行,並且具有快速的零設定安裝和必備元件要求較少的特點。

從這些組建的套用場景看,很顯然,能夠用於產品環境的只能是企業版、標準版和Web組建,然而我們在使用程序中,很少去追隨組建的差異和成本的開銷,這是我們做架構選型或者資料庫選型需要考慮的問題。

2. SQL Server各組建引擎功能的差異與比較

SQL Server產品家族是非常豐富的,我們目前追隨的是引擎功能相關屬性和差異。以使用者的視角來看,我們主要追隨效能和功能,可以從下面幾個方向考慮(以SQLServer 2016 SP1各組建為例,ApsaraDBfor SQL Server都是64位的組建)。

2.1 硬體支援與可擴充性

1.jpg

企業版無需考慮,什麼功能都支援,作業系統能力多大他就有可以擁有多大能力。我們把追隨點放在Standard和Web組建,在CPU上,Standard最大支援的是24個邏輯核,記憶體支援到128G,Web支援的是16個邏輯核,記憶體支援到64G,在我們的產品上,會有不同的產品規格來對應實例規格,母體來看,16G以下記憶體規格主要對應著Standard、Web組建。需要說明的是,記憶體節流方面在Standard組建上,會看到超出128G的情形,如果出現請不要覺得奇怪,有一種可能是微軟可提供一種方式獲得超出128G的記憶體利用。資料庫大小支援都可以達到524PB,我想沒有一個生產線上敢用到這個量級,對於單庫,如果達到1~2T資料庫等級,無論從效能角度還是可維修性方面就應該考慮從架構上分割掉。

2.2 高可用工時

2.jpg

高可用方面,在架構上,目前提供是單機組建,所以記錄傳送,鏡像和AlwaysOn方面的資訊不再比較,從產品的角度,只需要看看比較具有興趣的幾個影響效能的問題(以SQLServer 2016 SP1各組建為例):

在備份的處理上,我們是流式進行,資料並不落地,Web不能夠壓縮,但備份時間可以靈活選擇,避免在備份程序中影響商務。線上索引和架構變更,Standard/Web會受到影響,但我建議的最佳實踐是,如果你的動作是核心表並且資料量較大,不要在商務較高時間進行,不管你是否線上作業,都是有風險的,一般會在晚上某個閒置時間點去做這類風險較高的動作,對於非核心表或者資料量較小的表,你什麼時候動作都是可以的。

2.3 資料庫系統可擴充性和效能

在資料庫引擎核心方面,企業版、標準版和Web組建絕大多數都是支援的,因此沒有差異可以比較,有一個選項“分割資料表平行處理原則”不同。

3.jpg

記憶體中OLTP 資料大小和列隱藏段快取節流為“級別節流”部份中的組建所指定的記憶體量。最大並行度是有限的。對於Standard Edition,索引生成的流程並行度(DOP) 節流為2 DOP。分割資料表平行處理原則,其實很少用到了,因此基本上可以不用看。另外這些功能都是基於SQLServer 2016 SP1組建,之前的組建可能會不一樣,具體可以參考微軟官方文件。

2.4 可管理和可程式化

4.jpg

關於進階R 整合是最新的技術,基本上沒有使用到,畢竟是做資料分析使用。SQLProfiler不支援,這個令人疑惑的,實際上你裝個通用的用戶端,也是可以利用SQLProfiler追蹤效能等等活動。因此,這點你可以大可放心使用Web組建。

3. ApsaraDB for SQL Server多組建產品與選擇

3.1 為何我們要支援SQLServer多組建

在這之前,我們只有SQLServer 2008 R2企業雙機版和SQLServer 2012 企業單機版,給用戶的選擇餘地是有限的。根據使用者的實際需求,很多用戶不僅從反覆運算大組建有需求,還需要從功能上進行選擇,原因很簡單,反覆運算高組建會支援其他屬性,反覆運算高組建也可能會開放反覆運算低組建的進階版未開放的功能。再者,從使用者的級別和成本角度,需要高大上的企業版,也需要滿足個體戶的IT系統需求,而這些個體戶,大多時候使用Web組建即可。正所謂蘿蔔白菜,各有所愛,選擇適合自己的組建才是最重要的。

3.2 ApsaraDB for SQL Server 多組建架構

以使用者的視角來看ApsaraDBfor SQL Server的架構,可以簡單標題一下多組建的架構形態,每個反覆運算組建和功能組建都是一樣的,此圖有助於使用者瞭解資料庫產品系統結構。

arch_.jpg

對用戶而言,能夠利用WebConsole動作很多資料庫管控、運維、報警、效能監控。也可以通過OPENAPI操作資料庫實例。可利用管理用戶端輕鬆管理資料庫,基於虛擬機器的資料庫服務權限開放是很寬鬆的,用戶可以利用這些權限解決效能和使用問題。

3.3 用戶從ApsaraDBfor SQL Server多組建獲得的優勢與利益

3.3.1即買即用

與傳統部署方式不同,ApsaraDBfor SQL Server不需要使用者去部署網路,安裝作業系統,安裝資料庫系統,調整參數,在這裡,這一切都變更簡單,您只需要在WebConsole確定一個Region一個可用區,一個實例規格等基本資料,然後就可以坐在那裡靜候15分鐘左右即可。您也可以使用OPENAPI發起一個簡單的叫用,也可以輕鬆實現自動化實例建立,一切將變得簡單可信賴。

3.3.2輕鬆彈性資源

無論你購買的資源是否足夠,你都無需擔憂,ApsaraDBfor SQL Server可以輕鬆為了實現資源的彈性升級和降級,你只需要在WebConsole點選一下升級或者降級到什麼規格,便可做坐享其成。可以解決在你商務促銷程序中的升級與降級,既方便,亦可節約成本,一舉多得。

3.3.3寬鬆的權限

ApsaraDB for SQL Server 從SQLServer 2012開始,權限較為寬鬆。你可以利用這些權限輕鬆管理資料庫和效能調優。相對於SQLServer 2008 R2,在權限上,你可以實現下列動作:
--建立變更和移除資料庫
--建立變更和移除登入用戶
--KILL權限
--SQL ServerProfile和資料庫效能優化精靈

等等,以上你可以參考這個連結文件:
https://yq.aliyun.com/articles/59347?spm=5176.8091938.0.0.fODKSi

最近新增:
--實例等級參數調整
你只需要使用預存程序sp_rds_configure指定設定選項即可,你不必去關心打開進階選項,如果設定的選項需要重啟,也會有通知。但目前支援的設定如下:
fill factor (%)
max worker threads
cost threshold for parallelism
max degree of parallelism
min server memory (MB)
max server memory (MB)
blocked process threshold (s)

--部份DBCC功能
你只需要使用預存程序sp_rds_dbcc_trace指定需要打開追蹤標記即可,另外,觀察打開狀態是可以使用DBCCtracestatus(-1)。目前支援的追蹤標記有:
1222,1204,1117,1118,1211,1224,3604

--實例內複製資料庫
複製資料庫更簡單了,使用預存程序sp_rds_copy_database指定來源資料庫和目的資料庫即可,資料複製時間的多少與你資料庫大小密切相關,另外一點很重要,剩餘空間不能小於複製資料庫大小的1.3倍。

上面三個新屬性,你可以使用下列腳本跑一下試試,另外,設定後要稍等片刻才生效:

USE master
GO
--database engine edtion
SELECT SERVERPROPERTY('edition')
GO
--create database
CREATE DATABASE testdb
GO

--set instance parameter
SELECT *
FROM sys.configurations
WHERE NAME = 'max degree of parallelism'

EXEC sp_rds_configure 'max degree of parallelism',0

WAITFOR DELAY '00:00:10'

SELECT *
FROM sys.configurations
WHERE NAME = 'max degree of parallelism'

--set dbcc
DBCC tracestatus(-1)

exec sp_rds_dbcc_trace 1222,1

WAITFOR DELAY '00:00:10'

DBCC tracestatus(-1)
GO

--copy database
EXEC sp_rds_copy_database 'testdb','testdb_copy'

SELECT *
FROM sys.databases
WHERE name IN ('testdb','testdb_copy')

SELECT
family_guid,database_guid,*
FROM sys.database_recovery_status
WHERE
DB_NAME(database_id) IN ('testdb','testdb_copy')

3.3.4自動監控與警示

可以在WebConsole台輕鬆設定你的警示項和查看效能監控,可以回溯歷史狀況,也可以設定監控頻率和設定報警規則,用戶可以獲得一下監控和效能指標:

MSSQL實例CPU使用率(占作業系統總數%)
磁碟空間(單位MByte)
IOPS(單位:次/秒)
本期總串連數
SQLServer實例平均每秒鐘的輸入/流出流量。單位為KB
平均每秒交易數
平均每秒SQL語句執行次數
快取命中率(%)
每秒檢查點寫入Page數
每秒登入次數
平均每秒全資料表掃描次數
每秒SQL編譯
每秒鎖逾時次數
每秒死結次數
每秒鎖等待次數

3.3.5輕鬆運維

基本上,你可以不用自己去做太多運維的事,備份還原和復原任意時間點,在WebConsole都可以簡單設定完成。監控和報警也是比較齊全。重啟實例,收縮空間都是可以簡單完成。你只需要追隨自己的商務狀況即可。

3.3.6靈活的成本與組建選擇

ApsaraDB for SQL Server將會推出至少5個新的組建,SQLServer 2012標準版、Web組建,SQLServer 2016企業版、標準版、Web組建。所以根據你的商務和成本開銷,可以靈活選擇產品,滿足自己的商務才是王道。

3.3.7性價比為王

在做雲端服務之前,我使用的都是企業版和標準本,從來都未考慮過Web組建,成本也只是做一些比較粗略的估算。所以,有用戶就問了,我的商務怎麼選擇即滿足商務,又可以節省成本。先看看企業版和標準本以及Web組建授權費用就明白了。標準版是WEB的很多倍,不是一個量級,而企業版又是標準本很多倍,又不是一個量級。那怎麼選擇組建呢?這裡提供幾個從資料庫角度的關鍵因素:用戶並行數、對資料庫的要求量、商務的複雜度、資料庫功能要求。資料庫功能要求是首先要確定的,比如有些功能可能在企業版才有,那麼幾乎你沒有選擇其他組建的餘地,如果沒有用到企業版,那麼可以在標準版和Web組建選擇。組建差異也有講到。而實際上,這是一個粗略的估算,更準確的評定方式是進行壓力測試,全鏈路測試,貴的不一定好,好的不一定貴,適合自己的場景才是最好的。在和用戶的溝通中,發現很多場景完全是可以使用Web組建來做解決方案的。特別是ISV供應商針對不同細分領域的產品,不僅從資料庫種類可以選擇,還可以從功能組建上去選擇,總之,一切都是以性價比為王。對於ApsaraDBfor SQL Server產品,後續我們會陸續提供跨功能組建升級服務,那麼即使你的商務變化增長較快,也可以輕鬆向更進階的功能組建升級,一切都是因為有雲端服務,所以才變得如此簡單。

相關產品:

  1. 雲效
  2. 雲資料庫RDS
  3. 彈性伸縮
  4. 雲端服務器ECS
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.