本文汇总云数据库 MongoDB 在功能与特性方面的高频问题,涵盖存储引擎、节点能力、权限、oplog、空间回收、监控与维护时间窗等。
云数据库 MongoDB 使用哪种存储引擎?
云数据库 MongoDB 现行版本统一采用 WiredTiger 存储引擎。WiredTiger 提供文档级并发控制和数据压缩能力,是当前各版本(4.x - 8.0)的默认且唯一对外引擎。
云数据库 MongoDB 与自建 MongoDB 相比有哪些优势?
相比在云服务器上自建 MongoDB,云数据库 MongoDB 提供开箱即用的高可用架构、自动备份与回档、监控告警、弹性扩缩容、安全防护和专业运维支持,免去自行搭建和维护集群的成本。详细对比请参见 产品优势。
云数据库 MongoDB 是否支持调整节点数量?
oplog 大小是多少?是否可以调整?
oplog 用于记录数据变更并支撑主从同步与回档。
默认大小为实例容量的 10%,可在控制台按需调整其占实例容量的比例。
oplog 存储在实例内部,会占用实例的购买容量。
oplog 越大,可支撑的回档/同步时间窗越长,但占用的可用容量也越多,请按需设置。
为什么删除数据后磁盘空间没有立即回收?
这是 WiredTiger 引擎的空间管理机制所致。除直接删除整个数据库或集合(drop)外,删除文档不会立即把空间归还给操作系统,被删除文档占用的空间会保留供该集合后续写入复用。
如需主动回收空间,可对集合执行
compact 整理操作回收碎片(会消耗较多资源,建议在业务低峰期进行)。需注意:compact 作用于单个节点,副本集可直接在节点上执行;分片集群不支持通过 mongos 路由执行,需登录各分片分别处理。磁盘使用率达到 100% 会发生什么?
实例将进入写封禁(只读)状态:
不可写入数据,尝试写入的连接会被关闭。
仍可执行读操作。
监控显示内存占用率很高,是否正常?
正常现象。 WiredTiger 引擎会尽量利用可用内存作为缓存(Cache)以提升读写性能,因此内存使用率偏高属于预期行为,并不代表内存不足。只要业务运行平稳、无明显性能下降,无需干预。
云数据库 MongoDB 开放了哪些角色权限?
为保障实例稳定与安全,平台开放了常用的数据库管理与读写角色(如
readWriteAnyDatabase、dbAdminAnyDatabase 等)。您可以在控制台进行账号与权限管理,按库粒度为账号分配读写权限。具体请参见 角色管理。云数据库 MongoDB 是否支持免密码(免认证)访问?
如何获取实例的慢日志?
云数据库 MongoDB 是否支持维护时间窗?
如何从从节点导出数据(dump 优先读取从节点)?
在
mongodump 命令中追加 --readPreference=secondaryPreferred 参数,即可优先从从节点读取数据进行导出,避免对主节点造成压力。云数据库 MongoDB 支持哪些版本?
云数据库 MongoDB 当前支持的内核版本包括 4.0、4.2、4.4、5.0、6.0、7.0、8.0 等(不同地域、不同规格类型在售版本可能有差异,以购买页实际展示为准)。早期的 3.2、3.6 版本已停止销售。
云数据库 MongoDB 的默认账号是什么?
新建实例默认提供管理账号 mongouser:
采用
SCRAM-SHA-256 / SCRAM-SHA-1 认证方式。默认具备读写任意数据库与数据库管理的权限,但不具备 root 等高危操作权限。