【MyCat简单介绍】

      最后更新:2022-07-31 09:21:53 手机定位技术交流文章

      1)MyCat简介

      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]中使用不同的数据库引擎实现读写分离

      3)主从备份的目的

      实现主备模式
      确保数据安全,尽量避免数据丢失.

      实现读写分离
      利用不同的数据库引擎实现读写分离,提高操作效率 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)中操作一遍,相当于把我们主库中的数据,全部同步到了从库中

      4)逻辑库计划

      Mycat中定义的 database,是逻辑上存在的,但是物理上是不存在的

      该概念主要旨在提供纵向分割

      5)逻辑表

      Mycat中定义的表是逻辑的和物理上不存在的。

      这个概念主要旨在提供跨部门的

      6)默认端口

      MySQL默认端口为3306
      Mycat默认端口为8066
      Tomcat默认端口为8080
      Oracle默认端口为1521
      nginx的默认端口为80
      http协议默认端口80
      默认的调用端口为6379

      7)数据主机 dataHost   (就是存放数据库的服务器的地址)

      物理MySQL存储主机地址,可以通过主机名称、IP或域名定义

      8)数据节点 dataNode (数据库连接地址)

      配置物理的 database, 数据保存的物理节点,就是 database

      9)分片规则

      当控制数据的时候,如何访问物理 database 和 table,就是访问 dataHost 和 dataNode 的算法.

      当Mycat处理特定数据CRUD时,如何访问数据Host和 dataNode算法,例如 Hash算法、crc32算法等。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/31005.html

          热门文章

          文章分类