通用操作类问题 基于范围的分片键设置 步骤 1 使用如下命令,开启数据库分片开关。 sh.enableSharding (database) 说明 参数database表示要开启分片集合的数据库。 步骤 2 设置分片键。 sh.shardCollection (namespace, key) 说明 参数namespace表示需要进行分片的目标集合的完整命名空间.。 key表示要设置分片键的索引。 如果需要进行分片的目标集合是空集合,可以不创建索引直接进行下一步的分片设置,该操作会自动创建索引。 sh.shardCollection() 如果需要进行分片的目标集合是非空集合,则需要先创建索引key。然后使用如下命令设置分片键。 sh.shardCollection() 基于哈希的分片键设置 步骤 1 使用如下命令,开启数据库分片开关。 sh.enableSharding (database) 说明 参数database表示要开启分片集合的数据库。 步骤 2 设置基于哈希的分片键。 sh.shardCollection ( " . ", { : "hashed" } , false, {numInitialChunks: 预置的chunk个数}) 其中numInitialChunks值的估算方法是:db.collection.stats().size / 10102410241024 。 如果集合已经包含数据,则需要先使用如下命令对需要创建的基于哈希的分片键先创建哈希索引: db.collection.createIndex() 然后再使用如下命令创建基于哈希的分片键: sh.shardCollection() 扩大带宽是否会对DRS正在进行中的任务产生影响 扩大云连接带宽时需要重建带宽链路,则会导致网络断开,此时是否会对DRS任务产生影响取决于网络断开的时间以及源库IP有没有发生变化。例如针对MySQL引擎而言,如果网络断开1天,而在这1天时间内源库binlog被清理了(MySQL都有binlog清理策略,用户侧自己配置的),就无法进行任务续传,需要重置任务。如果网络中断的时间很短,并且带宽链路更换完成后源库的VPN内的IP地址没有变,则是可以继续续传任务,不会对DRS任务产生影响。