数据库中间件 MyCAT

Apache
Java
跨平台
2015-01-09
风--

MyCAT 是一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库 ? 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 ? 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server ? 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 ? 一个新颖的数据库中间件产品。

目标

低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

关键特性

支持 SQL 92标准 支持Mysql集群,可以作为Proxy使用 支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用 支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群,自动故障切换,高可用性 ,支持读写分离,支持Mysql双主多从,以及一主多从的模式 ,支持全局表,数据自动分片到多个节点,用于高效表关联查询 ,支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询多平台支持,部署和实施简单。

优势

基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能,以及众多成熟的使用案例使得MyCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。广泛吸取业界优秀的开源项目和创新思路,将其融入到MyCAT的基因中,使得MyCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。MyCAT背后有一只强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MyCAT的产品质量。 MyCAT并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。

 

MyCat架构

http://www.mycat.org.cn/img/1.png

长期规划

在支持Mysql的基础上,后端增加更多的开源数据库和商业数据库的支持,包括原生支持PosteSQL、FireBird等开源数据库,以及通过JDBC等方式间接支持其他非开源的数据库如Oracle、DB2、SQL Server等实现更为智能的自我调节特性,如自动统计分析SQL,自动创建和调整索引,根据数据表的读写频率,自动优化缓存和备份策略等实现更全面的监控管理功能与HDFS集成,提供SQL命令,将数据库装入HDFS中并能够快速分析集成优秀的开源报表工具,使之具备一定的数据分析的能力。

的码云指数为
超过 的项目
加载中

评论(27)

熊猫你好
熊猫你好
请问我用mycat进行了分库操作,管理了192.168.0.1、192.168.0.1 2台数据库集群,然后我的事务操作可以每次都只在一个机器上面执行吗?比如说我一个事务插入member,member_ext2条数据的时候,2条数据都同时随机发送到一个数据库节点(要么是192.168.0.1,要么是192.168.0.2),而不是 member插入192.168.0.1,member_ext插入192.168.0.2,这个mycat可以做到吗?各位大佬给点意见,为老弟解解惑。万分感谢
CapJes
CapJes
好几年都没有发布新版本了,不敢用。
chenzb
chenzb

引用来自“CapJes”的评论

在项目使用中,数据库连接是访问mycat还是访问mysql数据库? #Mycat#
mycat
chenzb
chenzb

引用来自“潜水的灰机888”的评论

急寻mycat高手具备定制开发能力的,团队也可以,重酬,兼职全职均可,QQ22903630急寻mycat高手具备定制开发能力的,团队也可以,重酬,兼职全职均可,QQ22903630 急寻mycat高手具备定制开发能力的,团队也可以,重酬,兼职全职均可,QQ22903630
有没有遇到msyql同步故障,经常用一段时间,从数据库Slave_SQL_Running:No
chenzb
chenzb

引用来自“Eric_Yue”的评论

我用了一段时间了,主要用了负载,分库分表,表的分片,很灵活
请教下大佬:有没有遇到msyql同步故障,经常用一段时间,从数据库Slave_SQL_Running:No
Fx_demon
Fx_demon

引用来自“Fx_demon”的评论

ClusterDB&MyCat与Apollo 已完成 ClusterDB&MyCat与SkyWalking 已完成 ClusterDB&MyCat与Flink SQL 设计中 ClusterDB&MyCat与servicecomb-saga 设计中

引用来自“Fx_demon”的评论

ClusterDB&MyCat与Apollo 已完成 ClusterDB&MyCat与SkyWalking 已完成 ClusterDB&MyCat与Flink SQL 设计中 ClusterDB&MyCat与servicecomb-saga 设计中 ➕QQ群:419648337 备注说明需求
MyCat使用问题解决和新功能扩展 ➕QQ群:419648337 备注说明需求
Fx_demon
Fx_demon

引用来自“Fx_demon”的评论

ClusterDB&MyCat与Apollo 已完成 ClusterDB&MyCat与SkyWalking 已完成 ClusterDB&MyCat与Flink SQL 设计中 ClusterDB&MyCat与servicecomb-saga 设计中
ClusterDB&MyCat与Apollo 已完成 ClusterDB&MyCat与SkyWalking 已完成 ClusterDB&MyCat与Flink SQL 设计中 ClusterDB&MyCat与servicecomb-saga 设计中 ➕QQ群:419648337 备注说明需求
Fx_demon
Fx_demon
ClusterDB&MyCat与Apollo 已完成 ClusterDB&MyCat与SkyWalking 已完成 ClusterDB&MyCat与Flink SQL 设计中 ClusterDB&MyCat与servicecomb-saga 设计中
不能告诉你我的名字
不能告诉你我的名字
这个不错 看来要学习一波了
s
sylar13
公司业务用了稳定运行了半年,千万级用户

暂无资讯

2
回答
mysql 集成mycat后,需要将所有的表都配置到schema中吗

我们相应mycat实现分库分表查询,但是今天在用的过程发现个问题,就是我们项目已经完成了,而且有好多表,但是现在用了mycat后,发现需要将表信息维护到s...

03/14 14:40
6
回答
mycat怎么按照年月分表

数据表中有个字段是date类型,年份在10-18年之间,目前按照月份分表是可以的,但是年份需要是具体哪一年的,很困惑,怎么设置年份也在一个区间内呢,因为刚...

2018/06/14 14:31
1
回答
MyCat分片查询的疑问

条件1.要实现对数据库的分片,比如分片字段采用personID的后2位。 条件2.我执行查询的时候用的是name(业务要求只能使用name字段)字段进行查...

2018/12/11 10:54
3
回答
mycat 为啥不支持select * from ( select * from A START WITH ID = '123' CONNECT BY PID = PRIOR ID)

mycat 为啥不支持 select * from ( select * from A START WITH ID = '123' CONNECT BY ...

2018/01/11 10:55
4
回答
单库分表join查询有什么好的中间件推荐?

一个库里面,比如Order这张大表分了 Order_1,Order_2 .... Order_n这些子表,然后有个sql需要join user表, 比如 ...

2018/11/20 10:34
2
回答
Mycat批量插入报错

批量插入使用注解 /*!mycat:catlet=demo.catlets.BatchInsertSequence */ INSERT INTO unit...

2016/05/19 14:37
1
回答
MyCat实现多租户时使用ThreadLoacl碰到的问题

使用mycat实现多租户为每个用户分表时,我想用ThreadLoacl来保存每个用户对应的数据库下面是我的Threadlocal工具类 public cl...

2017/10/20 14:45
3
回答
分表分库按照表名分片

求助!! 现在有个需求,每个用户会在系统中创建属于自己的表,后面会拼接用户ID,现在想对创建的表分到不同的数据库中,create table的时候怎么才能...

2017/08/31 16:56
1
回答
mycat sql语句中 双引号+半角小括号 无法执行的问题
木瞳2016 的回答 2017/06/06 09:54
最佳答案
已经知道问题 RouterUtil 文件的 handleBatchInsert 方法有些问题,做了修改 如果那位大神有更好的方法欢迎提供。感谢

没有更多内容

加载失败,请刷新页面

分库分表:MyCat+MySQL实现数据库分片

MySQL利用MyCat实现分库分表

2018/04/16 11:23
209
0
MyCat 在 MySQL 主从复制基础上实现读写分离

一、环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK版本:jdk1.7.0_45 MyCat版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MyCat节点IP:192.168.1.203 主机名:edu-myc...

07/08 23:52
16
0
数据库水平切分(其他应用)

Zookeeper和Mycat 使用ZK对mycat 的配置进行管理 使用ZK修改配置,Mycat配置自动更新 使用Mycat-web监控必须基于ZK之上 通过监控ZK节点情况就可以知道Mycat每个节点的运行情况 集成Zookeeper...

2018/09/03 20:07
47
0
mycat安装部署

系统版本: Centos 6.5 Mycat服务器ip: 10.47.121.213 Mysql服务器ip: 主 10.168.163.172, 从 10.24.155.3 Mysql版本: Mysql 5.6.28 jkd版本:java version “1.8.0_66” 安装步骤启动 tar -z...

2018/07/09 10:43
101
0
MyCat - 使用篇(6)

数据库路由中间件MyCat - 使用篇(6) 配置MyCat-eye 接下来在开始使用MyCat之前,我们先把监控平台部署好。 下载MyCat-eye项目,mvn打包。 之后得到类似于Mycat-web-1.0-SNAPSHOT-20160215...

2017/12/13 10:26
28
0
数据库拆分之MyCat

有多个数据库,意味着有多个数据源。 如何协调这多个数据源,是我们需要解决的首要问题。 创建多个数据源,要程序来维护 弊端: 操作复杂。 需要创建多个dataSource,代价太大。 有没有别的解...

05/14 10:37
3
0
MyCat - 背景篇(2)

数据库路由中间件MyCat - 背景篇(2) MyCat的前世今生 如前文所说,Amoeba、Cobar、MyCat等属于同宗一脉。若Amoeba能继续下去,Cobar就不会出来;若Cobar那批人不是都走光了的话,MyCAT也不...

2017/12/13 10:26
7
0
mycat快速入门之读写分离

mycat主要是提供了数据库库切分的一种具体实现配置,这一篇我们不做深入剖析,先让程序跑起来再说! mycat官网:http://www.mycat.io/ #中文的别怕 1>环境: CentOS操作系统 mysql5.6 主库主...

2018/08/31 09:03
22
0
Docker Compose搭建mycat读写分离

说明 接[上篇]Docker Compose搭建mysql主从复制,本文介绍如何搭建`mycat中间件`,并用`mycat`来做`读写分离`. 配置文件以及文档地址:[mycat-rw](http://git.oschina.net/wangjingj/mycat-rw) ...

2018/02/27 15:12
139
0
MySQL分布式中间件MYCAT解析

在应用系统用户量不断增加之后,带来性能上的瓶颈,此时通过在应用的服务端添加负载均衡即可提升性能,但是系统访问数量还在不断增加,有一天发现再增加应用层的负载均衡已经达不到预期的效果...

2018/04/03 16:36
828
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部