一MyCat简介
java编写的数据库中间件
Mycat运行环境需要JDK.
Mycat是中间件.运行在代码应用和MySQL数据库之间的应用.
前身 : corba. 是阿里开发的数据库中间件.实现MySQL数据库分库分表集群管理的中间件.曾经出现过重大事故. 二次开发,形成Mycat.
使用MyCat之后,编写的所有的SQL语句,必须严格遵守SQL标准规范.
insert into table_name(column_name) values(column_value);
使用MyCat中间件后的结构图如下:
1) MyCat术语简介
切分:
逻辑上的切分. 在物理层面,是使用多库[database],多表[table]实现的切分.
横向切分:
把一个表切分成多个表,配置麻烦;无法实现表连接查询.
将一张表的字段,分散到若干张表中,将若干表连接到一起,才是当前表的完整数据。
纵向切分:
把一个数据库切分成多个数据库,配置方便,只能实现两张表的表连接查询.
将一张表中的数据,分散到若干个database的同结构表中。多个表的数据的集合是当前表格的数据。
逻辑库:
逻辑表:
总结分库分表,逻辑库逻辑表:
端口号:
默认端口号为8806
数据主机 - dataHost
物理MySQL存放的主机地址.可以使用主机名,IP,域名定义.(真实的mysql)
数据节点 - dataNode
物理的database是什么.数据保存的物理节点.就是database.(真实的数据库)
分片规则:
当控制数据的时候,如何访问物理database和table.
就是访问dataHost和dataNode的算法.
在Mycat处理具体的数据CRUD的时候,如何访问dataHost和dataNode的算法.如:哈希算法,crc16算法等.
二Mysql主从复制: