部署平台即服務解決方案

by adonisy 25. 一月 2021 14:56

部署平台即服務解決方案

作者:楊先民

審稿:張智凱


簡介


適用於 SQL Server 的平台即服務 (PaaS) 產品可能是適合特定工作負載的解決方案PaaS 產品對基礎結構

進行更小細度的控制,並將對基礎組成原件(記憶體、CPU、儲存、作業系統等)的管理委派給了雲提供商

(即 Microsoft)。


本期將側重於設置和部署 Azure SQL 資料庫和 SQL Server 託管實例的方法,以及在執行向該平台的搬

移時,針對各種選項提供清晰明確的說明。


平台即服務 (PaaS) 概述


平台即服務 (PaaS) 在雲中提供了完整的開發和部署環境,可用於基於雲的簡單應用程序以及高級企業應用程式。

如上圖所示,PaaS 包括雲提供的操作系統和解決方案管理。例如,在 Azure SQL 資料庫和 Azure SQL託管實例中,

高可用性、操作系統和 SQL Server 功能以及備份全部由 Azure 平台提供。


我們將在本期中探索 Azure SQL 資料庫。 Azure SQL 資料庫在三個不同的部署選項中可用:


● 單一資料庫 – 在每個資料庫級別上計費和管理的單一資料庫

● 彈性集區 - 一組一起管理並共享一組公共資源的資料庫

● 超大規模 - 一種單一資料庫產品/服務,允許資料庫擴展到遠遠超過 Azure SQL 資料庫的 4 TB 限制


彈性集區將在之後討論。即使在雲中,所有服務都由實體的硬體支援。 


Azure SQL資料庫允許你從兩種不同的購買模型中進行選擇:


● 資料庫交易單位 (DTU) – DTU 是根據將計算、儲存和 I/O 資源相結合的公式計算的。

● vCore – vCore 模型允許你根據給定的工作負載購買指定數量的 vCore。購買 Azure SQL 資料庫資源時,這是預設的購買模型。 

vCore 資料庫在 CPU核心數與提供給資料庫的記憶體和存儲量之間具有特定的關系。


Azure SQL 資料庫還包括:

● 自動備份

● 自動修補更新

● 內建的高可用性

● SQL Server 功能增強,無需升級軟體


服務層選項


PaaS 有幾種不同的服務層。每層都有不同的功能,使你在選擇此平台時可以有多種選擇。

DTU 模型可用於三個不同的服務層:


● 基本

● 標準

● 高級


你還可以購買三種不同服務層的 vCore 資料庫:


● 通用 - 該層用於通用工作負載。它由 Azure 高級儲存支持。它的延遲將比關鍵業務高

● 關鍵業務 – 此層適用於高性能工作負載,提供任一服務層的最低延遲。此層由本地 SSD(而不是Azure Blob 儲存)支援。

它還提供了最高的故障恢復能力,並提供了可用於減輕報告工作負載的內置只讀資料庫副本。


● 超大規模 - 超大規模資料庫可以擴展到遠遠超過其他 Azure SQL 資料庫產品 4 TB 的限制,並且具有獨特的架構,

可支持高達 100 TB 的資料庫


備份


平台即服務產品最重要的功能之一是備份。在這種情況下,備份是自動執行的,無需你進行任何設定。

備份儲存在 Azure Blob 異地複寫儲存中,預設情況下,備份將保留 7 到 35 天,具體取決於資料庫的服務層。

基本資料庫和 vCore 資料庫的預設保留期為 7 天,在 vCore 資料庫上,管理員可以對此進行調整。


可以通過配置長期保留 (LTR) 延長保留期,這將允許你將備份保留長達 10 年。為了提供複寫,你還可以利用

可讀取連接的異地備份 Blob 儲存。此儲存會將資料庫備份複製到次要區域。

如果需要,它還允許你從該次要區域進行讀取。值得說明的是,不允許手動備份資料庫,平台將拒絕這樣做的任何請求。


資料庫備份按給定的計劃進行:

● 完整備份 - 每週一次

● 差異備份 - 每 12 小時一次

● 交易記錄 – 每 5 - 10 分鐘一次,具體取決於交易記錄的活動

該備份計劃應滿足大多數恢復點/時間目標 (RPO/RTO) 的需求,但是每個客戶應評估他們是否滿足你的業務要求。


如果需要還原資料庫,則有多個選項可供使用。由於平台即服務的性質,你不能使用常規方法(例如發出T-SQL 命令"restore database")

手動還原資料庫。這是行不通的。


無論採用哪種還原方法,都無法通過現有資料庫進行還原。如果需要還原資料庫,則必須在啟動還原之前刪除或重命名現有資料庫。

此外,請記住,取決於平台服務層,還原時間可能會有所波動。建議你測試還原過程,以獲得還原可能花費多長時間的基準指標。


可用的還原選項包括:


使用 Azure Portal進行還原 - 使用 Azure 門戶,可以選擇將資料庫還原到同一 Azure SQL 資料庫服務器,也可以通過還原在

任何 Azure 區域中的新服務器上創建新資料庫。


使用腳本語言進行還原 - 可以使用 PowerShell 和 Azure CLI 來還原資料庫。

 

活動異地複寫


異地複寫是一項業務連續性功能,可將資料庫異地複寫到最多四個輔助的副本。當交易提交到主資料庫(及其在同一區域內的副本)後,

交易將發送到輔助資料庫進行重播。


由於此操作是非同步完成的,因此在 SQL Server 將控制權返回給調用方之前,調用應用程式不必等待輔助副本提交交易。


輔助資料庫為可讀,可用於卸載只讀工作負載,從而為主資料庫上的事務性工作負載釋放資源,或者將資料放置在更接近最終用戶的位置。

此外,輔助資料庫可以與主資料庫位於同一區域,也可以位於另一個Azure 區域。



使用異地複寫,你可以由用戶手動或從應用程式啟動故障轉移。如果發生故障轉移,你可能需要更新應用

程式連接字符串,以反映當前主資料庫的新端點。


故障轉移組


故障轉移組基於異地複寫中使用的技術構建,但也提供了一個用於連接的端點。使用故障轉移組的主要原因是,

該技術提供了可用於將流量路由到適當副本的終結點。故障轉移後,你的應用程序即可連接,而無需更改連接字符串。


無服務器


當你仍將 Azure SQL 資料庫部署到你要連接的邏輯服務器時,“無服務器”這個名稱可能會令人困惑。 

Azure SQL 資料庫無服務器是一個計算層,它將根據需求自動縮放給定資料庫的資源。如果工作負載不再需要計算資源,

則資料庫將處於"暫停"狀態,資料庫處於此狀態期間將不會向你收費。嘗試建立連接後,資料庫將"恢復"並變得可用。恢復資料庫不是瞬時的。

無服務器和 Azure SQL 資料庫的普通 vCore 模型之間的另一個區別是,使用無服務器時,你可以指定最小和最大數量的 vCore。

記憶體和 I/O 限制與指定範圍成正比。

 

上圖 顯示了 Azure 門戶中無服務器資料庫的配置屏幕。你可以選擇擁有至少半個 vCore,最多 16 個

vCore。你應注意,未部署為無服務器的資料庫稱為“已預配”。


控制暫停的設置稱為自動暫停延遲,最小值為 60 分鐘,最大值為 7 天。如果資料庫這段時間閒置了,它

將暫停。一旦資料庫在指定的時間內處於非活動狀態,它將被暫停,直到嘗試進行後續連接為止。任何使

用無服務器的應用程序都應配置為處理連接錯誤,包括重試邏輯,因為連接到暫停的資料庫將產生連接錯誤。

無服務器與 Azure SQL 資料庫中的所有功能不完全兼容,因為某些功能始終在運行後台進程。這些功能

包括:


● 異地複寫

● 長期備份保留

● 彈性作業中的作業資料庫(有關彈性作業的更多詳細資訊,之後會說明)

● SQL 資料同步中的同步資料庫(資料同步是在一組資料庫之間複製資料的服務)


超大規模資料庫

多年以來,Azure SQL 資料庫已將每個資料庫的儲存容量限制為 4 TB。這是由於 Azure 基礎結構的實體

限制所致。 


Azure SQL 超大規模資料庫更改了範例,允許資料庫為 100 TB 或更大。超大規模資料庫引入

了新的橫向縮放技術,以隨著資料大小的增長添加計算節點。超大規模資料庫的成本與 Azure SQL 資料

庫的成本相同;但是還需要每 TB 的儲存成本。應注意的是,一旦將 Azure SQL 資料庫轉換為超大規模資料庫,

無法再將其轉換為"常規"Azure SQL 資料庫。

Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List