宇宙数据库分区键



下面是表示职位候选人配置文件对象的 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,

}

在 cosmos db 中,应考虑选择一个分区键,该分区键具有广泛的值和访问模式,这些值和访问模式均匀分布在逻辑分区中。这有助于将容器中的数据和活动分布到一组逻辑分区中。

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

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

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

最新更新