最后更新:2022-07-31 09:21:53 手机定位技术交流文章
MyCat是MySQL库表的一个实用工具
MyCat的核心功能是存储表,其中配置数据库的主源模式也可以单独读写
我的猫是什么?
MyCat是目前最受欢迎的数据库中间体,写在Java语言中,实现MySQL协议的服务器, front end 用户可以把它当作数据库代理,使用MySQL客户端工具和命令行,该后端可用于使用MySQL本地协议与多个MySQl服务器进行通信,您也可以使用JDBC协议与大多数主流数据库服务器进行通信,它的核心功能是分开图书馆表.也可以利用数据库的主源模式实现读写分离。
MyCat是基于Ali的开放源代码Cobar产品开发的,Cobar的稳定性、可靠性、卓越的架构和性能以及众多成熟的使用案例使得MyCat非常强大。
主存储器必须处理添加 、 删除和修改.支持事物的InnoDB引擎
从库中只使用查询操作,使用MyISAM引擎查询效率更高
读写分离
原理:需要搭建主从模式,让主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库(slave)处理SELECT查询操作。
Mycat结合数据库本身的复制函数来解决读写分离的问题。
主从备份概念
什么是主备份:它是主备份模式的数据库应用程序
2、主库(Master)数据 与 备库(Slave)数据 完全一致
3.多份数据备份以确保数据安全
您可以在Master[InnoDB]和Slave[MylSAM]中使用不同的数据库引擎实现读写分离
实现主备模式
确保数据安全,尽量避免数据丢失.
实现读写分离
利用不同的数据库引擎实现读写分离,提高操作效率 JinnoDB使用DML语法操作 MyIlSAM使用DQL语法操作。
主库操作同步到备库
所有对 Master 的操作,都会同步到 Slave 中.
如果 Master(主库) 和 Salve(备库) 天生上环境不同,那么对 Master 的操作,可能会在 Slave 中出现错误。
如在创建主从模式之前,Master 有 database : db1、db2、db3。 Slave 有 database: db1、db2。
创建一个从模式的主人,其中主人和奴隶是本质上不同的。
主从模式创建成功后, 在 Master 中 drop database db3.
Slave 中抛出数据库SQL异常。后续所有的命令不能同步,一旦出现错误,只能重新实现主从模式。
从模式下的逻辑图:
解释:在过程中保持数据一致性
主库(Master)每次数据变更的时候,都会写入到 二进制日志文件 Binary log 中然后从库(Slave)会启动一个 I/O线程(I/O thread)去读取主库(Master)里面 二进制的日志文件 Binary log读取过来之后,它就会写入到 从库(Slave)对应的 日志文件 Relay log 中然后 从库(Slave)中有一个专门的 SQL 线程(SQL thread)去读取 Relay log 日志文件读取过来之后,根据 Relay log 日志的内容,把相应的命令在我们的 从库(Slave)中操作一遍,相当于把我们主库中的数据,全部同步到了从库中

Mycat中定义的 database,是逻辑上存在的,但是物理上是不存在的
该概念主要旨在提供纵向分割
Mycat中定义的表是逻辑的和物理上不存在的。
这个概念主要旨在提供跨部门的
MySQL默认端口为3306Mycat默认端口为8066Tomcat默认端口为8080Oracle默认端口为1521nginx的默认端口为80http协议默认端口80默认的调用端口为6379
物理MySQL存储主机地址,可以通过主机名称、IP或域名定义
配置物理的 database, 数据保存的物理节点,就是 database
当控制数据的时候,如何访问物理 database 和 table,就是访问 dataHost 和 dataNode 的算法.
当Mycat处理特定数据CRUD时,如何访问数据Host和 dataNode算法,例如 Hash算法、crc32算法等。
本文由 在线网速测试 整理编辑,转载请注明出处。