Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CosmosDB分区键_C#_Azure_Azure Cosmosdb - Fatal编程技术网

C# CosmosDB分区键

C# CosmosDB分区键,c#,azure,azure-cosmosdb,C#,Azure,Azure Cosmosdb,下面是cosmos document db对象,表示职位的候选概要文件对象。目标形成仍处于初始阶段,且给定的属性最少。基于下面的数据对象,我考虑使用名称、位置等多个属性进行分区。感谢您在选择分区键时的指导/输入。随着数据量的增加,该对象有可能变得越来越大,但目前这正是我们计划在第1阶段实现的 { "Guid": "7ce84d91-7bf3-4b98-a945-108464cc6282", "Name": { "FirstName": "Manu", "LastName": "S

下面是cosmos document db对象,表示职位的候选概要文件对象。目标形成仍处于初始阶段,且给定的属性最少。基于下面的数据对象,我考虑使用名称、位置等多个属性进行分区。感谢您在选择分区键时的指导/输入。随着数据量的增加,该对象有可能变得越来越大,但目前这正是我们计划在第1阶段实现的

{
"Guid": "7ce84d91-7bf3-4b98-a945-108464cc6282",
"Name": {
    "FirstName": "Manu",
    "LastName": "San Martin",
    "PreferredName": "Juan",
    "MiddleNameInitial": "M",
    "MiddleName": "Manuel"
},
"Location": {
    "Country": {
        "Id": 0,
        "Name": "US"
    },
    "Address1": "Bv Chacabuco 421",
    "Address2": "",
    "City": "new york",
    "State": "new york",
    "Zip": "10001"
},
"Contact": {
    "EmailAddress": "qa@wawaqsa.com",
    "EmailOptOut": "qa@wawawaqa.com",
    "PhoneNumber": "1253647851",
    "PhoneType": "Mobile"
},
"Opportunity": {
    "InterestLevel": "string",
    "Elegibility": "string"
},
"Enabled": true,
"AvailableDate": "2019-08-17T00:00:00",
"Skills": null,
"Preferences": null,
"SocialMediaHandles": null,
"id": "0f3277f2-5b73-4dfb-b31b-df65bcb8d20b",
"DeletedAt": null,
"IsLatest": true,

在COSMOS DB中,我们应该考虑选择具有很宽范围的分区键和在逻辑分区上均匀分布的访问模式的分区键。这有助于将容器中的数据和活动分布到一组逻辑分区中

您对分区键的选择应该平衡高效分区查询和事务的需求与跨多个分区分发项以实现可伸缩性的目标。分区键的候选项可能包括在查询中经常作为筛选器出现的属性。通过在筛选器谓词中包含分区键,可以有效地路由查询

对于你,我假定位置或名称是最常见的查询条件,你可以考虑选择它们作为PK。最重要的是结合您自己的业务发展需要


顺便说一句,PK的选择意义重大。选择后,cosmos db中的修改或删除将不受支持。

问题在于它取决于您的用例。如果您的应用程序写操作非常繁重,那么优先级可能是一个分区键,它会导致写操作在分区之间均匀分布。如果应用程序读取量大,则您希望尝试确保大多数常见查询可以查询单个分区,而不是跨分区查询。您是为每个应用程序提供唯一的GUID,还是要使用其他号码?为什么GUID和ID不同?机会应该是一个数组吗?一个人可能正在申请多个工作,因此您希望将这些工作与此人联系起来。