【发布时间】:2014-04-07 22:28:46
【问题描述】:
我想知道我是否应该选择更精确的分片键或大于 64MB 的块。
这里是我的问题的详细描述:
我的收藏“帖子”包含属于“项目”的帖子(每个“帖子”文档都包含 projectId 字段)。我在查询条件下总是使用 projectId = ... 进行的所有操作,所以乍一看,最好的分片键是 projectId。 我经常在查询条件中使用“createdDate”字段,但并非总是如此。
所以我创建了按 projectId 键分片的集合帖子。但我意识到,一些项目(所有项目的 5%)包含如此多的提及,具有相同 projectId 的所有文档的总大小将大于默认块大小(64MB)。
我应该选择更具体的分片键(例如复合键:projectId、createdDate)以避免大于 64MB 的块,还是应该让块增长超过 64MB?我想专注于快速读取查询(尤其是聚合)。
【问题讨论】: