历史
Mycat是基于开源cobar演变而来,对cobar的代码进行了彻底的重构,使用NIO重构了网络模块,并且优化了Buffer内核,增强了聚合,Join等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。1.4 版本以后 完全的脱离基本cobar内核,结合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)。
-
支持全局序列号,解决分布式下的主键生成问题。
-
分片规则丰富,插件化开发,易于扩展。
-
强大的web,命令行监控。
-
支持前端作为mysq通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
-
支持密码加密
-
支持服务降级
-
支持IP白名单
-
支持SQL黑名单、sql注入攻击拦截
-
支持分表(1.6)
-
集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。
总结常用特性
数据库中间件
-
1、数据库分片
-
2、多数据源整合
-
3、读写分离
-
4、支持分布式事务(弱xa)。
项目架构变化
将数据库切换等功能交给数据库中间件