MySQL⾼可⽤:mysql+mycat实现数据库分⽚(分库分表)
什么是MYCAT:
⼀个彻底开源的,⾯向企业应⽤开发的⼤数据库集
⽀持事务、ACID、可以替代MySQL的加强版数据库
⼀个可以视为MySQL集的企业级数据库,⽤来替代昂贵的Oracle集
⼀个融合内存缓存技术、NoSQL技术、HDFS⼤数据的新型SQL Server
结合传统数据库和新型分布式数据仓库的新⼀代企业级数据库产品
⼀个新颖的数据库中间件产品
Mycat关键特性 :
⽀持SQL92标准
遵守Mysql原⽣协议,跨语⾔,跨平台,跨数据库的通⽤中间件代理。
基于⼼跳的⾃动故障切换,⽀持读写分离,⽀持MySQL主从,以及galera cluster集。
⽀持Galera for MySQL集,Percona Cluster或者MariaDB cluster
基于Nio实现,有效管理线程,⾼并发问题。
⽀持数据的多⽚⾃动路由与聚合,⽀持sum,count,max等常⽤的聚合函数,⽀持跨库分页。
⽀持单库内部任意join,⽀持跨库2表join,甚⾄基于caltlet的多表join。
⽀持通过全局表,ER关系的分⽚策略,实现了⾼效的多表join查询。
⽀持多租户⽅案。
⽀持分布式事务(弱xa)。
mongodb和mysql结合⽀持全局序列号,解决分布式下的主键⽣成问题。
分⽚规则丰富,插件化开发,易于扩展。
强⼤的web,命令⾏监控。
⽀持前端作为mysq通⽤代理,后端JDBC⽅式⽀持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
⽀持密码加密
⽀持服务降级
⽀持IP⽩名单
⽀持SQL⿊名单、sql注⼊攻击拦截
⽀持分表(1.6)
集基于ZooKeeper管理,在线升级,扩容,智能优化,⼤数据处理(2.0开发版)。
( )
JDK 下载(建议要求jdk7及以上):
Linux x86 147.68 MB
MyCAT 相关:
既然 mycat 那么强⼤,那就测试看看:
#测试环境:
# 有3张表 users,item,item_detail (item 的⼦表) 和 3 个数据库 db01,db02,db03
# 表 users 存储在数据库 db01, 表 item 和 item_detail 分布存储在数据 db01 和 db02 # 现在在3个数据库都创建相同的表
1.
create
database db01;
create
database db02;
3.
create
database db03;
4.
5.
CREATE
TABLE
users (
6.
id
INT
NOT
NULL AUTO_INCREMENT, 7.
name
varchar(
50)
NOT
NULL
default
'',
8.
indate DATETIME
NOT
NULL
default
'0000-00-00 00:00:00',
9.
PRIMARY
KEY (
id)
10.
)AUTO_INCREMENT=
1
ENGINE=
InnoDB
DEFAULT
CHARSET=utf8;
11.
12.
CREATE
TABLE item (
13.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论