一,引言
今天是国庆、中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项 NoSql 服务-----Azure Cosmos DB。就有人问了,我听说过 MongoDB、Redis 等Nosql 类型的非关系数据库,你讲到的 Azure Cosmos DB 和它两有什么区别没?
Azure Cosmos DB 是微软针对操作和分析工作负荷提供的多区域分布式多模型数据库服务。 它通过自动缩放吞吐量、计算和存储来提供多主数据库功能。过以下常用 API 利用个位数毫秒级的快速数据访问:SQL、MongoDB、Cassandra、表或 Gremlin。 Cosmos DB 为吞吐量、延迟、可用性和一致性保证提供综合服务级别协议 (SLA),这是其他数据库服务无法提供的。简单来说,Azure Cosmos DB 就是多区域式分布多模型数据库服务。
--------------------我是分割线--------------------
(一)Azure Cosmos DB (一) 入门介绍
二,正文
1,使用 Azure Cosmos DB 的优势
(1)多区域分布:利用 Cosmos DB,可在全球范围内生成具有高响应能力和可用性的应用程序。 无论用户身处何处,Cosmos DB 均可以透明方式复制数据,因此用户可以与离他们最近的数据副本进行交互。Cosmos DB 允许随时在 Cosmos 帐户中添加或删除任何 Azure 区域,只需单击一个按钮即可。 Cosmos DB 将无缝地将数据复制到与 Cosmos 帐户相关联的所有区域,同时,得益于该服务的多导功能,应用程序将继续保持高可用性 。
(2)吞吐量和存储可弹性缩放:Cosmos DB 采用透明水平分区和多主数据库复制设计,为全球范围内的读写操作提供前所未有的弹性缩放能力。 在任何区域,只需发出一次 API 调用,即可将每秒数千个请求弹性扩展到数百万个请求,而你只需为实际使用的吞吐量(和存储)付费。
(3)多个一致性选项:在 Cosmos DB 中构建多区域分布式应用程序时,不再需要在一致性、可用性、延迟和吞吐量之间进行极端的权衡。 Cosmos DB 的多主数据库复制协议经过精心设计,提供五个妥善定义的一致性选项 - 非常一致性、有限过期一致性、会话一致性、一致前缀一致性和最终一致性 - 可为多区域分布式应用程序提供直观的编程模型以及低延迟和高可用性。
(4)无需架构或者索引管理:对于多区域分布式应用而言,使数据库架构和索引与应用程序的架构保持同步非常棘手。 借助 Cosmos DB,则无需处理架构或索引管理。 数据库引擎完全与架构无关。 由于不需要架构和索引管理,因此迁移架构时也不必担心应用程序停用时间。 Cosmos DB 自动为所有数据编制索引,并可快速提供查询服务。
(5)全面的SLA保证可用性:由于 Cosmos DB 是一项完全托管服务,因此不再需要管理和操作复杂的多数据中心部署和数据库软件的升级,也不再需要为支持、许可或操作付费,也不必为峰值工作负载预配数据库。
2,支持多种数据库模型
通过以下常用 API 利用个位数毫秒级的快速数据访问:SQL、MongoDB、Cassandra、表或 Gremlin。
3,使用场景
受益于 Azure Cosmos DB 的解决方案,任何 Web、移动、游戏和 IoT 应用程序,只要其需要处理大量数据和多区域规模的读写操作,各种数据的响应时间接近实时,就可以充分利用 Cosmos DB 所保证的高可用性、高吞吐量、低延迟以及可调的一致性。 了解如何将 Azure Cosmos DB 用于生成 IoT 和 远程信息处理、零售和营销、游戏以及 Web 和移动应用程序。
ok,今天我们先了解这么多,只是先对Azure Cosmos DB 有个大概的认识,以及使用用它来做什么,下一篇我们正式开始在项目中如何正确的使用多种不同类型的数据模型进行开发。
以上介绍来自:微软官方 Azure Cosmos DB 文档
三,结尾
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。