## MySQL的复制原理以及流程 > 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; > 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; > 3. 从:sql执行线程——执行relay log中的语句; ## MYSQL主从复制延迟问题如何解决 > 直接使用mysql 5.7+版本即可,真正解决了并行同步问题 > 不过再怎么解决也会有微秒级别的延迟,所以这个时候我们如果要对某一数据操作时(需根据读取的内容进行判断操作),可在最开始**指定操作主节点连接**,这样就不存在数据不一致问题; ## MYSQL分表分库分区应用场景 > 主要是为了解决大数据读取的问题。 > 是分库还是分表,主要取决于业务逻辑,如果业务逻辑不是很相关的,可以分库,比如日志数据。 > 如果是分表,也可以采用分区,只不过分区在高并发上面容易出现锁冲突问题。 ## MYSQL数据库引擎区别详解 > 常用的有两个:MyISAM(默认) 和 InnoDB。 > 区别:InnoDB支持事务,MyISAM不支持,但运行读取速度更快。 ## 你知道nosql吗?你用的nosql都有哪些? > 非关系型数据库的都统称为nosql。 > 常用的nosql有:Redis/MangoDB > Redis:k-v数据库,支持很多类型:如 字符串string/哈希(Hash)/集合(Set)/有序集合(sorted set)/列表(List) > MangoDB:一种类似于json的文档型数据库,k-v方式。不支持JOIN,但可以通过嵌入(embed)冗余方式来实现(原数据修改,需要进行同步)。 > **集合** 相当于 表。 > **文档 **相当于 数据,插入到集合中,json里的键值对 相当于 字段 > **查询** 使用json > 参考文章:https://www.runoob.com/mongodb/mongodb-tutorial.html > 快速入门:https://www.yiibai.com/mongodb/mongodb_quick_guide.html > php7安装以及使用教程:https://www.runoob.com/mongodb/php7-mongdb-tutorial.html > mongodb 多表关联处理(embed->主推/DBref/lookup):https://www.cnblogs.com/GtShare/p/7736603.html > yii2 mongodb: https://www.cnblogs.com/dcb3688/p/4608028.html