Azure資料庫平台和選項

by adonisy 7. 十二月 2020 23:11

作 者:楊先民
審 稿:張智凱

儘管之後的期別將詳細介紹 Azure的平台和選項,但在本期之中,我們將介紹較高級別的檢視,以提供後續內容的必要背景。

在 Azure上部署 SQL Server是廣泛而且全面的,對於許多管理員而言,挑戰很大。

許多資料庫管理員的任務不僅僅是維護和支援SQL Server,但也可以幫助您做出與關係相關的架構決策資料庫管理系統(RDBMS)平台。

決定因應用程序的性質而異,無論應用程序是內部開發還是通過獨立軟體供應商(ISV)。

儘管大多數 Azure資料平台產品都非常相似,在其實現中,會存在細微的差異,需要對應用程程代碼進行更改,如果您不擁有應用程程

代碼,則可能無法實現。

了解 Azure服務
通常,雲端服​​務可以分為兩組服務:基礎架構即服務產品(IaaS)和平台即服務產品(PaaS)。 

IaaS服務通常由虛擬機器組合而成,儲存和虛擬網路組件,並且在很大程度上由用戶管理修補和軟體。另一方面,
PaaS服務具有較大比例的管理任務由雲提供處理。

此外,PaaS服務在擴展方面趨於更加靈活。在 Azure資料平台 PaaS服務包括了 Azure SQL資料庫,託管的 Azure SQL資料庫
實例和Azure MySQL / MariaDB / PostgreSQL。

SQL Server 在 Azure 以虛擬機器的方式存在(IaaS)

許多應用程序將需要運行SQL Server的VM。造成這種情況的一些原因包括:
1.較舊版本的SQL Server-如果應用程序要求供應商使用較舊版本的SQL Server
支援,在VM內運行是這些應用程序的最佳選擇,因為它允許該供應商支持的應用程序。

2.使用其他SQL Server服務-Analysis Services以及在某種程度上Integration Services
(通過使用Azure數據工廠)作為 PaaS產品提供,許多用戶可以最大化他們

通過在以下位置運行SQL Server Analysis Services,Integration Services和/或Reporting Services獲得許可
與資料庫引擎相同的機器。

3.常規應用程序不兼容性-這是一個包羅萬象的內容,但例如,Azure SQL資料庫不支持跨資料庫查詢,而託管實例則支持。一些應用
可能需要通過以下方式將其他服務與數據庫實例共置一處:與PaaS產品不兼容。

除了上述原因之外,許多組織還發現遷移到VM變得更容易
他們最初涉足雲計算的路徑。網絡和儲存配置被認為是比 PaaS解決方案更容易實現。考慮到這一點,SQL Server提供了許多產品來
使用Azure中的VM最大程度地提高生產力。
SQL Server IaaS Agent Extension

當您從Azure市場部署SQL Server VM時,如下圖所示,該過程的一部分
安裝IaaS代理擴展。

擴展是在VM部署後執行的代碼,通常用於執行部署後

配置,例如安裝防病毒功能或安裝Windows功能。 SQL Server IaaS

代理擴展提供了三個關鍵功能,可以減少您的管理開銷。

 

● SQL Server Automated Backup

● SQL Server Automated Patching

● Azure Key Vault Integration


除了這些功能之外,該擴展程序還允許您查看有關SQL Server的配置和存儲利用率如下圖所示。

 

 

Azure VM上可用的SQL Server版本

 

Microsoft在 Azure Marketplace中保留了所有受支持的 SQL Server版本的映像。如果你需要擴展支持合同涵蓋的較舊版本,則必須安裝

自己的SQL Server。

 

在IaaS上支持SQL Server的功能


在最新版本的SQL Server中,Microsoft引入了許多功能來支持運行SQL Server

在Azure VM中。我們將專注於與備份相關的兩個功能-URL備份和 Azure備份。備份到URL允許您使用標準備份語法將資料庫備份到Azure

儲存,而適用於SQL VM的 Azure備份提供了完整的企業備份解決方案,該解決方案可以自動處理整個基礎架構中的備份。


Azure VM的部署選項


Azure中的所有資源共享一個稱為 Azure Resource Manager的通用提供程序,該提供程式充當

Azure的管理和部署服務。儘管有很多方法可以部署Azure資源,最終,它們最終都進入了稱為 Azure資源管理器(ARM)的JSON文檔中

模板本身就是Azure資源的部署選項之一。主要區別在過程之間,ARM模板明確地是一種聲明性部署方法,該方法描述了要部署的資源的所需結構和狀態,

而其他方法可以所有這些都被描述為命令式的,它使用過程模型來明確指定要執行的過程。

在大規模部署中,聲明方法更好,應該遵循。


Azure Resource Manager Templates

 

Azure ARM模板的優勢在於能夠在一個聲明式中部署全套資源模板。這包括將依賴項構建到模板中以及使用

在部署時更改部署值的參數。有了模板後,就可以部署它有多種方法,包括Azure DevOps管道或通過自定義部署刀鋒

Azure portal。

 

在 Azure中的高可靠度


Azure平台旨在容錯並從服務故障和瞬態中快速恢復錯誤。實際上,許多組織都認為單個VM的可用性更高

與以前在本地環境中經歷的儲存相比,儲存的正常運行時間是99.9%)。


這將在之後詳細介紹,但是您將在此處了解有關構建塊的信息。

提供了許多支持高可用性的特定功能,包括可用性群集,可用性區域和負載平衡技術,您將在後續內容中了解更多相關的資訊。

 

Azure Storage的概覽


Azure提供了完全冗餘的基於對象的儲存模型。這將在模塊中更詳細地介紹,但是在設計和部署 VM體系結構時要注意的事情很少。

就虛擬機而言您可以使用四種儲存類型:

●標準儲存

●標準SSD儲存

●高級儲存

●超磁盤

對於生產 SQL Server資料和事務日誌文件,應僅使用Premium Storage和Ultra磁碟。使用高級儲存,在正確配置的情況下,

您會看到5-10毫秒的延遲系統,並且使用 Ultra Disk,您可能會有毫秒級的延遲,但可能會在現實世界。您可以將標準存儲用於

資料庫備份。性能足夠適用於大多數備份和還原工作負載。



Azure SQL 資料庫托管實例


儘管許多組織最初使用IaaS產品遷移到Azure,但平台即服務(PaaS)

服務提供了更多好處。一個主要好處是您不再需要安裝或修補由服務執行的SQL Server。

此外,進行一致性檢查,以及備份也是託管服務的一部分,並且還有其他安全性和性能工具PaaS產品中包含的內容。


Azure SQL 托管實例功能

 

Azure SQL託管實例允許通過以下方式為現有應用程序輕鬆遷移路徑

從本地備份還原。與圍繞單個資料庫設計的Azure SQL資料庫不同

在結構上,托管實例提供了整個SQL Server實體,最多允許100個資料庫,以及提供對系統資料庫的連結。

受管實例提供了其他功能,例如在 Azure SQL資料庫中不可用,包括跨資料庫查詢,.NET程式(CLR)

連同 msdb系統資料庫一起,它允許使用SQL Agent。

 

托管實例能提供


受管實例分為兩層服務-通用和關鍵業務。兩個服務層支持相同的功能集,兩層之間的主要區別在於性能和

可用性。兩層之間的唯一功能差異是Business Critical支持內存中

OLTP和可讀的輔助副本。關鍵業務還包括每個 CPU更多的記憶體和使用直接連接的儲存(相對於網絡儲存),可降低儲存延遲。


Azure PaaS 服務的混合授權選項

 

Microsoft為SQL Server被許可方提供了許多好處。對於Azure SQL數據庫和Azure SQL

數據庫託管實例,利用您現有的許可證可以降低運行成本

PaaS產品。

對於具有Active Software Assurance的Enterprise Edition的每個核心,您都有資格使用以下vCore:

Azure SQL數據庫或託管實例業務關鍵,以及八個通用vCore。對於

您擁有的擁有軟件保障的Standard Edition的每個核心,您就有資格獲得以下vCore的一個

一般用途。這樣可以將總許可成本降低多達40%。實際上,您只需付款計算和儲存成本,而不是軟體許可成本。

 

在 Azure PaaS中的 High Availability架構


Azure SQL資料庫和託管實例具有類似的高可用性體系結構,這可以確保

正常運行時間達到99.99%。 Windows和SQL Server更新由後端基礎結構處理,通常,對您的應用程序沒有任何影響,儘管將重試邏輯放入您的應用程序很重要

應用。高可用性解決方案是自動的,並內置於平台中,其設計旨在提交的資料永遠不會因故障而遺失,並且您的資料庫沒有單點故障。

用於保證此可用性的解決方案取決於您的服務層,之後將進行詳細討論

 

連結架構

 

通過TDS終結點建立與Azure SQL資料庫和託管實例的連接。而這些連接上的路由和安全性有所不同,基本架構是存在

處理連接並將其路由到資料庫服務的組件。這個組件也以高度可用的方式部署。

 

備份和還原


託管備份提供了完全託管的備份服務,該服務可以進行完整,差異和日誌備份

定期地您也可以手動將數據庫的僅備份備份複製到Azure存儲。


Automatic Tuning


通過在 PaaS服務中運行,您可以利用 Azure上的其他計算資源來允許增值服務運行。

這些功能中最好的功能之一是自動資料庫調整。

自動調整當前包括以下功能:

●識別昂貴的查詢

●強制執行最後的執行計劃

●添加索引

●刪除索引

 

Azure服務結合使用內建智慧和高級啟發式方法來確定您的查詢模式的最佳索引。這些索引是在資料庫的捲影副本上測試的,

然後最終實現到您的資料庫中。所有上述調優功能都具有如果您想更好地控制環境,請關閉此功能。

將地端資料庫移植到 Azure SQL Database 託管實例

考慮到SQL Server幾乎完整的功能集,遷移到託管實例相對容易。
有兩種執行遷移的方法:
●還原備份
●使用資料庫搬移服務

備份和還原將導致更多的停機時間,因為無法通過norecovery還原和應用日誌是不可能的備份。資料庫搬移服務是一項託管服務,可連接到您的兩個內部部署
(或Azure VM)SQL Server到託管實例的停機時間幾乎為零。實際上,它的行為就像自動日誌傳送過程,這意味著您可以使目標資料庫保持同步,直到
轉換點。

Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

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

月分類Month List