以最小的努力獲得收益
Microsoft Office許可服務(wù)(OLS)團(tuán)隊(duì)從Azure表存儲(chǔ)到Azure Cosmos DB的遷移非常簡(jiǎn)單明了,使團(tuán)隊(duì)可以以最小的努力滿足其所有需求。
輕松遷移
在遷移到Azure Cosmos DB時(shí),借助其Table API,OLS團(tuán)隊(duì)能夠重用其大部分?jǐn)?shù)據(jù)訪問(wèn)代碼,并且他們編寫的避免任何停機(jī)的遷移引擎都可以快速,輕松地構(gòu)建。
Microsoft的軟件工程師Danny Cheng領(lǐng)導(dǎo)OLS開(kāi)發(fā)團(tuán)隊(duì),他解釋說(shuō):
“遷移引擎是我們必須編寫的唯一真正的“新代碼”。而且這三個(gè)部分的代碼示例都是公開(kāi)可用的,所以這好像我們不必從頭開(kāi)始??偠灾?,我們開(kāi)發(fā)的遷移工具花費(fèi)了三個(gè)開(kāi)發(fā)人員,每個(gè)開(kāi)發(fā)人員大約需要四個(gè)星期。”
幾乎無(wú)限的吞吐量
今天,數(shù)據(jù)庫(kù)吞吐量對(duì)于OLS團(tuán)隊(duì)而言不再是問(wèn)題。使用表存儲(chǔ),團(tuán)隊(duì)面臨每個(gè)存儲(chǔ)帳戶每秒20,000個(gè)操作的吞吐量限制,這迫使他們將18個(gè)表中的每個(gè)表維護(hù)在不同的存儲(chǔ)帳戶中,以實(shí)現(xiàn)最大吞吐量。該團(tuán)隊(duì)現(xiàn)在維護(hù)一個(gè)Azure Cosmos DB帳戶,該帳戶沒(méi)有吞吐量上限,并且可以支持每表每秒超過(guò)一千萬(wàn)次操作-全部由SLA專用并支持。
保證高可用性
Azure Cosmos DB為OLS團(tuán)隊(duì)提供了針對(duì)所有多區(qū)域帳戶的99.999%的讀取可用性SLA。如使用內(nèi)部開(kāi)發(fā)的工具捕獲的以下指標(biāo)所示,這導(dǎo)致存儲(chǔ)服務(wù)質(zhì)量(QoS)的顯著提高。
“在高峰時(shí)段,與表存儲(chǔ)相比,Azure Cosmos DB提供了更好的存儲(chǔ)QoS,”Cheng說(shuō)。“今天我們看到的是五個(gè)九,而過(guò)去我們大約是三個(gè)九。”
Azure Cosmos DB運(yùn)行狀況與Azure Table存儲(chǔ)運(yùn)行狀況的圖表。
Azure Cosmos DB平均運(yùn)行狀況與Azure Table存儲(chǔ)平均狀況
自動(dòng)故障轉(zhuǎn)移
OLS團(tuán)隊(duì)現(xiàn)在可以配置自動(dòng)或手動(dòng)故障轉(zhuǎn)移,以在維護(hù)所有SLA的情況下幫助防止區(qū)域中斷的可能性。該團(tuán)隊(duì)還可以為其多區(qū)域帳戶確定故障轉(zhuǎn)移順序的優(yōu)先級(jí),并可以手動(dòng)觸發(fā)故障轉(zhuǎn)移以測(cè)試OLS的端到端可用性。
“我們已經(jīng)配置了自動(dòng)故障轉(zhuǎn)移功能,但是服務(wù)是如此可靠,以至于我們還不需要它?!盋heng說(shuō)。
較低的延遲
表存儲(chǔ)為OLS團(tuán)隊(duì)提供了無(wú)限的延遲時(shí)間。相比之下,Azure Cosmos DB提供的讀寫延遲為個(gè)位數(shù),并且在全球第99個(gè)百分位數(shù)的任何規(guī)模上,都提供了小于10毫秒的讀寫延遲。以下指標(biāo)說(shuō)明了OLS服務(wù)在表存儲(chǔ)和Azure Cosmos DB之間看到的延遲差異。(DbTable是Azure表存儲(chǔ),而CosmosDbTable是Azure Cosmos DB表API。)
延遲差異:Azure Cosmos DB與Azure Table存儲(chǔ)。
交鑰匙數(shù)據(jù)分配
使用表存儲(chǔ),用于全局分發(fā)的選項(xiàng)受到限制。此外,OLS團(tuán)隊(duì)無(wú)法自行實(shí)施故障轉(zhuǎn)移。借助Azure Cosmos DB,團(tuán)隊(duì)現(xiàn)在可以分配到任意多個(gè)區(qū)域,包括多主機(jī)功能,啟用后,該功能將允許任何區(qū)域接受寫入操作。
Cheng表示:“只需單擊地圖,就可以將數(shù)據(jù)自動(dòng)復(fù)制到世界上任何Azure區(qū)域?!薄按斯δ芊浅7奖?,我們計(jì)劃盡快使用它?!?/span>
其他技術(shù)優(yōu)勢(shì)
除了上述內(nèi)容之外,Azure Cosmos DB還為OLS團(tuán)隊(duì)提供了比表存儲(chǔ)更多的優(yōu)勢(shì):
自動(dòng)索引。使用表存儲(chǔ)時(shí),主索引僅限于PartitionKey和RowKey,并且沒(méi)有輔助索引。默認(rèn)情況下,Azure Cosmos DB對(duì)所有屬性提供自動(dòng)且完整的索引,沒(méi)有索引管理。
查詢時(shí)間更快。使用表存儲(chǔ),查詢執(zhí)行將索引用作主鍵,否則進(jìn)行掃描。使用Azure Cosmos DB,查詢可以利用對(duì)所有屬性進(jìn)行自動(dòng)索引的優(yōu)勢(shì),從而縮短查詢時(shí)間。
一致性。使用表存儲(chǔ),OLS團(tuán)隊(duì)僅限于主要區(qū)域內(nèi)的強(qiáng)一致性和輔助區(qū)域內(nèi)的最終一致性。借助Azure Cosmos DB,他們可以從定義明確的一致性級(jí)別中進(jìn)行選擇,從而使他們能夠在設(shè)計(jì)解決方案時(shí)優(yōu)化讀取一致性與延遲,可用性和吞吐量之間的權(quán)衡。