彈性池有助于在 Azure SQL 數(shù)據(jù)庫(kù)中管理和縮放多個(gè)數(shù)據(jù)庫(kù)

來(lái)源: Microsoft Azure
作者:Microsoft Azure
時(shí)間:2020-12-29
16844
Azure SQL數(shù)據(jù)庫(kù)彈性池是一種簡(jiǎn)單且經(jīng)濟(jì)高效的解決方案,用于管理和縮放具有不斷變化且不可預(yù)測(cè)的使用需求的多個(gè)數(shù)據(jù)庫(kù)。

適用于:Azure SQL數(shù)據(jù)庫(kù)

Azure SQL數(shù)據(jù)庫(kù)彈性池是一種簡(jiǎn)單且經(jīng)濟(jì)高效的解決方案,用于管理和縮放具有不斷變化且不可預(yù)測(cè)的使用需求的多個(gè)數(shù)據(jù)庫(kù)。同一彈性池中的所有數(shù)據(jù)庫(kù)位于單個(gè)服務(wù)器上,并以固定價(jià)格共享固定數(shù)量的資源。Azure SQL數(shù)據(jù)庫(kù)中的彈性池可使SaaS開(kāi)發(fā)人員將一組數(shù)據(jù)庫(kù)的價(jià)格性能優(yōu)化在規(guī)定的預(yù)算內(nèi),同時(shí)為每個(gè)數(shù)據(jù)庫(kù)提供性能彈性。

什么是SQL彈性池

SaaS開(kāi)發(fā)人員構(gòu)建在由多個(gè)數(shù)據(jù)庫(kù)組成的大規(guī)模數(shù)據(jù)層上的應(yīng)用程序。常見(jiàn)的應(yīng)用程序模式是為每位客戶(hù)設(shè)置單一數(shù)據(jù)庫(kù)。但不同的客戶(hù)通常有不同的和不可預(yù)測(cè)的使用模式,并且很難預(yù)測(cè)每個(gè)數(shù)據(jù)庫(kù)用戶(hù)的資源需求。傳統(tǒng)上,有兩個(gè)選擇:

·基于高峰使用情況和付款情況過(guò)度預(yù)配資源或

·采用低配節(jié)省成本,但這樣會(huì)犧牲高峰期的性能和客戶(hù)滿(mǎn)意度。

彈性池通過(guò)確保數(shù)據(jù)庫(kù)獲取需要時(shí)所需的性能資源來(lái)解決這個(gè)問(wèn)題。它們提供了一個(gè)可預(yù)測(cè)預(yù)算內(nèi)的簡(jiǎn)單的資源分配機(jī)制。若要深入了解如何通過(guò)彈性池設(shè)計(jì)SaaS應(yīng)用程序的模式,請(qǐng)參閱具有Azure SQL數(shù)據(jù)庫(kù)的多租戶(hù)SaaS應(yīng)用程序的設(shè)計(jì)模式。

重要

彈性池沒(méi)有按照數(shù)據(jù)庫(kù)收取的費(fèi)用。對(duì)于池存在的每個(gè)小時(shí),需要支付最高的eDTU或vCore費(fèi)用,無(wú)論使用量是多少,也不管池處于活動(dòng)狀態(tài)的時(shí)間是否小于一小時(shí)。

彈性池可讓開(kāi)發(fā)人員為由多個(gè)數(shù)據(jù)庫(kù)共享的池購(gòu)買(mǎi)資源,以適應(yīng)單一數(shù)據(jù)庫(kù)使用時(shí)段不可預(yù)測(cè)的情況??梢愿鶕?jù)基于DTU的購(gòu)買(mǎi)模型或基于vCore的購(gòu)買(mǎi)模型為池配置資源。池的資源要求取決于其數(shù)據(jù)庫(kù)的聚合使用量。池可用的資源數(shù)量由開(kāi)發(fā)者預(yù)算控制。開(kāi)發(fā)者只需將數(shù)據(jù)庫(kù)添加到池,根據(jù)需要為數(shù)據(jù)庫(kù)設(shè)置最小和最大資源(最小和最大DTU數(shù),或者最小或最大vCore數(shù),具體取決于所選的資源模型),然后基于預(yù)算設(shè)置池的資源。開(kāi)發(fā)人員可以使用池順暢地?cái)U(kuò)大其服務(wù),以漸增的規(guī)模從精簡(jiǎn)的新創(chuàng)公司發(fā)展到成熟的企業(yè)。

在池中,單獨(dú)的數(shù)據(jù)庫(kù)都被賦予了在固定參數(shù)內(nèi)自動(dòng)縮放的靈活性。高負(fù)荷下的數(shù)據(jù)庫(kù)可能會(huì)消耗更多的資源以滿(mǎn)足需求。低負(fù)荷下的數(shù)據(jù)庫(kù)消耗較少的資源,沒(méi)有任何負(fù)荷的數(shù)據(jù)庫(kù)不會(huì)消耗任何資源。設(shè)置整個(gè)池(而非單個(gè)數(shù)據(jù)庫(kù))的資源簡(jiǎn)化了管理任務(wù)。此外,必須具有該池的可預(yù)測(cè)預(yù)算。可在故障時(shí)間最短的情況下向現(xiàn)有池添加其他資源。同樣,隨時(shí)可以從現(xiàn)有池中刪除不再需要的額外資源。并且可以從池中添加或刪除數(shù)據(jù)庫(kù)。如果可以預(yù)測(cè)到數(shù)據(jù)庫(kù)的資源利用率不足,則將其移出。

備注

將數(shù)據(jù)庫(kù)移入或移出彈性池時(shí),除了在操作結(jié)束時(shí)刪除數(shù)據(jù)庫(kù)連接時(shí)有短暫的停機(jī)時(shí)間(大約為幾秒)外,幾乎沒(méi)有停機(jī)時(shí)間。

何時(shí)應(yīng)當(dāng)考慮使用SQL數(shù)據(jù)庫(kù)彈性池

池很適合具有特定使用模式的大量數(shù)據(jù)庫(kù)。對(duì)于給定的數(shù)據(jù)庫(kù),此模式的特征是低平均使用量與相對(duì)不頻繁的使用高峰。相反,具有持久性中-高利用率的多個(gè)數(shù)據(jù)庫(kù)不應(yīng)放在同一彈性池中。

可以加入池的數(shù)據(jù)庫(kù)越多,就可以節(jié)省更多的成本??赡苤恍鑳蓚€(gè)S3數(shù)據(jù)庫(kù)就可以節(jié)省開(kāi)支,具體取決于應(yīng)用程序使用模式。

以下各部分有助于了解如何評(píng)估特定的數(shù)據(jù)庫(kù)集合是否會(huì)因使用池而受益。這些示例使用標(biāo)準(zhǔn)池,但同樣的原理也適用于基本和高級(jí)池。

評(píng)估數(shù)據(jù)庫(kù)使用模式

下圖顯示了一個(gè)數(shù)據(jù)庫(kù)示例,該數(shù)據(jù)庫(kù)有大量的閑置時(shí)間,但也會(huì)定期出現(xiàn)活動(dòng)高峰。這是適合池的使用模式:

one-database.png

該圖顯示了從12:00到1:00的1小時(shí)內(nèi)的DTU使用情況,其中每個(gè)數(shù)據(jù)點(diǎn)的粒度為1分鐘。在12:10,DB1使用的DTU個(gè)數(shù)達(dá)到峰值(90個(gè)DTU),但其整體平均使用量低于五個(gè)DTU。在單一數(shù)據(jù)庫(kù)中運(yùn)行此工作負(fù)荷需要S3計(jì)算大小,但在低活動(dòng)期間,這可使大多數(shù)資源處于未使用狀態(tài)。

池可讓這些未使用的DTU跨多個(gè)數(shù)據(jù)庫(kù)共享,因此減少了所需的DTU數(shù)和總體成本。

以上一個(gè)示例為基礎(chǔ),假設(shè)有其他數(shù)據(jù)庫(kù)具有與DB1類(lèi)似的使用模式。在接下來(lái)的兩個(gè)圖中,4個(gè)數(shù)據(jù)庫(kù)和20個(gè)數(shù)據(jù)庫(kù)的使用量分層放在同一圖形中,以演示在使用基于DTU的購(gòu)買(mǎi)模型時(shí)數(shù)據(jù)庫(kù)使用量在整個(gè)時(shí)間段上非重疊的性質(zhì):

four-databases.png

twenty-databases.png

在上圖中,黑線(xiàn)表示跨所有20個(gè)數(shù)據(jù)庫(kù)的聚合DTU使用量。其中表明聚合DTU使用量永遠(yuǎn)不會(huì)超過(guò)100個(gè)DTU,并指出20個(gè)數(shù)據(jù)庫(kù)可以在此時(shí)間段內(nèi)共享100個(gè)eDTU。相比于將每個(gè)數(shù)據(jù)庫(kù)放入單一數(shù)據(jù)庫(kù)的S3計(jì)算大小,這會(huì)導(dǎo)致DTU減少20倍和價(jià)格降低13倍。

由于以下原因,此示例很理想:

·每一數(shù)據(jù)庫(kù)之間的高峰使用量和平均使用量有相當(dāng)大的差異。

·每個(gè)數(shù)據(jù)庫(kù)的高峰使用量在不同時(shí)間點(diǎn)發(fā)生。

·eDTU會(huì)在多個(gè)數(shù)據(jù)庫(kù)之間共享。

在DTU購(gòu)買(mǎi)模型中,池的價(jià)格是池Edtu的一項(xiàng)功能。盡管池的eDTU單位價(jià)格比單一數(shù)據(jù)庫(kù)的DTU單位價(jià)格多1.5倍,但池eDTU可由多個(gè)數(shù)據(jù)庫(kù)共享,因而所需的eDTU總數(shù)更少。定價(jià)方面和eDTU共享的這些差異是池可以提供成本節(jié)省可能性的基礎(chǔ)。

在vCore購(gòu)買(mǎi)模型中,彈性池的vCore單位價(jià)格與單一數(shù)據(jù)庫(kù)的vCore單位價(jià)格相同。

如何選擇正確的池大小

池的最佳大小取決于聚合池中所有數(shù)據(jù)庫(kù)所需的資源。這涉及到?jīng)Q定以下項(xiàng):

池中所有數(shù)據(jù)庫(kù)使用的最大計(jì)算資源。計(jì)算資源按Edtu或Vcore索引,具體取決于你選擇的購(gòu)買(mǎi)模型。

池中所有數(shù)據(jù)庫(kù)使用的最大存儲(chǔ)字節(jié)。

對(duì)于每個(gè)購(gòu)買(mǎi)模型中的服務(wù)層和資源限制,請(qǐng)參閱基于DTU的購(gòu)買(mǎi)模型或基于vCore的購(gòu)買(mǎi)模型。

以下步驟可幫助你評(píng)估池是否比單一數(shù)據(jù)庫(kù)更具成本效益:

1.通過(guò)如下方式來(lái)估算池所需的eDTU或vCore:

對(duì)于基于DTU的購(gòu)買(mǎi)模型:

MAX(<數(shù)據(jù)庫(kù)的總數(shù)目X每一數(shù)據(jù)庫(kù)的平均DTU使用率>,<并發(fā)峰值數(shù)據(jù)庫(kù)數(shù)目X每一數(shù)據(jù)庫(kù)的峰值DTU使用率>)

對(duì)于基于vCore的購(gòu)買(mǎi)模型:

MAX(<數(shù)據(jù)庫(kù)的總數(shù)目X每一數(shù)據(jù)庫(kù)的平均vCore使用率>,<并發(fā)峰值數(shù)據(jù)庫(kù)數(shù)目X每一數(shù)據(jù)庫(kù)的峰值vCore使用率>)

2.通過(guò)添加池中所有數(shù)據(jù)庫(kù)所需的數(shù)據(jù)大小來(lái)估算池所需的總存儲(chǔ)空間。對(duì)于DTU購(gòu)買(mǎi)模型,確定提供此存儲(chǔ)量的eDTU池大小。

3.對(duì)于基于DTU的購(gòu)買(mǎi)模型,請(qǐng)取步驟1和步驟2中eDTU估算值中較大的那個(gè)。對(duì)于基于vCore的購(gòu)買(mǎi)模型,請(qǐng)取步驟1中的vCore估算值。

4.請(qǐng)參閱SQL數(shù)據(jù)庫(kù)定價(jià)頁(yè),找到大于步驟3中估算值的最小池大小。

5.將步驟4中的池價(jià)格與單一數(shù)據(jù)庫(kù)的適當(dāng)計(jì)算大小進(jìn)行比較。

重要

如果池中數(shù)據(jù)庫(kù)的數(shù)量接近支持的最大值,請(qǐng)確保在密集彈性池中考慮資源管理。

將其他SQL數(shù)據(jù)庫(kù)功能與彈性池一起使用

彈性作業(yè)和彈性池

借助池,可以通過(guò)在elastic jobs。彈性作業(yè)可消除與大量數(shù)據(jù)庫(kù)有關(guān)的大部分問(wèn)題。

有關(guān)用于操作多個(gè)數(shù)據(jù)庫(kù)的其他數(shù)據(jù)庫(kù)工具的詳細(xì)信息,請(qǐng)參閱使用Azure SQL數(shù)據(jù)庫(kù)進(jìn)行擴(kuò)展。

彈性池中的數(shù)據(jù)庫(kù)的業(yè)務(wù)連續(xù)性選項(xiàng)

共用數(shù)據(jù)庫(kù)通常支持和可用于單一數(shù)據(jù)庫(kù)相同的業(yè)務(wù)連續(xù)性功能。

·時(shí)間點(diǎn)還原

時(shí)間點(diǎn)還原使用自動(dòng)的數(shù)據(jù)庫(kù)備份將池中的數(shù)據(jù)庫(kù)恢復(fù)到特定的時(shí)間點(diǎn)。請(qǐng)參閱時(shí)間點(diǎn)還原

·異地還原

當(dāng)數(shù)據(jù)庫(kù)因其所在的區(qū)域發(fā)生事故而不可用時(shí),異地還原會(huì)提供默認(rèn)的恢復(fù)選項(xiàng)。請(qǐng)參閱還原Azure SQL數(shù)據(jù)庫(kù)或故障轉(zhuǎn)移到輔助數(shù)據(jù)庫(kù)

·活動(dòng)異地復(fù)制

對(duì)于具有異地還原無(wú)法提供的更強(qiáng)烈的恢復(fù)要求的應(yīng)用程序,請(qǐng)配置活動(dòng)異地復(fù)制或自動(dòng)故障轉(zhuǎn)移組。

使用Azure門(mén)戶(hù)創(chuàng)建新的SQL數(shù)據(jù)庫(kù)彈性池

在A(yíng)zure門(mén)戶(hù)中可以通過(guò)兩種方法創(chuàng)建彈性池。

1.請(qǐng)參閱Azure門(mén)戶(hù),創(chuàng)建彈性池。搜索并選擇"AZURE SQL"。

2.選擇“+添加”以打開(kāi)“選擇SQL部署選項(xiàng)”頁(yè)。通過(guò)選擇"數(shù)據(jù)庫(kù)"磁貼上的"顯示詳細(xì)信息",可以查看有關(guān)彈性池的其他信息。

3.在"數(shù)據(jù)庫(kù)"磁貼上的"資源類(lèi)型"下拉列表中選擇"彈性池",然后選擇"創(chuàng)建":

create-elastic-pool.png

4.或者可以創(chuàng)建一個(gè)彈性池:導(dǎo)航到現(xiàn)有服務(wù)器,然后單擊“+新建池”,直接在該服務(wù)器中創(chuàng)建一個(gè)池。

備注

可以在服務(wù)器上創(chuàng)建多個(gè)池,但不能將數(shù)據(jù)庫(kù)從不同的服務(wù)器添加到同一個(gè)池中。

該池的服務(wù)層級(jí)決定了池中彈性數(shù)據(jù)庫(kù)的可用功能,以及每個(gè)數(shù)據(jù)庫(kù)可用的最大資源量。有關(guān)詳細(xì)信息,請(qǐng)參閱DTU模型中彈性池的資源限制。有關(guān)彈性池的基于vCore的資源限制,請(qǐng)參閱基于vCore的資源限制-彈性池。

若要配置池的資源和定價(jià),請(qǐng)單擊“配置池”。然后選擇服務(wù)層級(jí),將數(shù)據(jù)庫(kù)添加到池,并配置池及其數(shù)據(jù)庫(kù)的資源限制。

完成配置池后,可以單擊“應(yīng)用”,將池命名,然后單擊“確定”以創(chuàng)建池。

監(jiān)視彈性池及其數(shù)據(jù)庫(kù)

在A(yíng)zure門(mén)戶(hù)中,可以監(jiān)視彈性池和該池中的數(shù)據(jù)庫(kù)的利用率。還可以對(duì)彈性池進(jìn)行一組更改,并同時(shí)提交所有更改。這些更改包括添加或刪除數(shù)據(jù)庫(kù)、更改彈性池設(shè)置或更改數(shù)據(jù)庫(kù)設(shè)置。

你可以使用內(nèi)置性能監(jiān)視和警報(bào)工具與性能等級(jí)結(jié)合使用。此外,SQL數(shù)據(jù)庫(kù)可發(fā)出指標(biāo)和資源日志,以方便進(jìn)行監(jiān)視。

客戶(hù)案例研究

SnelStart

SnelStart在A(yíng)zure SQL數(shù)據(jù)庫(kù)中使用彈性池,以每月快速擴(kuò)展其業(yè)務(wù)服務(wù),每個(gè)Azure SQL數(shù)據(jù)庫(kù)1000。

Umbraco

Umbraco對(duì)Azure SQL數(shù)據(jù)庫(kù)使用彈性池,以便在云中為數(shù)千個(gè)租戶(hù)快速預(yù)配和縮放服務(wù)。

Daxko/CSI

Daxko/CSI使用彈性池和Azure SQL數(shù)據(jù)庫(kù)來(lái)加速其開(kāi)發(fā)周期和增強(qiáng)其客戶(hù)服務(wù)和性能。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀(guān)點(diǎn),不代表快出海對(duì)觀(guān)點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家