前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】MongoDB复制集中的成员

【赵渝强老师】MongoDB复制集中的成员

原创
作者头像
赵渝强老师
发布2024-08-13 11:57:02
1070
发布2024-08-13 11:57:02
举报
文章被收录于专栏:NoSQL数据库

  MongoDB的复制集中主要包括三个成员,即:主库、从库和仲裁者。一般情况下,MongoDB复制集集群中是一个主库和两个从库。数据库管理员也可以在复制集中添加一个MongoDB的实例,作为复制集的仲裁者。但仲裁者不是必须的。视频讲解如下:

视频内容
  • 主库   在一个MongoDB复制集中,只能存在一个主库用于接收所有写操作请求。MongoDB应用写操作到数据文件中并记录操作的Oplog日志。从库复制主库上的Oplog日志并应用操作到从库中。MongoDB复制集中所有成员都能接收读操作请求。当主库出现了不可用的情况,MongoDB复制集会触发了选举,会从剩下的从库中选择一个新主库。
  • 从库   MongoDB复制集中的从库采用了异步方式从主库上同步Oplog日志信息,并应用日志中操作到从库的数据集中。MongoDB复制集环境中可以存在多个从库。尽管客户端不能往从库上写入数据,但是可以从从库上读取数据。在往MongoDB复制集中添加从库时,可以为从库设置不同的优先级别。当主库出现问题的时候,优先级别越高的从库将会被优先选举会主库。

提示:优先级为0的从库不能被选举为主库。

  在某些情景下,在选举过程中可能有某个瞬间存在多个主库的情况,例如当网络出现问题时。当这种情况出现时,MongoDB复制集会将其中一个主库降级为从库,而对于客户端应用程序来说会察觉到主库降级所造成的数据过期以进行回滚操作。当前从库出现问题的时候,MongoDB复制集还可以对客户端应用程序隐藏从库,从而使得客户端无法访问该从库。

  • 仲裁者   MongoDB复制集中的仲裁者不存储任何数据集合,并且不能被选举成为主库。仲裁者不是必须的,它的存在可以保证MongoDB复制集中成员的个数为奇数,因为它总有一个投票权。作为仲裁者的节点对服务器硬件要求不高,仲裁者还可以用于接收复制集中其他成员发送的心跳检测信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档