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
mariadb面试的更多相关文章
- 在CentOS6.5上安装MariaDB
昨天临下班的时候,在我的阿里云上面试装了PostgreSQL,可后来想想,似乎没什么必要使用他.主要是Navicat使用起来加自增key的时候,没有像MySQL那么方便啦. 因为公司用的已经是MySQ ...
- MySQL面试必考知识点:揭秘亿级高并发数据库调优与最佳实践法则
做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟 ...
- 30 个 OpenStack 经典面试问题和解答
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack.如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试.-- ...
- MariaDB数据库(五)
1. MariaDB主从架构 1.1 概述 主从架构用来预防数据丢失.主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多 ...
- MariaDB数据库(二)
1. MariaDB数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行,尽量使用范围小的,而不用大的. 1.1 常用的数据类型 整数:int,bit ...
- MariaDB数据库(一)
1.数据库简介 1.1 什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方 ...
- MySQL面试问题
1.MySQL的复制原理以及流程 (1).复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2. 从:io线程——在使用start ...
- MariaDB集群配置(主从和多主)
1.mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从 ...
- Python面试-DB相关
昨日回顾: 面试 Python综述 设计哲学 版本变迁及发展 GIL 内存管理及垃圾回收 并发并行 昨日作业一:Python是否存在内存泄露 作业二:过往的项目中有没有出现过性能问题? 作业三:什么是 ...
随机推荐
- 使用TextView和Textedit
1.TextView res/layout 中设置布局文件 hint属性:提示输入信息text属性:与hint的区别---hint仅仅是提示:text是实际的内容讲布局xml文件引入到activit ...
- 简单混合锁(HybridLock)
internal sealed class SimpleHybridLock : IDisposable { //基元用户模式构造使用 ; //基元内核模式构造 private AutoResetEv ...
- python3.6 错误: ModuleNotFoundError:No module named "Crypto"
原因及处理:在使用python是经常会用到import一个第三方库,但是有时候会提示某个模块不存在,如Crypto其实是因为Python3里面这个模块的名字变了, pip install pycryp ...
- monkeyrunner录制和回放功能
脚本录制 网上先是搜索了一下,说是SDK--tools目录下有monkey_recorder.py和monkey_playback.py的脚本,但是我的没有找到所以可以自己编辑个脚本保存即可~ 先编辑 ...
- Web Api(3)
Web API中的路由. 路由机制会把一个请求的URL映射到一个Controller上面的Action.这一点很关键.也就说你发送一个Http请求,MVC框架会解析这个请求的URL,之后尝试把它去映射 ...
- u-boot-2018.09 DTS上 I2C节点的解析 (转)
这篇理下uboot上I2C总线挂载设备的整个流程. 其他总线(如SPI等)应是类同的思路. uboot 中,以max8997挂载到s3c24xx i2c总线为例, dts里面的写法如下 aliases ...
- NoSQL数据库技术实战-第1章 NoSQL的数据一致性 传统关系型数据库的ACID
在看着章节的时候,我简单的回顾了一下关系型数据库的事务处理的ACID原则,其中原子性和持久性比较好理解.由于以前没有深入去研究.关于一致性和隔离性上我产生了疑问,在整理后分析如下: 一致性:书中所 ...
- Linux/Centos查看进程占用内存大小的几种方法总结
1.命令行输入top回车,然后按下大写M按照memory排序,按下大写P按照CPU排序. 2. ps -ef | grep "进程名" ps -e -o 'pid,comm ...
- tbdr+mrt
有关mrt的在tbdr的架构下的内存排布 system memory肯定是dither 我对这里把握比较大 rt0 rgba8 rt1 r8 这样像素排列是rgba8r8rgba8r8rgba8r8. ...
- Acwing-202-最幸运的数字(同余, 欧拉定理)
链接: https://www.acwing.com/problem/content/204/ 题意: 8是中国的幸运数字,如果一个数字的每一位都由8构成则该数字被称作是幸运数字. 现在给定一个正整数 ...