Azure CosmosDB (10) Azure Cosmos DB体系结构
《Windows Azure Platform 系列文章目录》
Azure Cosmos DB的体系结构分为以下几个部分:
1.Database Accounts
Database Account就是1个可以访问的namespace命名空间
2.Database
Database就是CosmosDB Container的集合
3.Database Container
Azure Cosmos Container是可缩放性预配的吞吐量和存储单元
下表描述了Azure Cosmos Database和特定API Entiry的对应关系
Azure Cosmos Entity | SQL API | Cassandra API | Azure Cosmos DB's API for MongoDB | Gremlin API | Table API |
Azure Cosmos database | database | Keyspace | databsae | database | NA |
Azure Cosmos Container
Azure Cosmos Container是可缩放性预配的吞吐量和存储单元。Container通过Partition Key(分区键)进行水平分区,并且支持在多个Azure数据中心进行复制。
当我们创建Azure Cosmos Container的时候,支持以下两种吞吐量模式:
1.独享模式
1个Container的吞吐量是独享的,不与其他Container共享Request Unit (RU)的吞吐量
2.共享模式
在同一个Database下的多个Azure container,互相共享Request Unit (RU)的吞吐量
无论采用独享模式,或者共享模式创建Container,Azure Cosmos Container都可以支持横向扩展
Azure Cosmos Container是与架构无关的,Container里的数据可以是任意架构。
举个例子,一个描述人的数据,与一个描述汽车的数据,都可以保存在同一个Container里
Azure Cosmos Container与特定API Entiry的对应关系
Azure Cosmos Entity | SQL API | Cassandra API | Azure Cosmos DB's API for MongoDB | Gremlin API | Table API |
Azure Cosmos Container | Collection | Table | Collection | Graph | Table |
也就是说,Azure Cosmos Container 在 Azure Cosmos DB API for MongoDB里,指的是Collection,也就是传统关系型数据库的Table数据表
Azure Cosmos Container中的属性:
Azure Cosmos 容器包含一组系统自定义属性。 根据所选的 API,其中一些属性可能不会直接公开。 下表描述了系统定义的属性的列表:
Defined property | System generated or user-configurable | Purpose | SQL API | Cassandra API | Azure Cosmos DB's API for MongoDB | Gremlin API | Table API |
---|---|---|---|---|---|---|---|
_rid | System generated | Unique identifier of container | Yes | No | No | No | No |
_etag | System generated | Entity tag used for optimistic concurrency control | Yes | No | No | No | No |
_ts | System generated | Last updated timestamp of the container | Yes | No | No | No | No |
_self | System generated | Addressable URI of the container | Yes | No | No | No | No |
id | User configurable | User-defined unique name of the container | Yes | Yes | Yes | Yes | Yes |
indexingPolicy | User configurable | Provides the ability to change the index path, index type and index mode. | Yes | No | No | No | Yes |
TimeToLive | User configurable | Provides the ability to delete items automatically from a container after a certain time period. For more details, see the Time To Livearticle. | Yes | No | No | No | Yes |
changeFeedPolicy | User configurable | Used to read changes made to items in a container. For more details, see the Change Feed article. | Yes | No | No | No | Yes |
uniqueKeyPolicy | User configurable | Used to ensure the uniqueness of one or more values within a logical partition. For more information, see the Unique Key constraintsarticle. | Yes | No | No | No | Yes |
Azure Cosmos数据
根据选择不同的API,Azure Cosmos 数据可以表示一个文件,数据表中的一行,或者Graph API的一个节点。
下表表示Azure Cosmos数据与API实体之间的对应关系
Azure Cosmos Entity | SQL API | Cassandra API | Azure Cosmos DB's API for MongoDB | Gremlin API | Table API |
Azure Cosmos Item | Document | Row | Document | Node or Edge | Item |
Azure Cosmos数据的属性
Azure Cosmos数据有系统自定义的属性。根据所选的 API,其中一些属性可能不会直接公开。
System defined property | System generated or user-configurable | Purpose | SQL API | Cassandra API | Azure Cosmos DB's API for MongoDB | Gremlin API | Table API |
---|---|---|---|---|---|---|---|
_id | System generated | Unique identifier of item | Yes | No | No | No | No |
_etag | System generated | Entity tag used for optimistic concurrency control | Yes | No | No | No | No |
_ts | System generated | The timestamp of the last update of the item | Yes | No | No | No | No |
_self | System generated | Addressable URI of the item | Yes | No | No | No | No |
id | Either | User-defined unique name within a logical partition. If the user doesn’t specify the id, the system will automatically generate one. | Yes | Yes | Yes | Yes | Yes |
Arbitrary user-defined properties | User-defined | User-defined properties represented in API-native representation (JSON, BSON, CQL, etc.) | Yes | Yes | Yes | Yes | Yes |
Azure CosmosDB (10) Azure Cosmos DB体系结构的更多相关文章
- Azure CosmosDB (12) 创建Cosmos DB并执行查询语句
<Windows Azure Platform 系列文章目录> The SQL API supports the following aggregate functions. SUM an ...
- Azure Cosmos DB 使用费用参考
之前在学习Cosmos DB 中SQL API(DocumentDB) 的时候,也就是之前做的一些笔记,看到有使用费用的一些介绍,就有兴趣的去了解了下,做了一下简单的总结. 想了解更多或是购买使用的还 ...
- Azure Cosmos DB (二) SQL API 操作
一,引言 还记得国庆期间,我们学习了一下关于Azure Cosmos DB 的一些基础知识以及Azure Cosmos DB 的几种支持数据库类型.今天就开始分享一些实战操作,如何通过Azure Po ...
- Azure Cosmos DB (三) EF Core 操作CURD
一,引言 接着上一篇使用 EF Core 操作 Azure CosmosDB 生成种子数据,今天我们完成通过 EF Core 实现CRUD一系列功能.EF Core 3.0 提供了CosmosDB 数 ...
- Azure Cosmos DB (五) .Net Core 控制台应用
一,引言 之前在讲Azure CosmosDB Core(SQL)核心的时候,使用了EF Core 的方式,引用了 "Microsoft.EntityFrameworkCore.Cosmos ...
- Azure Cosmos DB介绍及演示
Azure Cosmos DB 是 Microsoft 提供的全球分布式多模型数据库服务.Cosmos DB是一种NoSql数据库,但是它兼容多种API.它支持SQL, MongoDB.Cassand ...
- Azure Cosmos DB (四) 使用EF的SQL API 异地冗余
一,引言 上一篇文章中,我们介绍到使用了EF Core 与Cosmos DB SQL API 进行结合开发.同时,大家在开发过程中一定要记得EF Core 不支持Cosmos DB 的迁移.今天我们启 ...
- NCF 的Azure Cosmos DB 演示案例
简介 NCF想必看过我之前发的NCF的文章的同学们都已经很熟悉了 今天我们要来聊一聊的是NCF遇到Azure Cosmos DB后会碰撞出什么样的火花,让我们一起往下看 我们先来说说什么是Azure ...
- Azure Cosmos DB (一) 入门介绍
一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis ...
随机推荐
- log4j:WARN Please initialize the log4j system properly解决办法
使用log4j,报警如下: log4j:WARN No appenders could be found for logger log4j:WARN Please initialize the log ...
- 牛客网PAT乙级(Basic Level)真题-数字分类 (20)
题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4 ...
- Django models 的字段类型
1.models.AutoField ---自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_k ...
- 图解HTTP阅读笔记(1)-网络基础TCP/IP
1.TCP/IP协议族 TCP/IP这个概念对大家来说很熟悉,之前我的了解它只是一个协议.今天阅读才知道TCP/IP实际上是一个协议族,其中HTTP协议属于该协议族的一个子集.图1是TCP/IP协议族 ...
- Map的嵌套 练习
Map的嵌套 练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...
- 关于python的装饰器(初解)
在python中,装饰器(decorator)是一个主要的函数,在工作中,有了装饰器简直如虎添翼,许多公司面试题也会考装饰器,而装饰器的意思又很难让人理解. python中,装饰器是一个帮函数动态增加 ...
- 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊
现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...
- Backup&recovery备份和还原 mysql
1.mysqldump 在日常工作中,我们会使用mysqldump命令创建sql格式的转储文件来备份数据库.或者我们把数据导出后做数据迁移,主备搭建等操作.mysqldump是一个逻辑备份工具,复制原 ...
- 洛谷10月月赛II题解
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...
- 旋转数组的最小数字(JAVA)
旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2 ...