千家信息网

MYSQL MONGODB REDIS 同步原理以及高可用性对比

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,MySQL1、异步复制:2、半同步复制:同步出现超时后会自动变回异步复制;MongoDBMongoDB的副本集是一组mongod进程的集合,提供冗余和高可用性。最小的的副本集包含(1个primary、
千家信息网最后更新 2026年11月03日MYSQL MONGODB REDIS 同步原理以及高可用性对比

MySQL

1、异步复制:

2、半同步复制:同步出现超时后会自动变回异步复制;


MongoDB

MongoDB的副本集是一组mongod进程的集合,提供冗余和高可用性。最小的的副本集包含(1个primary、1个secondary和1个arbiter),大多数的部署包含3个节点(1个primary、2个secondary)。副本集最多可以支持12个节点,超过则需要使用主从架构。

primary:接收所有客户端的写操作。每个副本集只能存在一个primary,为了支持数据复制,primary的所有改变数据的操作都会记录在oplog中。

secondary:通过复制primary的oplog并且重放oplog保持和primary的数据一致性(异步的有延时)。当主不可用的时候,副本集会从secondary中选出一个作为primary。默认所有的read操作也会指向primary,但是可以通过配置将read操作指向secondary(因为复制数据有延迟所以无法保证保证数据strict consistency)。可以通过配置priority来空值变成primary的优先级,priority=0表示不能成为primary,另外还可以配置隐藏的副本成员。

arbiter:arbiter不存储数据,仅仅用来来选举primary。当集群节点偶数的时候,通过添加一个artiber来获取一个投票最多的secondary作为primary。arbiter不需要特殊的硬件。

Replica Set Elcetions:选举的过程中,副本集因为没有primary所以不接手写操作,并且所有成员都是只读的。如果副本集的大多数成员不可用,副本集将选不出primary。

Heartbeats:副本集成员每2秒钟给其他的成员发一个heartbeats(pings),如果一个心跳10秒钟没有收到响应,心跳的发送方将会把心跳的接收方标为不可到达的。



副本集特性:异步、自动故障切换;

可以设置一种类似于MySQL半同步的功能,可以指定多少台台节点完成写操作同步后才返回,有超时时间。




一个典型的副本集结构


Redis






MySQL和MongoDB对比

MySQL存在半同步复制,MongoDB也存在半同步复制。



副本 同步 数据 成员 节点 配置 可以通过 指向 时候 保证 支持 选举 可用性 最小 特殊 一致 一致性 主从 优先级 偶数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 为想互联网科技怎么样 科技和互联网公司 与互联网科技公司 深圳齐家互联网科技 善班互联网科技有限公司 润盈互联网科技 互联网企业和科技型企业 互联网时代科技改变生活 成都互联网科技公司工作好不好 中国互联网十大科技股排名 佛山市翊博互联网络科技有限公司 互联网科技和法律行业 互联网方面的科技前沿 互联网金融科技公司的优势 工业互联网科技成果转化 郑州欣桑互联网科技有限公司 广州梦谷互联网科技有限公司领导 吉林省码上互联网科技电话 广州智享互联网科技 耶加雪菲 互联网新科技 湖南永感互联网科技有限公司 互联网品科技 哈尔滨新华互联网科技学院 荆州市昕露互联网络科技有限公司 米聚互联网科技南京有限公司排面 卓翼科技产业互联网合作 承德科技产业互联网平台 互联网科技创业计划的风险分析
0