Mycat 关键特性

摘要:
基于心跳的自动故障切换,支持读/写分离、MySQL主从和galeracluster集群。支持GalelaforMySQL集群。PerconaCluster或MariaDBcluster基于Nio实现,以有效管理线程并解决高并发问题。通过Mycatweb完成可视化配置、智能监控和自动运维。支持基于zookeeper的主从切换和Mycat的集群管理。使用MycatBalance取代第三方Haproxy、LVS和其他第三方高可用性,它与Mycat集群节点的动态在线和离线完全兼容。通过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

  • 一个彻底开源的,面向企业应用开发的大数据库集群
  • 支持事务、ACID、可以替代MySQL的加强版数据库
  • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
  • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
  • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
  • 一个新颖的数据库中间件产品

MYCAT监控

  • 支持对Mycat、Mysql性能监控
  • 支持对Mycat的JVM内存提供监控服务
  • 支持对线程的监控
  • 支持对操作系统的CPU、内存、磁盘、网络的监控

Mycat 关键特性第1张

目标

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

1.5版本架构

Mycat 关键特性第2张

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

适用场景分析

适合分库分表场景

初步使用

参照:https://blog.csdn.net/u013467442/article/details/56955846

免责声明:文章转载自《Mycat 关键特性》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Google如何设定目标和衡量成功,互联网营销 狼人:babel tsc webpack下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.NET应用程序7种最常见的性能问题及其解决方案

译者注:这篇文章依然是介绍.NET Framework框架下的性能问题排查,可能并不直接适用于.NET Core,但有时也能提供一些参考。   .NET应用程序7种最常见的性能问题及其解决方案 原文地址:https://www.eginnovations.com/blog/top-7-net-application-performance-problems...

laravel中migration 数据迁移

简介 数据库迁移就像是数据库的版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构。迁移通常与 Laravel 的数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。 Laravel Schema facade 对所有 Laravel 支持的数据库系统提供了创...

Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结

前置条件 django版本:2.2.1 python版本:3.6.6 mysql版本:mysql-community8.0.15 问题 在搭建django项目,配置mysql数据库时遇到无法迁移数据库的问题,错误信息如下图: 问题分析过程 由错误信息,可大致看出是一个叫mysqlclient的包版本不匹配导致的问题。 搜索引擎检索相关错误,得知:pyth...

四、安装es-head插件

一、ES插件介绍 ES不同于MySQL数据库,有专门的客户端,如mysql命令,ES数据库通过RESTful风格的API接口进行访问。 这时可通过elasticsearch-head这种第三方插件来管理es数据库。 elasticsearch-head插件在5.0版本之前可通过插件形式直接安装,5.0之后需要nodejs环境支持,需要安装nodejs环境。...

MSSQL2008 R2 数据库展开报错:值不能为空 参数名:viewInfo

打开数据库时报错,提示应用程序组件中发生了无法处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。 针对此类问题的解决办法是:将路径C:\Documentsand Settings\Administrator\Application Data\microsoft\Microsoft SQLServer\100\Tools\Shell下的文件Re...

还原数据库出错:”因为数据库正在使用,所以无法获得对数据库的独占访问权“的解决方案

还原数据库出错:”因为数据库正在使用,所以无法获得对数据库的独占访问权“的解决方案 在还原数据库时,有时会提示因为数据库正在使用,所以无法获得对数据库的独占访问权!!这时需要在还原数据库前先杀死正在使用数据库的线程. 该解决方案用到了系统表中的sysprocesses ,若要访问 sysprocesses,您必须定位到master 数据库。 以下是杀死正在...