今天是PASS 2017峰會的第二日,上午首個主題演講是Microsoft Cosmos DB組產品經理Rimma Nehme對Azure Cosmos DB的介紹。Nehme以豐富的信息量和快速的表達,介紹了Microsoft設計和構建Cosmos DB所用的方法。
在開始介紹Cosmos DB之前,Nehme探討了一些影響設計團隊考慮的市場趨勢。據(jù)Nehme介紹,全世界90%的數(shù)據(jù)都是在近兩年間創(chuàng)造的。從2010起算的10年期間,全世界的數(shù)據(jù)量有望增長50到100倍。如果將適合該趨勢的需求與計算應該接近數(shù)據(jù)的理念相結合,那么傳統(tǒng)的“俗世”數(shù)據(jù)庫從技術上并不適于應對這種復雜的局面。
“佛羅倫薩計劃”是Microsoft為應對這種趨勢而提出的一個解決方案,它是由Dharma Shukla啟動的。選擇佛羅倫薩為項目名稱的背景是,Shukla在該城市度假時提交了項目的首個代碼。從更寬泛的意義上看,佛羅倫薩是歐洲文藝復興開始的中心,這符合當今計算機世界對數(shù)據(jù)的需求將會爆發(fā)這一預測。
此后,“佛羅倫薩計劃”演變?yōu)锳zure Cosmos DB產品。項目開始時的目標取決于Bing、Xbox Live等微軟內部客戶的需求。至2010年,項目的需求發(fā)展為:
全球分布的一站式解決方案;全球范圍內99%的低延遲保證;區(qū)域和全球范圍內的高可用性保證;確保一致性;全球范圍內通量和存儲的彈性擴展,并可隨時按需提供服務;全面SLA(可用性、延遲、通量、一致性);低運維代價;迭代和查詢,無需關心具體的模式和索引管理;提供一系列的可選數(shù)據(jù)模型和API。簡而言之,Cosmos DB團隊的任務是在確定如何構建全球分布式云數(shù)據(jù)庫的同時,也滿足Microsoft內部客戶的需求。Cosmos DB的成功使得其成為Azure內部的“首環(huán)”(Ring 0)服務,即一旦有新的Azure地理區(qū)域建立,Cosmos DB就是該區(qū)域內首批提供的服務之一。從開發(fā)人員的角度看,Cosmos主要使用C++語言編寫。
Azure Cosmos DB提供了五種一致性模型,分別是:強一致性(Strong)、受限無狀態(tài)一致性(Bounded-stateless)、會話一致性(Session)、前綴一致性(Consistent Prefix)和最終一致性。其中最廣泛使用的是會話一致性,它的使用遠遠領先于第二位的受限無狀態(tài)一致性。
Nehme的主題演講的節(jié)奏很快,提供了豐富的信息。想要了解Cosmos DB的更多技術細節(jié),可以查看Dharma Shukla在今天春季撰寫的一篇文章。
查看英文原文: Cosmos DB - A Globally Distributed Database