绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Azure CosmosDB (10) Azure Cosmos DB体系结构
2022-04-15 10:04:42


  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 EntitySQL APICassandra APIAzure Cosmos DB's API for MongoDBGremlin APITable API
Azure Cosmos databasedatabaseKeyspacedatabsaedatabaseNA

  

  

  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 EntitySQL APICassandra APIAzure Cosmos DB's API for MongoDBGremlin APITable API
Azure Cosmos ContainerCollectionTableCollectionGraphTable

  也就是说,Azure Cosmos Container 在 Azure Cosmos DB API for MongoDB里,指的是Collection,也就是传统关系型数据库的Table数据表

 

  Azure Cosmos Container中的属性:

  Azure Cosmos 容器包含一组系统自定义属性。 根据所选的 API,其中一些属性可能不会直接公开。 下表描述了系统定义的属性的列表:

Defined propertySystem generated or user-configurablePurposeSQL APICassandra APIAzure Cosmos DB's API for MongoDBGremlin APITable API
_ridSystem generatedUnique identifier of containerYesNoNoNoNo
_etagSystem generatedEntity tag used for optimistic concurrency controlYesNoNoNoNo
_tsSystem generatedLast updated timestamp of the containerYesNoNoNoNo
_selfSystem generatedAddressable URI of the containerYesNoNoNoNo
idUser configurableUser-defined unique name of the containerYesYesYesYesYes
indexingPolicyUser configurableProvides the ability to change the index path, index type and index mode.YesNoNoNoYes
TimeToLiveUser configurableProvides the ability to delete items automatically from a container after a certain time period. For more details, see the Time To Livearticle.YesNoNoNoYes
changeFeedPolicyUser configurableUsed to read changes made to items in a container. For more details, see the Change Feed article.YesNoNoNoYes
uniqueKeyPolicyUser configurableUsed to ensure the uniqueness of one or more values within a logical partition. For more information, see the Unique Key constraintsarticle.YesNoNoNoYes

 

 

 

  Azure Cosmos数据

  根据选择不同的API,Azure Cosmos 数据可以表示一个文件,数据表中的一行,或者Graph API的一个节点。

  下表表示Azure Cosmos数据与API实体之间的对应关系

Azure Cosmos EntitySQL APICassandra APIAzure Cosmos DB's API for MongoDBGremlin APITable API
Azure Cosmos ItemDocumentRowDocumentNode or EdgeItem

 

  Azure Cosmos数据的属性

  Azure Cosmos数据有系统自定义的属性。根据所选的 API,其中一些属性可能不会直接公开。

System defined propertySystem generated or user-configurablePurposeSQL APICassandra APIAzure Cosmos DB's API for MongoDBGremlin APITable API
_idSystem generatedUnique identifier of itemYesNoNoNoNo
_etagSystem generatedEntity tag used for optimistic concurrency controlYesNoNoNoNo
_tsSystem generatedThe timestamp of the last update of the itemYesNoNoNoNo
_selfSystem generatedAddressable URI of the itemYesNoNoNoNo
idEitherUser-defined unique name within a logical partition. If the user doesn’t specify the id, the system will automatically generate one.YesYesYesYesYes
Arbitrary user-defined propertiesUser-definedUser-defined properties represented in API-native representation (JSON, BSON, CQL, etc.)YesYesYesYesYes
分享好友

分享这个小栈给你的朋友们,一起进步吧。

Azure Cosmos DB
创建时间:2022-04-14 14:09:01
Azure Cosmos DB
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~