什么是Mycat?
官⽅⽹站:http://www.mycat.org.cn/ http://www.mycat.io/
db proxy Mycat

Mycat架构
image.png

Mycat核⼼概念
Schema:由它指定逻辑数据库(相当于MySQL的database数据库)
Table:逻辑表(相当于MySQL的table表)
DataNode:真正存储数据的物理节点
DataHost:存储节点所在的数据库主机(指定MySQL数据库的连接信息)
User:MyCat的⽤户(类似于MySQL的⽤户,⽀持多⽤户)

Mycat主要解决的问题
海量数据存储
查询优化

Mycat对多数据库的⽀持
image.png

Mycat分⽚策略
MyCAT⽀持⽔平分⽚与垂直分⽚:
⽔平分⽚:⼀个表格的数据分割到多个节点上,按照⾏分隔。
垂直分⽚:⼀个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。
image.png
image.png
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 start
  • 停⽌命令:./mycat stop
  • 重启命令:./mycat restart
  • 查看状态:./mycat status

第四步:访问Mycat
使⽤mysql的客户端直接连接mycat服务。默认服务端⼝为【8066】
mysql -uroot -p123456 -h127.0.0.1 -P8066


晗宝
175 声望218 粉丝

一个男人要保护好:脚下的土地,家里的父母,怀里的女人,身边的兄弟!!!


下一篇 »
Mycat分⽚