Azure SQL Database Elastic Pools介紹

by adonisy 20. 四月 2020 09:00

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

有關 Azure中,Elastic Pools(彈性池)的介紹

Azure SQL資料庫的 Elastic Pools是一種經濟高效的解決方案,用於管理和擴展群組或Azure SQL資料庫庫池,其使用模式的特點是低

平均利用率和不經常出現的峰值。

 

彈性池中的所有資料庫:

•屬於一台Azure SQL Server

•共享一定數量的eDTU(資料交易單元)

•共享一定數量的彈性池儲存

•為eDTU定價,而不是為DTU等單個資料庫定價

•可以擴展到給定的最大eDTU數量

 

•保證最低數量的eDTU

 

什麼時後該使用彈性池?

 

以下的情況,是可以考慮使用彈性池的:

•在高峰時段最多可以消耗100個eDTU,以滿足性能要求需求

•在非高峰時段(輕負載下)可以消耗更少的eDTU

 

•空載時消耗0(零)eDTU


這不僅解決了配置過多和配置不足的問題,還節省了成本,因為你只需要為eDTU付費,而不必為各個資料庫的DTU付費。

DTU設置為100的標準S3服務層的價格為147美元/月。 四個這樣的資料庫每月將花費588美元。

eDTU設置為100的彈性池的價格為每月221美金,這意味著如果資料庫處於彈性狀態,則每月可節省367美元(降低62%的成本)

假設隨著客戶數量的增加,您計劃進一步分資料庫分為八個碎片。 這意味著你將在一個資料庫中擁有八個資料庫彈性池。

這將使每月成本降低85%。這是彈性池非常有益的地方。

 

調整彈性池大小


彈性池具有很大的好處,但前提是它們的大小必須適當。 不然你最後可能會在彈性池上花費比預期多得多的費用。

Azure SQL資料庫自動分析歷史資料庫利用率數字和在Azure Portal上提供彈性池的配置建議。 他們也提供服務器上自定義資料庫

群的eDTU估計值。 你可以添加或從定制組中刪除資料庫以獲取eDTU建議。

一旦你對池的配置滿意後,可以創建池。

 

如果你必須手動估計彈性池是否比擁有單個資料庫更具成本效益,請執行以下步驟:

 

1.使用以下公式找到估計的eDTU提供:

MAX(<DB總數X每個DB的平均DTU利用率>,同時達到峰值的DB X每個DB的峰值DTU利用率)

2.通過添加單個資料庫找到估計的池儲存供應儲存。 找尋使用以下方法提供所需估計儲存量的eDTU

此鏈接:https://azure.microsoft.com/en-us/pricing/details/sql-database/managed/。

3.使用步驟2中給出的連結,找到大於eDTU的最小eDTU。

步驟1和2中最大的eDTU。

4.比較資源庫和各個資料庫的成本以評估定價好處。

就讓我們來計算一下:

首先,1.按照步驟1估算的eDTU:

資料庫總數= 4

每個DB的平均DTU利用率= 30同時達到峰值的DB的數量= 1

每個DB的峰值利用率= 90

根據步驟1估算的eDTU = MAX(4 * 30,1 * 90)=> MAX(120,90)= 120

根據步驟1估算的eDTU為120。

2.按照步驟2估算eDTU:

假設每個分片的最大存儲量為100 GB。 這意味著

所有四個分片的最大存儲量為4 * 100 = 400 GB。

根據定價詳細信息連結,每個池100個eDTU滿足以下條件

儲存需求:

3.根據步驟3估算的eDTU:

最小eDTU(大於第1步中的最大eDTU)(120個eDTU)

而步驟2(100 eDTU)為200。但是,我們將100 eDTU視為120,因為eDTU接近100而不是200。

比較價格

在本範例中,我們計算並比較了100個eDTU池可節省62%的成本

 

與擁有四個單獨的Azure SQL資料庫相比。

調整大小的最佳做法

 

以下最佳做法將幫助您正確設置彈性池的大小。

最小資料庫數量

池要具有成本效益,所需的最小資料庫數取決於以下公式:

單個資料庫DTU的總和> 1.5 X eDTU

例如,為了使玩具店游泳池更具成本效益,池中的資料庫可以計算為:

單個資料庫DTU的總和> 150(1.5 X 100)

這意味著你需要:

•至少兩個標準S3層的Azure SQL資料庫使池具有成本效益

•至少四個標準S2層的Azure SQL資料庫使池具有成本效益

 

•至少八個標準S1層的Azure SQL資料庫可使該池具有成本效益

最大並發峰值數據庫數

彈性池允許Azure SQL資料庫達到最大可用eDTU

對於那個特定的池。 但是,並非所有資料庫在同一時間都能達到最大eDTU

並發峰值資料庫的最大數量不應大於2/3或池中數據庫總數的67%。

例如,toystore池具有四個資料庫,這意味著要將該池有效,你只需要池中四個資料庫的67%,這意味著你僅

需要兩個資料庫。 如果兩個以上的資料庫同時達到峰值,則該池將由超過100個eDTU決定大小。

如果將池的大小調整為超過100個eDTU,則需要添加更多的S3資料庫以保持池的成本效益。

每個資料庫的DTU利用率

應該為彈性池考慮的資料庫的理想利用模式,平均利用率低,短期利用率高。

這種利用方式最適合共享eDTU。 如果資料庫的平均利用率很高,那麼它將接受大多數eDTU。

這意味著其他數據庫將無法獲得所需的eDTU,性能會降低。

峰值利用率是其平均利用率的1.5倍的數據庫是池的好人選。

下次再來介紹有關在 Azure 中如何設定彈性池。

 

 



 

 


Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

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

月分類Month List