我有一个涉及 cosmosdb 日期的分区键的设计问题。我有一个访问量很大的网站,可以插入每日记录。
预期的查询模式如下
getDataForMonthByKeywords()
getDataForMonthByRating()
getDataForMonthByUserLocation()
CreateUpdateData(indexkey)
DeleteBulkDataBy(indexkeys)
我正在考虑通过像这种格式那样做分区键来分散流量
Category-SubCategory-{DD-MM-YYYY}-[0-3] 所以逻辑分区会分布到下面的分区键。这将避免热分区
例如:Category-SubCategory-20-03-2021-0
类别-子类别-20-03-2021-1
类别-子类别-20-03-2021-2
类别-子类别-20-03-2021-3
但是我的团队认为搜索数据将是一场噩梦,因为我必须访问 4 个逻辑分区
相反,他们建议 Category-SubCategory-{MM-YYYY}
所以所有数据都将转到前:Category-SubCategory-03-2021
我得到了他们的担忧,但我打算通过认知搜索来获取这些数据。由于数据访问模式没有直接命中这些逻辑分区,我希望这不会是一个问题。但想得到 cosmos db 专家对此的看法。请帮忙
我担心的是他们的设计会产生热分区并浪费 RU,根据 cosmosdb 设计中的最佳实践,哪种设计是最合适的