Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Mycat是什么Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替...

Mycat是什么

Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!

  • 一个彻底开源的,面向企业应用开发的大数据库集群

  • 支持事务、ACID、可以替代MySQL的加强版数据库

  • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群

  • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server

  • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品

  • 一个新颖的数据库中间件产品

Mycat关键特性

  • 支持SQL92标准

  • 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法

  • 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。

  • 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。

  • 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster

  • 基于Nio实现,有效管理线程,解决高并发问题。

  • 支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。

  • 支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。

  • 支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。

  • 支持多租户方案。

  • 支持分布式事务(弱xa)。

  • 支持XA分布式事务(1.6.5)。

  • 支持全局序列号,解决分布式下的主键生成问题。

  • 分片规则丰富,插件化开发,易于扩展。

  • 强大的web,命令行监控。

  • 支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。

  • 支持密码加密

  • 支持服务降级

  • 支持IP白名单

  • 支持SQL黑名单、sql注入攻击拦截

  • 支持prepare预编译指令(1.6)

  • 支持非堆内存(Direct Memory)聚合计算(1.6)

  • 支持PostgreSQL的native协议(1.6)

  • 支持mysql和oracle存储过程,out参数、多结果集返回(1.6)

  • 支持zookeeper协调主从切换、zk序列、配置zk化(1.6)

  • 支持库内分表(1.6)

  • 集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。

MYCAT监控

  • 支持对Mycat、Mysql性能监控

  • 支持对Mycat的JVM内存提供监控服务

  • 支持对线程的监控

  • 支持对操作系统的CPU、内存、磁盘、网络的监控

image

目标

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

1.5版本架构

image

MYCAT官方论坛地址已更新为:i.mycat.io 欢迎大家访问!MYCAT社区所打造的IT新生活!

长期规划2.0

  • 完全实现分布式事务,完全的支持分布式。

  • 通过Mycat web(eye)完成可视化配置,及智能监控,自动运维。

  • 通过mysql 本地节点,完整的解决数据扩容难度,实现自动扩容机制,解决扩容难点。

  • 支持基于zookeeper的主从切换及Mycat集群化管理。

  • 通过Mycat Balance 替代第三方的Haproxy,LVS等第三方高可用,完整的兼容Mycat集群节点的动态上下线。

  • 接入Spark等第三方工具,解决数据分析及大数据聚合的业务场景。

  • 通过Mycat智能优化,分析分片热点,提供合理的分片建议,索引建议,及数据切分实时业务建议。

优势

基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。

MYCAT背后有一支强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MYCAT的产品质量。

MYCAT并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。

MYCAT典型案例

image

推荐阅读


分享一套高级视频教程:Dubbo+Zookeeper+ActiveMQ+Redis系列

分享一套分布式架构设计高级视频教程

分享一套Hadoop全套视频教程系列

去BAT面试完的Mysql面试题总结(55道,带完整答案)

阿里高级Java面试题(首发,70道,带详细答案)

2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

Spring面试题(70道,史上最全)

通往大神之路,百度Java面试题前200页。

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5月前
|
中间件 微服务 缓存
中间件性能和可扩展性
【6月更文挑战第1天】
69 9
|
5月前
|
缓存 负载均衡 监控
探秘数据库中间件:ProxySQL与MaxScale的优势与劣势
探秘数据库中间件:ProxySQL与MaxScale的优势与劣势
171 2
|
2月前
|
消息中间件 存储 NoSQL
国产化中间件正在侵蚀开源中间件
国产化中间件正在侵蚀开源中间件
212 6
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
5月前
|
缓存 NoSQL 中间件
应对数据库不断膨胀的数据:缓存和队列中间件
【6月更文挑战第5天】该文探讨了优化数据库使用以提升应用系统性能的策略。文中建议利用Redis缓存和MQ消息队列作为辅助工具,以进一步优化性能和减少资源消耗。
133 2
应对数据库不断膨胀的数据:缓存和队列中间件
|
4月前
|
中间件 Java 测试技术
单元测试问题之编写单元测试时运行环境、数据库、中间件问题如何解决
单元测试问题之编写单元测试时运行环境、数据库、中间件问题如何解决
|
5月前
|
消息中间件 存储 NoSQL
阿里开源中间件一览
阿里开源中间件一览
324 2
|
4月前
|
SQL 中间件 关系型数据库
MyCAT数据库中间件的架构与使用方法
MyCAT数据库中间件的架构与使用方法
|
6月前
|
监控 中间件
选择中间件性能和可扩展性
【5月更文挑战第20天】
65 1
|
6月前
|
缓存 监控 中间件
中间件Cache-Aside策略应用程序直接与缓存和数据库进行交互
【5月更文挑战第8天】中间件Cache-Aside策略应用程序直接与缓存和数据库进行交互
72 4