MyCat(一)基础入门

1.MyCat概述

在这里插入图片描述 Mycat 是数据库中间件 数据库中间件: 连接java应用程序和数据库

中间件: 是一类连接软件组件和应用的计算机软件, 以便于软件各部件之间的沟通。

2.MyCat的前世今生

2013年阿里的Cobar在某大型项目中使用过程中发现存在一些比较严重的问题,于是第一代改良版——Mycat诞生。Mycat开源以后,一些Cobar的用户参与了Mycat的开发,最终Mycat发展成为一个由众多软件公司的实力派架构师和资深开发人员维护的社区型开源软件。

2014年Mycat首次在上海的《中华架构师》大会上对外宣讲,引发围观,更多的人参与进来,随后越来越多的项目采用了Mycat

2015年6月为止,Mycat项目总共有17个Committer,其中核心参与者的年薪总额超过300万

2015年5月,由核心参与者们一起编写的第一本官方权威指南《Mycat权威指南》电子版发布,众筹预售超过200本,成为开源项目中的首创。

截至2015年4月,超过60个项目采用Mycat,涵盖电信、电子商务、物流、移动应用、O2O的众多领域和公司。

3.Mycat的官网

http://www.mycat.io/ 在这里插入图片描述

4.Mycat的作用

4.1.MyCat读写分离

数据库的操作实际上是由专业DBA数据库管理员去维护!!!!

GitHUB:https://github.com/MyCATApache/Mycat-Server

在这里插入图片描述高可用性和MySQL读写分离:当一台服务器宕机时,由集群中的另外一台服务器自动接管它的工作,持续提供服务,由MyCat自动完成切换。MyCat可以轻松实现读写分离,实现主数据库的插入、更新、删除等写操作,从数据库的查询读操作。

4.2.数据分片

在这里插入图片描述100亿大表水平分片,集群并行计算:将存放在同一个数据库中的数据通过某种规则进行切分,达到分散单台数据库设备负载的效果。(水平切分和垂直切分,如果表的数据量超过800万,可以考虑对数据进行拆分)

4.3.多数据源整合(应用少)

在这里插入图片描述整合多种数据源:当项目中使用到多种数据源时(如Mysql,Oracle等),可以使用MyCat逻辑库配置多种数据源,应用程序只需要配置逻辑库数据源即可。

5.Mycat的原理

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库, 并将返回的结果做适当的处理,最终再返回给用户。 在这里插入图片描述 这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 Mycat 还是MySQL 在这里插入图片描述 上图中,采用order_id作为分片字段进行范围分片,上面的SQL语句被发送到dn3这个分片节点进行执行,MyCat将查询结果进行处理后返回给用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值