华为云 DDS 文档数据库入门:MongoDB 兼容、索引与副本集高可用实践
【摘要】 介绍华为云文档数据库 DDS(兼容 MongoDB)的副本集架构、连接方式、索引设计与聚合查询,结合半结构化场景讲清何时该用它、怎么用好它。
一、什么时候选文档数据库
当数据结构字段多变、层级嵌套(如商品属性、内容详情、用户画像),关系型建模很别扭。文档数据库用类 JSON 文档直接存储,迭代快。华为云 DDS 完全兼容 MongoDB 协议。
二、副本集架构
DDS 默认三节点副本集:一主两从,主节点读写、从节点复制、故障自动选举。写关注设为 majority 可保证写入多数节点后确认。
三、连接与索引
- 生产走 VPC 内网,安全组限制来源;
- 为高频查询字段建索引,但索引越多写入越慢;
- 用 explain() 看是否命中索引(IXSCAN 而非 COLLSCAN)。
四、聚合与分页
聚合管道把统计下推到数据库;深分页避免大 skip,改用基于上一页最后一条 _id/时间的游标分页。
五、避坑
- 文档不要无限增长(逼近 16MB 上限);
- 频繁更新的数组字段易重写,必要时拆子集合;
- 开启慢查询日志定期审视。
六、小结
副本集高可用、索引合理、分页方式三件事做好,兼顾灵活与性能。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)