[关闭]
@Rays 2017-12-18T10:21:02.000000Z 字数 2465 阅读 1654

Microsoft更新Cosmos DB,提供Cassandra支持,提高可用性保证

架构&设计 Microsoft


摘要: 在上个月的Connect 2017大会上,Microsoft新发布了多个Azure Cosmos DB更新,其中包括支持使用Cassandra NoSQL数据库的API,以及更高的可用性保证。这样,用户可以在Cosmos DB内使用针对Cassandra NoSQL数据库的API去操作数据模型。此外,可用性保证也从99.99%提高到99.999%。

作者: Steef-Jan Wiggers

正文:

在上个月的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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注