我有一个场景,我不知道MongoDb中集合的结构和字段是什么。此外,每个用户也会有多个单一数据库(如多租户数据库)。
我将在production.For scaling和更好的机器优化中部署复制的分片集群,我在创建每个数据库时对每个数据库应用分片,同一数据库下的每个集合将被分片到不同的分片。现在在这个场景中,我不确定哪个键是最好的选择,因为在每个DB下创建的集合的结构和字段将是未知的。由于DB,Collection的结构是未知的,所以我不能预测哪种类型的查询将在大多数时间内使用。因此,我希望选择一个分片键,它可以满足分片键选择的所有条件,例如:基数、查询隔离、单调递增、写入缩放、易于划分。
在这种情况下,解决方案是什么?
另外,如果我选择该集合下的所有字段作为分片键,以及散列的_id字段作为复合键,会发生什么?
发布于 2015-12-01 18:11:21
创建分片密钥后,您将无法对其进行编辑。因此,继续向集合中注入数据,一旦明确了字段,就可以随时拆分集合。
重新平衡在分片后自动发生。
https://stackoverflow.com/questions/33901716
复制相似问题