MongoDB 4.0 新特性概览
本文介绍 MongoDB 4.0 版本的新特性,更多信息可以查看 官方文档。
内核优化:并发控制与一致性基座
MongoDB 4.0 在内核层面构建了支持 ACID 事务的并发控制体系,并对底层协议进行了系统性的收敛。
事务锁机制与协议标准化
为了支撑高并发下的事务处理,内核引入了专用的事务锁管理机制。事务在获取锁时默认仅等待 5ms,超时即自动中止,并在事务提交或回滚后立即释放资源,配合后台线程严格管理事务的生命周期,有效防止了长事务导致的资源阻塞。在协议层面,内核强制使用 Replica Set Protocol v1,并规定 WiredTiger 存储引擎在副本集中必须开启 Journaling,从根本上消除了数据丢失的隐患,为事务的持久性(Durability)提供了物理保障。此外,内核引入了回滚时间限制参数,防止因数据分歧过大导致的长时间回滚风险。
新特性:事务模型与数据流集成
MongoDB 4.0 实现了架构级的突破,首次在副本集层面引入多文档事务(Multi-Document Transactions),彻底改变了文档型数据库的原子性边界。
多文档 ACID 事务
该特性基于 Session 上下文实现,支持跨多条文档写入的 ACID 原子性。内核强制采用快照读(Snapshot Isolation)模型,通过 readConcern: snapshot 提供一致性的全局视图,且事务内的所有写入操作在提交前对外不可见。为了保障一致性,内核要求事务内的所有操作必须严格路由至同一 Primary 节点,并由 Oplog 保证复制顺序。
Change Stream 深度集成
Change Stream 能力实现了与事务内核的深度打通。变更事件结构新增了事务标识(如 txnNumber),能够准确反映多文档事务的原子性提交顺序,确保下游消费者能够以正确的逻辑处理事务数据。同时,监听范围也得到了扩展,支持数据库级乃至全集群级的变更监听,大幅拓宽了实时数据流在复杂业务场景下的应用能力。
废除与限制项
为了降低内核复杂度并明确事务生态的演进方向,MongoDB 4.0 对遗留架构进行了果断清理。
遗留存储与架构清理
传统的 Master-Slave 复制模型与 Replica Set Protocol v0 被彻底移除,集群高可用架构实现了标准化收敛。在操作限制方面,内核引入了更严格的 Session 约束,规定在 Session 内创建的游标必须在同一 Session 中进行 getMore 操作,以维护上下文的一致性。
