如何通过设置数据分片来提升性能 本章节主要介绍如何通过设置数据分片来提升性能 操作场景 对于DDS分片集群实例,如果某个集合的存储量很高,建议对该集合设置数据分片。分片是将数据按照某种方式拆分,将其分散存放在不同的机器上,以充分利用各分片节点的存储空间和计算性能。 操作步骤 下面以数据库mytable,集合mycoll,字段“name”为分片键举例说明。 1.通过mongo shell登录分片集群实例。 2.对集合所属的数据库启用分片功能。 方式一 sh.enableSharding("") 示例: sh.enableSharding("mytable") 方式二 use admin db.runCommand({enablesharding:""}) 3.对集合进行分片。 方式一 sh.shardCollection(".",{"": }) 示例: sh.shardCollection("mytable.mycoll",{"name":"hashed"}) 方式二 use admin db.runCommand({shardcollection:".",key:{"keyname": }}) 表 参数说明 参数 说明 数据库名称。 集合名称。 分片键。DDS集群根据该值进行数据分片,请结合具体业务选择合适的分片键。 基于分片键的范围查询的排序方式。· 1:表示索引升序。· 1:表示索引降序。· hashed:表示使用Hash分片,通常能将写入均衡分布到各个分片节点。数据分布策略详情请参见选择合适的数据分布策略。 更多信息,请参见sh.shardCollection()。 4.查看数据库在各分片节点的数据存储情况。 sh.status() 示例: