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