MongoDB-复制集同步规则

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 初始化同步• 将一个新的节点加入到复制集中时, 就需要进行初始化同步• 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样• 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来• 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等

初始化同步

  • 将一个新的节点加入到复制集中时, 就需要进行初始化同步
  • 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样
  • 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来
  • 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等


!> 所以仅仅做一次大型的拷贝是不能保证副节点和主节点一模一样的


同步写库记录

  • 每个节点中都有一个 local 数据库, 这个数据库中有一个 oplog 的集合,这个集合就是专门用来保存数据库的操作记录的(写库记录)
  • 做完初始化同步之后, 副节点就会定期从主节点中拷贝写库记录, 将写库记录保存到自己的 local 数据库中, 然后执行写库记录中的操作, 从而使得自己的内容和主节点的内容保持高度一致


!> 写库记录是可以被多次应用的, 但是多次应用和一次应用的效果是一样的, 也就是有效的防止了多次应用造成的主节点和副节点内容不一致问题


!> 应用写库记录的时候是通过多线程分批次应用的, 这样大大提高了引用的效率和性能

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 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
目录
相关文章
|
8月前
|
NoSQL MongoDB
MongoDB-复制集搭建
在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:
59 0
|
2月前
|
NoSQL Linux MongoDB
centos7搭建MongoDB以及MongoDB复制集
centos7搭建MongoDB以及MongoDB复制集
42 0
|
8月前
|
数据库
MongoDB-复制集投票节点
?> 投票节点就是不保存任何数据, 只参与投票的节点
49 0
|
4月前
|
SQL 分布式计算 NoSQL
快速实践: 通过 Flink CDC 一键整库同步 MongoDB 到 Paimon
Apache Paimon (incubating) 是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。
76563 4
快速实践: 通过 Flink CDC 一键整库同步 MongoDB 到 Paimon
|
5月前
|
监控 NoSQL MongoDB
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架构环境搭建-mtools
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。它由MongoDB原生的工程师单独发起并进行开源维护。mtools包含了一些常用的组件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以帮助我们更方便地启动和创建MongoDB数据库。
|
5月前
|
监控 NoSQL 安全
轻松掌握组件启动之MongoDB(下):高可用复制集架构环境搭建
本章介绍了MongoDB复制集的配置和使用方法,如何初始化和添加节点到复制集,验证主节点的写入和从节点的读取功能。了解如何查询复制集的状态,包括成员的健康状况、同步信息和角色等。最后,我们介绍了如何配置复制集的安全认证,包括创建用户和生成keyFile文件,并演示了使用认证信息连接复制集的方式。通过本章的学习,你将掌握MongoDB复制集的基本使用和配置方法。
|
5月前
|
存储 NoSQL 容灾
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
本文介绍了MongoDB复制集的架构和特点,强调了使用复制集提供数据的高可用性和冗余性的重要性。复制集由Primary节点和Secondary节点组成,确保数据一致性。复制集还具有数据分发、读写分离和异地容灾等附加功能。使用MongoDB复制集可以提供稳定可靠的数据存储和高可用性。
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
|
7天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
10天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
138 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
1月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】