mycat是什么意思?是啥意思?特性介绍

KLQ 2020-07-03 11:46:30 java常见问答 8202

下面要给大家介绍一个新的概念mycat,你知道mycat指的是什么?特性是什么?一起通过下面的文章内容来进行一下详细的了解吧。

1、什么是mycat?

mycat从定义和分类来看的话,开源的分布式数据库系统,是一个实现了MySQL协议的服务器。

前端的话可以把它看成是一个数据库代理,用MySQL客户端工具和命令行访问;

后端可以用MySQL原生协议与多个MySQL服务器通信,也能够用JDBC协议和大多数主流数据库服务器通信;

功能核心是分表分库,也就是把一个大表水平分割为N个小表,存储在后端MySQL服务器里又或者是其他数据库里。

2、mycat特性是什么?

支持SQL92标准;

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

更多SQL语法大家可以通过下文来进行了解-sql语法大全,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相关内容以及java基础知识,请继续通过奇Q工具网来进行了解吧。

推荐阅读:

zookeeper集群由哪些角色组成的呢?

zookeeper实现分布式锁怎么实现?步骤有哪些?

mysql数据库命令大全,mysql基本命令大全