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