微软宣布了针对 Azure Cosmos DB 的多个更新。Azure Cosmos DB 微软的分布式、可大规模扩展的多模型数据库服务。发布公告中包含了支持全球规模多主节点的特性、新增 Cassandra 支持 API 以及可降低成本的预留容量模型。
Cosmos DB 提供了一个 NoSQL 数据库服务,类似于 AWS DynamoDB 和 Google Cloud Datastore。此外,Cosmos DB 是 Azure 的基础服务,这意味着它可以在所有 Azure 区域中使用,包括政府、主权国家和美国国防部等方面的专有云。根据 Azure Cosmos DB 创始人和微软技术研究员 Dharma Shukla 的说法,Cosmos DB 是作为云原生数据库服务而创建的,具有三个基本特征。
自 2010 年开始作为云计算数据库进行构想以来,我们利用云的三个基本属性精心设计和开发了 Azure Cosmos DB:
1. 通过透明的多主复制进行全局分发。
2. 通过水平分区实现全球吞吐量和存储的弹性可扩展性。
3. 通过高度资源控制的系统栈(从数据库引擎到复制协议)实现细粒度多租户。
在微软 Ignite 大会上发布的新功能进一步增强了 Cosmos DB 的功能。例如,现在可以在全球范围内支持多主节点,并允许每一个运行服务的区域成为写入数据的主节点。Cosmos DB 在根据所有者指定的 scheme 处理冲突的同时处理数据复制。当插入、更新或删除操作发生冲突时,可以分别使用三种模式来解决,每种模式都有自己的特点。
- 最后写入获胜(Last-Writer-Wins),默认模式,使用文档的一个带有数值的属性。具有最高值的文档将被保留,除了删除操作,删除操作总是获胜。
- 自定义 - 用户定义过程,用户根据特定签名创建用户定义过程(UDP),允许实现用于处理冲突的自定义逻辑。
- 自定义 - 异步,服务将所有冲突写入只读源。随后,应用程序可以使用任何可用的外部数据实现处理这些冲突的逻辑。
由于允许全局写入多主数据,因此一致性问题变得非常重要。Cosmos DB 提供了五个一致性级别,从强一致性(读取数据时始终返回文档的最新版本)一直到最终一致性(提供非常快的读取和写入速度,但可能导致无序数据)。
来源: https://docs.microsoft.com/nl-nl/azure/cosmos-db/consistency-levels
另一个发布的功能是新增了 Cassandra 支持 API 。Cosmos DB 提供了几种与底层数据库服务通信的模型,包括 SQL、Gremlin 和 MongoDB,现在也包括 Cassandra。正如自由撰稿人 Anne Pilon 所提到的,这允许将现有的 Cassandra 应用程序切换到 Azure Cosmos DB,只需要做出很少的更改,甚至不需要更改。
你可以继续使用现有的应用程序和开源软件工具,而无需修改代码。你还可以在不被厂商锁定的情况下管理 Cassandra 应用程序。
最后,预留容量模型可以降低成本,特别是在预先知道所需计算能力(也称为请求单元)的情况下。Azure Cosmos DB 的产品经理和架构师 Rimma Nehme 表示,通过预付一到三年的费用,成本可能会大幅下降。
预留容量使你可以在一年或三年的期限内保留 Cosmos DB 中的预配置吞吐量,并且与按需付费的方式相比,可节省高达 65%的成本。
任何人都可以通过免费试用 Cosmos DB 计划开始使用 Cosmos DB。微软为此提供了 30 天免费试用,允许在三个区域创建全球分布式容器,同时提供产品的所有功能。
查看英文原文: Microsoft Announces Several Updates to Azure Cosmos DB Features
评论 1 条评论