Mycat 2 数据库中间件

Java语言编写的MySQL数据库网络协议的开源中间件


旨在提供一个结合自动化复杂查询与定制路由规则的中间件,适用于各种数据切分场景

GitHub stars badge GitHub forks badge
Github地址

网页正在施工...

使用关系代数表达式优化查询计划

定制Calcite分布式查询引擎
编译SQL到关系代数表达式
规则优化引擎和代价优化引擎
生成物理执行计划

支持使用DSL编写查询计划

添加自定义拦截器
对指定的sql进行拦截
执行用户指定的执行代码
或sql对应结果集进行缓存

支持SQL参数化,缓存查询计划

对请求的sql进行参数化
缓存物理执行计划
相同参数化sql的请求
将免去一些分析优化过程

支持MySQL原生网络协议后端连接和JDBC连接

前端协议MySQL网络通信协议
MySQL原生网络协议异步非阻塞
JDBC接口支持多种数据库

代理场景可透传MySQL结果集

字节级固定大小缓存区
异步非阻塞
交换网络报文数据

支持定制开发任意多字段路由

提供分片算法接口
优化器简化过滤条件
分片信息与关系表达式结合生成执行sql



Mycat Community Contributor

*如有遗漏,请在issues提交贡献者信息,贡献内容