Mycat是一个彻底开源的,面向企业应用开发的大数据库集群。Mycat是数据库的中间件,以此为契机,我们来了解一下常见的9种数据库中间件,并且做一下对比。
从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
数据库中间件 | 说明 |
---|---|
Cobar | Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线SQL请求50亿次以上。由于Cobar发起人的离职,Cobar停止维护 |
Mycat | Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中,青出于蓝而胜于蓝 |
OneProxy | OneProxy基于MySQL官方的proxy思想利用c进行开发的,OneProxy是一款商业收费的中间件。舍弃了一些功能,专注在性能和稳定性上 |
kingshard | kingshard由小团队用go语言开发,还需要发展,需要不断完善 |
Vitess | Vitess是Youtube生产在使用,架构很复杂。不支持MySQL原生协议,使用需要大量改造成本 |
Atlas | Atlas是360团队基于mysql proxy改写,功能还需完善,高并发下不稳定 |
MaxScale | MaxScale是mariadb(MySQL原作者维护的一个版本) 研发的中间件 |
MySQLRoute | MySQLRoute是MySQL官方Oracle公司发布的中间件 |
想看各种数据库中间件的详细介绍,可以到动力节点在线观看相关的视频课程。
代码小兵86504-19 19:55
代码小兵49806-21 15:40
代码小兵69607-21 11:32
代码小兵87207-21 12:51