MongoDB-复制集同步规则
简介:
初始化同步• 将一个新的节点加入到复制集中时, 就需要进行初始化同步• 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样• 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来• 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等
初始化同步
- 将一个新的节点加入到复制集中时, 就需要进行初始化同步
- 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样
- 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来
- 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等
!> 所以仅仅做一次大型的拷贝是不能保证副节点和主节点一模一样的
同步写库记录
- 每个节点中都有一个 local 数据库, 这个数据库中有一个 oplog 的集合,这个集合就是专门用来保存数据库的操作记录的(写库记录)
- 做完初始化同步之后, 副节点就会定期从主节点中拷贝写库记录, 将写库记录保存到自己的 local 数据库中, 然后执行写库记录中的操作, 从而使得自己的内容和主节点的内容保持高度一致
!> 写库记录是可以被多次应用的, 但是多次应用和一次应用的效果是一样的, 也就是有效的防止了多次应用造成的主节点和副节点内容不一致问题
!> 应用写库记录的时候是通过多线程分批次应用的, 这样大大提高了引用的效率和性能
相关实践学习
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb