《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体系结构的更多相关文章

  1. Azure CosmosDB (12) 创建Cosmos DB并执行查询语句

    <Windows Azure Platform 系列文章目录> The SQL API supports the following aggregate functions. SUM an ...

  2. Azure Cosmos DB 使用费用参考

    之前在学习Cosmos DB 中SQL API(DocumentDB) 的时候,也就是之前做的一些笔记,看到有使用费用的一些介绍,就有兴趣的去了解了下,做了一下简单的总结. 想了解更多或是购买使用的还 ...

  3. Azure Cosmos DB (二) SQL API 操作

    一,引言 还记得国庆期间,我们学习了一下关于Azure Cosmos DB 的一些基础知识以及Azure Cosmos DB 的几种支持数据库类型.今天就开始分享一些实战操作,如何通过Azure Po ...

  4. Azure Cosmos DB (三) EF Core 操作CURD

    一,引言 接着上一篇使用 EF Core 操作 Azure CosmosDB 生成种子数据,今天我们完成通过 EF Core 实现CRUD一系列功能.EF Core 3.0 提供了CosmosDB 数 ...

  5. Azure Cosmos DB (五) .Net Core 控制台应用

    一,引言 之前在讲Azure CosmosDB Core(SQL)核心的时候,使用了EF Core 的方式,引用了 "Microsoft.EntityFrameworkCore.Cosmos ...

  6. Azure Cosmos DB介绍及演示

    Azure Cosmos DB 是 Microsoft 提供的全球分布式多模型数据库服务.Cosmos DB是一种NoSql数据库,但是它兼容多种API.它支持SQL, MongoDB.Cassand ...

  7. Azure Cosmos DB (四) 使用EF的SQL API 异地冗余

    一,引言 上一篇文章中,我们介绍到使用了EF Core 与Cosmos DB SQL API 进行结合开发.同时,大家在开发过程中一定要记得EF Core 不支持Cosmos DB 的迁移.今天我们启 ...

  8. NCF 的Azure Cosmos DB 演示案例

    简介 NCF想必看过我之前发的NCF的文章的同学们都已经很熟悉了 今天我们要来聊一聊的是NCF遇到Azure Cosmos DB后会碰撞出什么样的火花,让我们一起往下看 我们先来说说什么是Azure ...

  9. Azure Cosmos DB (一) 入门介绍

    一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis ...

随机推荐

  1. log4j:WARN Please initialize the log4j system properly解决办法

    使用log4j,报警如下: log4j:WARN No appenders could be found for logger log4j:WARN Please initialize the log ...

  2. 牛客网PAT乙级(Basic Level)真题-数字分类 (20)

    题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4 ...

  3. Django models 的字段类型

    1.models.AutoField   ---自增列 = int(11)    如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_k ...

  4. 图解HTTP阅读笔记(1)-网络基础TCP/IP

    1.TCP/IP协议族 TCP/IP这个概念对大家来说很熟悉,之前我的了解它只是一个协议.今天阅读才知道TCP/IP实际上是一个协议族,其中HTTP协议属于该协议族的一个子集.图1是TCP/IP协议族 ...

  5. Map的嵌套 练习

    Map的嵌套   练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...

  6. 关于python的装饰器(初解)

    在python中,装饰器(decorator)是一个主要的函数,在工作中,有了装饰器简直如虎添翼,许多公司面试题也会考装饰器,而装饰器的意思又很难让人理解. python中,装饰器是一个帮函数动态增加 ...

  7. 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊

    现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...

  8. Backup&recovery备份和还原 mysql

    1.mysqldump 在日常工作中,我们会使用mysqldump命令创建sql格式的转储文件来备份数据库.或者我们把数据导出后做数据迁移,主备搭建等操作.mysqldump是一个逻辑备份工具,复制原 ...

  9. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  10. 旋转数组的最小数字(JAVA)

    旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2 ...