什么是Mycat?
官⽅⽹站:http://www.mycat.org.cn/ http://www.mycat.io/
db proxy Mycatnode
Mycat架构mysql
Mycat核⼼概念
Schema:由它指定逻辑数据库(至关于MySQL的database数据库)
Table:逻辑表(至关于MySQL的table表)
DataNode:真正存储数据的物理节点
DataHost:存储节点所在的数据库主机(指定MySQL数据库的链接信息)
User:MyCat的⽤户(相似于MySQL的⽤户,⽀持多⽤户)linux
Mycat主要解决的问题
海量数据存储
查询优化算法
Mycat对多数据库的⽀持sql
Mycat分⽚策略
MyCAT⽀持⽔平分⽚与垂直分⽚:
⽔平分⽚:⼀个表格的数据分割到多个节点上,按照⾏分隔。
垂直分⽚:⼀个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。
MyCAT经过定义表的分⽚规则来实现分⽚,每一个表格能够捆绑⼀个分⽚规则,每一个分⽚规则指定⼀个分⽚字段并绑定⼀个函数,来实现动态分⽚算法。
1.Schema:逻辑库,与MySQL中的Database(数据库)对应,⼀个逻辑库中定义了所包括的Table。
2.Table:表,即物理数据库中存储的某⼀张表,与传统数据库不一样,这⾥的表格须要声明其所存储的逻辑数据节点DataNode。在此能够指定表的分⽚规则。
3.DataNode:MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分⽚节点,经过DataHost来关联到后端某个具体数据库上
4.DataHost:定义某个物理库的访问地址,⽤于捆绑到Datanode上数据库
Mycat安装
注意:须要先安装jdk(操做系统若是是64位,必须安装64位的JDK)
第⼀步:下载MyCat
wget http://dl.mycat.io/1.6-RELEAS...
第⼆步:解压缩,获得mycat⽬录
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
第三步:进⼊mycat/bin,启动MyCat后端
第四步:访问Mycat
使⽤mysql的客户端直接链接mycat服务。默认服务端⼝为【8066】
mysql -uroot -p123456 -h127.0.0.1 -P8066架构