带有时间设计的 Azure CosmosDB 分区密钥

问题描述

我对涉及 cosmosdb 日期的分区键有一个设计问题。我有一个高访问量的网站,它会插入每日记录。

预期的查询模式如下

getDataForMonthByKeywords()
getDataForMonthByrating()
getDataForMonthByUserLocation()

CreateUpdateData(indexkey)
DeleteBulkDataBy(indexkeys)

我想通过像这种格式的分区键来分散流量

Category-SubCategory-{DD-MM-YYYY}-[0-3] 所以逻辑分区将分布到以下分区键。这将避免热分区

例如: 类别-子类别-20-03-2021-0

Category-SubCategory-20-03-2021-1

Category-SubCategory-20-03-2021-2

Category-SubCategory-20-03-2021-3

但我的团队认为搜索数据将是一场噩梦,因为我必须访问 4 个逻辑分区

相反,他们建议 类别-子类别-{MM-YYYY}

因此所有数据都将转到例如:Category-SubCategory-03-2021

我得到了他们的关注,但我打算通过认知搜索获取这些数据。由于数据访问模式不会直接命中这些逻辑分区,我希望这不会成为问题。但想得到 cosmos db 专家对此的看法。请帮忙

我担心他们的设计会产生热分区并浪费 RU,根据 cosmosdb 设计中的最佳实践,哪种设计最合适

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)