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也存在半同步复制。

redis mysql原理_MYSQL MONGODB REDIS 同步原理以及高可用性对比相关推荐

  1. redis mysql 事务_Mysql与Redis事务

    Mysql事务ACID基于日志 AC:回滚日志实现回滚(原子性) D:重做日志实现持久化 I:加锁实现隔离级别  (MVVC无锁机制也可实现可重复读) 读未提交 存在问题:脏读(外部select事务内 ...

  2. Linux企业化运维--(7)redis服务之redis配置及主从复制、主从自动切换、集群、redis+mysql、gearman实现数据同步

    Linux企业化运维 实验所用系统为Redhat-rhel7.6. 目录 Linux企业化运维 Linux企业化运维--(7)redis服务之redis配置及主从复制.主从自动切换.集群.redis+ ...

  3. 【mysql进阶】MTS主从同步原理及实操指南(七)

    0.引言 随着业务场景的深入和请求量的剧增,单库实现读写越来越趋近瓶颈,于是我们想到搭建主从库,主库负责写,从库负责读,从而实现读写分离,提高查询效率. 但是主从库之间的数据如何同步呢?很明显我们写入 ...

  4. mysql show 原理_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中  有一个整体的认识,如下图 如上图所示, ...

  5. mysql提交事务_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中有一个整体的认识,如下图 如上图所示,My ...

  6. Mysql drop table 原理_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中 有一个整体的认识,如下图 如上图所示,M ...

  7. java读取mysql配置文件_MySql主从复制,从原理到实践

    推荐阅读: 成功斩获头条offer,Java程序员心得分享给你春招助力 摘要 本文将从MySql主从复制的原理出发,详细介绍MySql在Docker环境下的主从复制搭建,以一个主实例和一个从实例实现主 ...

  8. mysql数据库主从同步的原理_mysql数据库主从同步复制原理

    MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能.更高可靠性要求的场合.与之对应的是另一个同步技术是MySQ ...

  9. mysql主从和dump_MySQL主从同步--原理及实现(一)

    1.什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 2.主从同步有什么好处?水平扩展数据库的负载能力. 容错,高可用.Failover( ...

最新文章

  1. navicat 几个 可用的东西
  2. 数据库建表赋予权限语句
  3. UWP开发---通过委托跨页面导航
  4. [推荐系统实践_项亮] 第一章:好的推荐系统
  5. BugKu web题目(bp)弱密码top1000
  6. # 图书管理系统案例练习
  7. html点击某部分后弹出展开,点击按钮弹出框并显示内容
  8. 影视剪辑,零基础如何自学入门剪辑,视频剪辑入门规划
  9. 如何制作网站_如何制作自己的网站
  10. DINO Emerging Properties in Self-Supervised Vision Transformers 论文阅读
  11. 实验二十三——RPL协议仿真实验
  12. C专家编程 第6章 运动的诗章:运行时数据结构 6.3 操作系统在a.out文件里干了些什么
  13. 9.2.3 将警告视为错误
  14. 浅谈设计模式(一)策略模式
  15. 0、PIC系列参考手册中文版文档汇总
  16. oracle11g-R2数据库的逻辑备份
  17. JDK8新特性01-Lambda表达式
  18. matlab具有复数,MATLAB:具有复数的printmat
  19. 1080p笔记本哪个linux,System76经典Linux笔记本Lemur Pro回归 采用14.1英寸1080p显示屏
  20. thinkphp框架配置验证是否登录公共函数的方法

热门文章

  1. ES5 every/some/reduce/reduceRight的使用与重写
  2. tar只解压tar包中某个文件
  3. 智能时代 软件赋能——2017中国软件技术大会
  4. error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
  5. Drbd+Pacemaker实现高可用
  6. Cobub无码埋点关键技术的实现
  7. 看网络电子围栏如何做好周界安防
  8. Product文本格式说明
  9. 机器学习——深度学习之编程工具、流行网络结构、卷积神经网络结构的应用
  10. Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev