zoukankan      html  css  js  c++  java
  • mariadb面试

    【mariadb主从架构的工作原理】

    主节点写入数据以后,保存到二进制文件中,从节点生成IO线程和sql线程,IO线程请求读取二进制文件;主节点生成的dump线程,将数据发送到中继日志中,sql线程读取中继日志,进行回放,保存在数据库中进行同步。

    mariadb主从架构只有一个从节点的时候会生成一个dump thread,主从架构至少三个thread。当从节点多的时候,主节点就要生成多个dump线程,会对主节点的性能造成影响。

    因此,在主节点和从节点之间加入引擎blackhole(不可读不可写),只用来存储二进制日志文件(串行记录),来减轻主节点的压力。【解决方案】

    在写入二进制文件的时候有一定的延迟,数据大时从节点的同步也必定会有更大的延迟,但是有延迟并不一定代表不好,当有误操作的时候,因为有延迟就可以掐断中间的连接,从而用从节点去恢复数据。

    【异步】一个请求信息发出,不需要等待返回值,就可以进行下一步操作。优点:效率高  缺点:不安全

    【实时同步】一个请求信息发出,必须有一个返回值,才能执行下一步,优点:安全  缺点:效率低

    异步与实时同步是相对的两个概念。

    注意:主从架构是异步的。

    1.【MHA】主机高可用,预防主节点单点故障的解决方案,部在另外的主机

    master high avilable,通过配置文件监控主从架构的,可以监控多个主从架构;当主节点down掉后,MHA会在从节点中选一个代替主节点。

    2.【互为主备】主主架构

    主从架构互为主备的缺点:当sql语句发生冲突时,可能会造成数据的不一致

    优点:解决单点故障

    企业中读的多的时候,或者只读的时候,可以用主主。

    3.【galera集群】多主

    galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性。

    一条事务同时提交,预防单点故障

    优点:没有延迟,保证数据的一致性(实时同步)

    缺点:性能会下降

    协议:wsrep

  • 相关阅读:
    Python练手例子(3)
    Python练手例子(2)
    Python练手例子(1)
    Python学习之旅(三十八)
    《剑指offer》— JavaScript(24)二叉树中和为某一值的路径
    《剑指offer》— JavaScript(23)二叉搜索树的后序遍历序列
    《剑指offer》— JavaScript(22)从上往下打印二叉树
    《剑指offer》— JavaScript(21)栈的压入、弹出序列
    《剑指offer》— JavaScript(20)包含min函数的栈
    《剑指offer》— JavaScript(19)顺时针打印矩阵
  • 原文地址:https://www.cnblogs.com/daisyyang/p/10911021.html
Copyright © 2011-2022 走看看