mariadb面试

【mariadb主从架构的工做原理】sql

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

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

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

在写入二进制文件的时候有必定的延迟,数据大时从节点的同步也一定会有更大的延迟,可是有延迟并不必定表明很差,当有误操做的时候,由于有延迟就能够掐断中间的链接,从而用从节点去恢复数据。异步

【异步】一个请求信息发出,不须要等待返回值,就能够进行下一步操做。优势:效率高  缺点:不安全性能

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

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

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

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

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

 

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

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

优势:解决单点故障

企业中读的多的时候,或者只读的时候,能够用主主。

3.【galera集群】多主

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

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

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

缺点:性能会降低

协议:wsrep

相关文章
相关标签/搜索