【发布时间】:2019-09-05 15:02:00
【问题描述】:
下面是 cosmos 文档 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,
}
【问题讨论】:
-
问题在于它取决于您的用例。如果您的应用程序的写入量很大,那么优先级可能是分区键,它会导致写入均匀地分布在分区之间。如果应用是读取繁重的应用,那么您要尝试确保大多数常见查询可以查询单个分区,而不是进行跨分区查询。
-
您是给每个应用程序一个唯一的 GUID 还是要使用另一个数字?为什么 GUID 和 ID 不同?机会应该是一个数组吗?一个人可能正在申请多个职位,因此您希望将职位与该人关联起来。
标签: c# azure azure-cosmosdb