1、什么是MyCat: 

MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

MyCat发展到目前的版本,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度

2、MyCat有哪些作用?

目前虽然传统关系数据库存在一些列的先天弊端,但NoSQL数据库又将其替代,但是如果传统数据库易于扩展和分拆就可以极大的避免单机单库在数据增删改查方面的缺陷。MyCat就是为了解决数据库的分拆和扩展而生的开源分布式数据库系统。其最终的目标就是低成本地将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

举个简单的例子

如果你只是开一个小卖铺(小项目) ,那么你一个人(数据库)就可以了,但是如果你开一个大型购物中心(大项目),如果不分部门的话,人员(数据)就很难管理,所以按人员不同分了很多部门(数据库),但是光有部门,没有一个统一的管理者(mycat),那么各个部门的配合和协调能力就大大降低了,超市的健康运营就会受到影响。而mycat就是这个管理者,它是对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。

所以可以这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。

2.1.一般数据库的拆表机制

2.2.MyCat中间件和应用层解决方案对比




3、MyCa的原理

MyCat技术原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

mycat原理及分表分库入门相关推荐

  1. java集群_「Java知识」MyCat的图文视频讲解,MyCat分片集群分表分库策略

    在一个项目当中,项目经理要求把原先的MySQL数据连接基于mycat来进行改造 .当时就在想MyCat是什么东西?为什么要用它呢? 蚂蚁课堂带你学Java 一.什么是MyCat: MyCat是一个开源 ...

  2. 如何分表分库 Mycat 与shadingjdbc 区别? Mycat 是基于服务器端的形式实现数据库代理 基于服务器端的形式 改写sql语句 shadingjdbc 基于客户端 改写sql语

    如何分表分库 Mycat 与shadingjdbc 区别? Mycat 是基于服务器端的形式实现数据库代理 基于服务器端的形式 改写sql语句 shadingjdbc 基于客户端 改写sql语句的形式 ...

  3. .Net 下高性能分表分库组件-连ShardingCore接模式原理

    ShardingCore 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖.零学习成本.零业务代码入侵. Github Source Code 助力dotnet 生态 Gi ...

  4. 分表分库解决方案(mycat,tidb,shardingjdbc)

    分表分库解决方案(mycat,tidb,shardingjdbc) 参考文章: (1)分表分库解决方案(mycat,tidb,shardingjdbc) (2)https://www.cnblogs. ...

  5. mysql 分表分库mycat_Mysql数据库之如何Mycat分表分库?

    Mycat分表分库虽然能解决大表对数据库系统的压力,但也有一些不利,因此Mycat分表分库要先解决的问题是,分不分库,分哪些库,什么规则分,分多少分片.那么究竟是怎么分的呢? 1.能不分就不分,100 ...

  6. 使用mycat实现分表分库

    分表分库中间件市面上主要有两种,即当当的sharding-jdbc和阿里的mycat,二者的区别对比如下: 本次要向读者展示的是mycat的安装与使用 1.安装环境 1)操作系统:centos7 2) ...

  7. Mycat分表分库原则

    分表分库虽然能解决大表对数据库系统的压力,但它并不是万能的,也有一些不利之处,因此首要问题是,分不分库,分哪些库,什么规则分,分多少分片.  原则一:能不分就不分,1000万以内的表,不建议分片,通过 ...

  8. 学会数据库读写分离、分表分库

    https://www.cnblogs.com/joylee/p/7513038.html 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优 ...

  9. .NETCore 下支持分表分库、读写分离的通用 Repository

    首先声明这篇文章不是标题党,我说的这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参数 abp vnext,定义和实现基础的仓储层(CURD). 安装 do ...

最新文章

  1. 《大话数据结构》读书笔记
  2. REPLICAT RORA_1保持 ABENDED状态,无法启动问题处理
  3. Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据
  4. [Sharepoint2007对象模型]第一回:服务器场(SPFarm)
  5. iStream DDS
  6. HBase超级详细总结
  7. 洛谷P3358 最长k可重区间集问题(费用流)
  8. 处理SQLServer死锁
  9. 免费前端网站页面模板
  10. 半导体物理学——(四)半导体的导电性
  11. 金士顿固态硬盘修复,慧荣SM2246EN开卡记录,附量产工具
  12. Arduino驱动HDC1080测量温湿度
  13. 计算机连接不上蓝牙鼠标,如果蓝牙鼠标无法连接到计算机该怎么办?
  14. Acer暗影骑士RTX3060 显卡最大功率95W笔记
  15. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来
  16. 3.DesignForVias\1.AutoRoutingFirstSetp
  17. 如何在SM30维护表时自动写入表字段的默认值-事件(EVENT)
  18. 服装检索相关论文阅读
  19. 离散数学-代数系统总结3-同态
  20. 空调风扇内机不转故障分析与检修

热门文章

  1. STM32 ST-LINK Utility介绍、下载、安装、使用方法
  2. Markdown格式文档图片设置居中
  3. 喜讯 | 人大金仓荣获行业信息化领航企业奖
  4. 哈工程和杭电计算机,哈工程算名校吗?为什么说千万别来哈工程?
  5. JavaScript中逻辑运算符的优先级
  6. sklearn数据集分割方法汇总
  7. 机器深度学习笔记(1)——神经网络从一张图片中识别狗的过程
  8. qq侧滑界面的实现(DreawerLayout)
  9. sql join备忘
  10. 什么是嵌入式?嵌入式开发怎么学