Mycat的常见⾯试题(全)
⽬录
mysql面试题大全前⾔
define是什么意思中文主要讲解mycat框架的⾯试题
关于mycat的知识框架可看我之前的⽂章
1. 主从复制的原理
这⾥所运⽤到的主从复制主要还是mysql的
1. master将数据的改变记录到⼆进制⽇志(binary log)。这些记录过程叫做⼆进制⽇志事件,binary log events;当数据发⽣改变时,则将
其改变写⼊⼆进制⽇志中;
2. slave会在⼀定时间间隔内对master⼆进制⽇志进⾏探测其是否发⽣改变,如果发⽣改变,则开始⼀个I/OThread请求master⼆进制事
3. 同时主节点为每个I/O线程启动⼀个dump线程,⽤于向其发送⼆进制事件,并保存⾄从节点本地的中继⽇志中,从节点将启动SQL线程从中继
⽇志中读取⼆进制⽇志,在本地重放,使得其数据和主节点的保持⼀致,最后I/OThread和SQLThread将进⼊睡眠状态,等待下⼀次被唤醒。switch造句带翻译
更加详细的了解可看我之前的⽂章
还有和之前框架的主从复制进⾏对⽐
2. 分库分表是什么
垂直分库是指按照业务将表进⾏分类,分布到不同的数据库上⾯
具体原则:
分库,分到不同的主机上,各个主机的数据库不能联表
有紧密关联关系的表应该在⼀个库⾥,相互没有关联关系的表可以分到不同的库⾥
java文本框怎么换行
优点:
拆分后业务清晰,系统之间整合或扩展容易。
缺点:
部分业务表⽆法join,只能通过接⼝⽅式解决,提⾼了系统复杂度。
由于垂直切分是按照业务的分类将表分散到不同的库,所以有些业务表会过于庞⼤,存在单库读写与存储瓶颈,所以就需要⽔平拆分来做解决。
⽔平分表:
将数据的⽔平切分理解为是按照数据⾏的切分,是将表中的某些⾏切分到⼀个数据库,⽽另外的某些⾏⼜切分到其他的数据库中
优点:
不存在单库⼤数据,⾼并发的性能瓶颈。
提⾼了系统的稳定性跟负载能⼒。
缺点:
拆分规则难以抽象。分⽚事务⼀致性难以解决。
数据多次扩展难度跟维护量极⼤。
跨库join性能较差。
3. 全局表,ER表是什么
全局表:数据量少改动少,不需要拆分可当全局表。每个分⽚都会有⼀张相同的表,⼀个字典类数据的表,每个表都有可能⽤到的数据。在进⾏插⼊、更新、删除操作时,会将sql语句发送到所有分⽚上进⾏执⾏,在进⾏查询时,也会把sql发送到各个节点。这样避免了跨库JOIN 操作,直接与本分⽚上的全局表进⾏聚合操作。
ER表:ER表将⼦表的存储位置依赖于主表,并且物理上紧邻存放,因此彻底 解决了 JOIN 的效率和性能问题。⼦表的记录与其关联的⽗表的记录保存在同⼀个分⽚上
补充全局表:
① 全局表的插⼊、更新操作会实时在所有节点上执⾏,保持各个分⽚的数据⼀致性
② 全局表的查询操作,只从⼀个节点获取
③ 全局表可以跟任何⼀个表进⾏ JOIN 操作
字典表具有以下⼏个特性:
① 变动不频繁
② 数据量总体变化不⼤
③ 数据规模不⼤,很少有超过数⼗万条记录
4. 分⽚的规则有什么
织梦是什么有取模、分⽚枚举、范围约定、按⽇期分⽚
5. 全局ID有什么
在实现分库分表的情况下,数据库⾃增主键已⽆法保证⾃增主键的全局唯⼀。为此,Mycat 提供了全局 sequence
本地⽂件
优点:本地加载,读取速度较快
缺点:抗风险能⼒差,Mycat 所在主机宕机后,⽆法读取本地⽂件
数据库⽅式
xml手机用什么软件打开
利⽤数据库⼀个表 来进⾏计数累加。但是并不是每次⽣成序列都读写数据库,这样效率太低。Mycat 会预加载⼀部分号段到 Mycat 的内存中,这样⼤部分读写序列都是在内存中完成的。如果内存中的号段⽤完了 Mycat 会再向数据库要⼀次
时间戳⽅式
全局序列ID= 64 位⼆进制 (42(毫秒)+5(机器 ID)+5(业务编码)+12(重复累加) 换算成⼗进制为 18 位数的
long 类型,每毫秒可以并发 12 位⼆进制的累加。
优点:配置简单
缺点:18 位 ID 过长
6. mycat的核⼼配置⽂件有哪些
7. ⾼可⽤⽅案

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。