MongoDB 3.0 与 4.0 的逐步比较

1. 发布日期
  • MongoDB 3.0:2015年3月
  • MongoDB 4.0:2018年6月
2. 存储引擎
  • MongoDB 3.0:引入了WiredTiger存储引擎,相比默认的MMAPv1引擎,性能、并发性和压缩性能显著提升,支持文档级锁定,减少了争用,提高了写入密集型工作负载的性能。
  • MongoDB 4.0:延续并优化了WiredTiger存储引擎,并对其性能进行了进一步提升。
3. 多文档ACID事务
  • MongoDB 3.0:不支持多文档ACID事务。
  • MongoDB 4.0:引入了多文档ACID事务,简化了复杂工作流的建模,确保了多个文档和集合间的数据完整性。
4. 聚合框架
  • MongoDB 3.0:提供了基本的聚合操作,但功能较为有限。
  • MongoDB 4.0:增强了聚合框架,支持类型转换,允许更复杂的数据转换操作。
5. 变更流
  • MongoDB 3.0:不支持变更流。
  • MongoDB 4.0:引入了变更流功能,实时通知集合数据的变更,对构建响应式应用程序非常有用。
6. 分片事务
  • MongoDB 3.0:不支持分片集群中的ACID事务。
  • MongoDB 4.0:支持跨分片集群的ACID事务,提供了更高的灵活性和一致性。
7. 可重试写入
  • MongoDB 3.0:不支持可重试写入。
  • MongoDB 4.0:新增了可重试写入功能,在网络短暂错误时自动重试写操作,提高了写入操作的可靠性。
8. 数据类型与查询
  • MongoDB 3.0:支持基本的数据类型和查询操作。
  • MongoDB 4.0:引入了新数据类型,增强了查询能力,如$jsonSchema验证、新的数组操作符及现有操作符的改进。
9. 性能改进
  • MongoDB 3.0:引入了显著的性能改进,特别是在索引创建和管理方面。
  • MongoDB 4.0:进一步优化了性能,包括更好地处理大数据集和更高效的查询执行。
10. 安全性
  • MongoDB 3.0:引入了SCRAM-SHA-1认证机制,改进了SSL/TLS支持和增强的基于角色的访问控制(RBAC)。
  • MongoDB 4.0:进一步增强了安全功能,包括更严格的默认配置、增强的审计功能和更好的加密支持。

结论

MongoDB 3.0 通过引入WiredTiger存储引擎和改进的管理与安全功能,实现了显著的性能提升。而MongoDB 4.0 则在此基础上,通过支持多文档ACID事务、增强的聚合功能以及性能和安全性的进一步优化,提供了更强大的功能和更高的可靠性。特别是多文档事务和跨分片事务的支持,对于需要复杂操作和强一致性保证的应用程序尤为重要。