We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
有的时候,用户存在大表倾斜,可能某个表特别大,导致整体增量同步性能比较低。默认情况下,incr_sync.shard_key参数是为collection,表示按表并发,另外还有id表示按_id并发,只有所有表都没有唯一索引,才可以使用id。但是,如果用户存在大表倾斜的情况下,这个大表还没有唯一索引,那么其实这个大表可以加入白名单,进行更高层次的并发,比如按_id进行并发,从而提高并发的效率。 因此,v2.4.12版本中添加了incr_sync.shard_by_object_id_whitelist,指定哪些表可以进行按_id并发,前提是这些指定的表不能存在唯一索引,一旦出现唯一索引,mongoshake将会直接crash退出。 使用说明: 用户需要确认该表不会创建唯一索引,一旦检测发现存在唯一索引,则会立刻crash退出。例如,db1.collection1;db2.collection2,不支持仅指定db:incr_sync.shard_by_object_id_whitelist = db1.collection1;db2.collection2
incr_sync.shard_key
id
_id
incr_sync.shard_by_object_id_whitelist
incr_sync.shard_by_object_id_whitelist = db1.collection1;db2.collection2
注意,用户需要自己保证配置的表不存在唯一索引!