在上個月的Connect 2017大會上,Microsoft新發布了多個Azure Cosmos DB更新,其中包括支持使用Cassandra NoSQL數據庫的API,以及更高的可用性保證。這樣,用戶可以在Cosmos DB內使用針對Cassandra NoSQL數據庫的API去操作數據模型。此外,可用性保證也從99.99%提高到99.999%。
Ike Ellis是一位Microsoft MVP,同時也是Crafting Bytes,一家位于加州圣地亞哥的獨立軟件開發公司,的合伙人。他指出:
當前,在Azure Cosmos DB中可以使用Microsoft推出的Cassandra API預覽版。Cosmos DB是一種瑞士軍刀類型的數據庫,時常也被稱為多模型數據庫([Multi-model database]https://en.wikipedia.org/wiki/Multi-model_database))。最初在今年早些時候發布該產品時,Microsoft使用的命名是DocumentDB。針對Cassandra的更新,填補了Azure云數據庫整體結構中的一塊重要空白。
Microsoft Cosmos DB是一種數據庫托管服務,在其全球所有的數據中心中提供。該數據庫服務支持圖數據、列存儲、鍵值存儲和文檔數據庫等多種數據模型。用戶可以借助于Cosmos DB對Cassandra的支持,提升其內部部署的Cassandra應用程序。進而,客戶為充分利用該服務提供的所有優勢,會選擇遷移到Cosmos DB上。這樣,客戶不再需要管理Cassandra集群,或修改集群的配置。此外,無論需要存儲數據的規模如何,以及是否要達到五個9的可用性要求,Microsoft都能保證SLA在吞吐量上具有四個9。
在Connect 2017大會期間,Microsoft云服務和企業組的執行副總裁Scott Guthrie提出:
Cassandra是一種可以部署到商業服務器上的開源分布式數據庫管理系統。Microsoft推出的新API將支持開發人員重用已有的代碼,并可使用分布于全球的Cosmos DB NoSQL服務,作為實現“Cassandra即服務”的基礎。
在配置Cosmos DB實例之前,客戶可以選擇使用新的Cassandra API。一旦完成配置,就可以使用一個簡單的連接代碼段,實現Cassandra應用程序連接到Cosmos數據庫實例。在Cosmos數據庫實例中,開發人員可以使用CQL shell,在表中用CQL語句創建Cassandra的鍵空間(key space)。雖然命令是在Cosmos DB終端上執行的,但是開發人員無需了解命令與Cosmos DB實例通信的細節。
圖片來源:https://www.youtube.com/watch?v=1Sf4McGN1AQ&feature=youtu.be的視頻截圖
公有云提供商Google、Microsoft和Amazon都提供了云上的數據庫服務。在今年早些時候,Microsoft發布了一張圖表,對比了各大云服務提供商的數據庫服務,其中列出了Cosmos DB、AWS Dynamo DB和Google Cloud Spanner。在該對比圖表中,Cosmos DB以其多模型和多API支持、全球分布、一致性模型、集中化管理和SLA等特性脫穎而出。
圖片來源: https://medium.com/@jevdemon/a-chart-comparing-azure-cosmos-db-amazon-dynamodb-and-google-cloud-spanner-ab0afdd244cc
但是在AWS re:Invent 2017大會上,Amazon宣布了對Dynamo DB的一些更新,例如全局表和按需備份等,并且Dynamo DB已擁有數十萬客戶。此外,Amazon的客戶已經從Cassandra遷移到Dynamo DB。 因此,客戶在Cassandra應用程序中尋找云數據庫服務時,Microsoft的Cosmos DB并非唯一的選擇。
圖片來源:https://www.youtube.com/watch?v=EFDDjzIGxA0的視頻截圖
為了應對Cosmos DB和AWS Dynamo DB的發展,Google改進了其數據庫服務Cloud Spanner。現在,Cloud Spanner提供五個9的可用性,沒有停機時間,跨越多個地區和大陸的事務和同步復制,并支持更寬范圍上的應用工作負載。與其競爭對手AWS Dynamo DB和Google Cloud Spanner相比,Cosmos DB唯一的特點在于多模型和多API支持。換句話說,Cosmos DB是那些尋求對模型和API支持靈活性的客戶的選擇。
Jet.com的數據工程高級總監Christoph Leinemann在Azure博客上撰寫了一篇博文,介紹了他們在Cosmos DB上使用Cassandra的情況。文中提及:
我們正在多個關鍵業務用例中使用基于Azure Cosmos DB的Cassandra API。特別需要指出的是,這一解決方案中,關鍵的優勢在于地理冗余和動態擴展特性。我們期待,未來能從中獲得更多的收益。
查看英文原文: Microsoft Updates Cosmos DB with Cassandra Support and Provides Better Availability Guarantees