【发布时间】:2020-12-18 22:59:42
【问题描述】:
据我了解,当您执行不按一个主键过滤的查询时,您执行的是跨分区查询。为此,查询被发送到 CDB 集合的所有物理分区,在每个分区中并行执行,然后返回。
当您扩展到每秒数万个请求时,这意味着数万个请求中的每一个都在每个物理分区上执行。
这是否意味着每个分区最终将达到其每秒可以服务的请求数限制,而水平扩展将不再带来任何好处?因为对于每个新的物理分区,CDB 都会增加需要处理所有进来的请求,所以它不会增加新的容量,只增加存储。
下游的含义是,即使在小规模下,您也可以接受增加跨分区查询的 RU 成本,但要真正能够无限期扩展,您的数据模型应该确保查询只命中一个分区(可能通过非规范化它)。
【问题讨论】:
标签: nosql azure-cosmosdb distributed-database