且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MongoDB 3.4 复制集全量同步改进

更新时间:2021-09-15 06:12:40

3.2版本复制集同步的过程参考MongoDB 复制集同步原理解析

在 3.4 版本里 MongoDB 对复制集同步的全量同步阶段做了2个改进

  • 在拷贝数据的时候同时建立所有的索引,在之前的版本里,拷贝数据时会先建立_id索引,其余的索引在数据拷贝完之后集中建立
  • 在拷贝数据的同时,会把同步源上新产生的oplog拉取到本地local数据库的临时集合存储着,等数据全量拷贝完,直接读取本地临时集合的oplog来应用,提升了追增量的效率,同时也避免了同步源上oplog不足导致无法同步的问题。

MongoDB 3.4 复制集全量同步改进

上图描述了这2个改进的效果,实测了『10GB的数据,包含64个集合,每个集合包含2个索引字段,文档平均1KB』,3.4版本的全量同步相比3.2版本性能约有20%的提升,如果数据集很大,并且在同步的过程中有写入,提升的效果会更明显,并且彻底解决了因同步源oplog不足而导致全量同步失败的问题。

基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁移完全透明化。并提供专业的数据库在线扩容、备份回滚、性能优化等解决方案。