云服务器内容精选

  • 分片设计规范 对于使用DDS分片集群,建议尽可能的使用分片集合以充分利用性能,详情请参见设置数据分片以充分利用分片性能。 分片集合使用上建议如下: 对于大数据量(数据量过百万),并有较高读写请求的业务场景,数据量随着业务量增大而增大的,建议采用分片。 对于采用hash分片的集合,需要根据业务后面实际数据量大小,采用预分片,提前预置chunk数量,减少自动均衡和分裂对业务运行造成影响。 对于非空集合开启分片,应将均衡器的开启时间窗放在业务空闲时,避免分片间均衡数据与业务冲突影响性能。设置时间窗口的API接口详情请参见设置集群均衡活动时间窗。 需要基于分片键排序查询且增加数据时可以分布均匀建议使用范围分片,其他使用哈希分片。 合理设计shard key,防止出现大量的数据使用相同shard key,导致出现jumbo chunk。 使用分片集群,执行dropDatabase后,一定要执行flushRouterConfig命令,详情请参见如何规避dds mongos路由缓存缺陷。 业务的update请求需要注意与片键相适配。在使用分片表时,如果出现如下场景则update请求会报错,并返回“An upsert on a sharded collection must contain the shard key and have the simple collation”。 update请求的filter中未携带片键字段且选项multi:false set中未携带片键字段且选项upsert:true
  • 术语约定 本规范采用以下的术语描述: 规格:数据库规格,编程、设计必须遵守的原则,否则数据库将报错。 规则:编程、设计强制必须考虑遵守的原则。 建议:编程、设计必须推荐加以考虑的原则。 说明:对规则或建议进行必要的解释。 示例:对规则或建议进行或正或反方面的举例。 分片:将一个表中的数据按照指定的策略拆分并存储至多个DN上的同名表中,这些表中存储的数据互不重叠,可以理解为“表的水平分库”,举例:t_user表按主键userId Hash拆分到 GaussDB 的4个不同DN中就是4个分片,每个分片内都有一张同名的t_user表。