初识Mycat(一)

初识Mycat(Mycat 相关基础)

Mycat的前世今生

1、Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle的数据存储方案,它接管了3000+个Mysql数据库的schema,平均每天处理近50亿次的SQL执行请求。

2、Cobar自诞生之日起, 就受到广大程序员的追捧,但是2013年阿里的Cobar在某大型项目中使用过程中发现存在一些比较严重的问题,
于是第一代改良版——Mycat诞生。

自Mycat开源以后,一些Cobar的用户参与了Mycat的开发,最终Mycat发展成为一个由众多软件公司的实力派架构师和资深开发人员维护的社区型开源软件

啥是Mycat

什么是MyCAT?简单的说,MyCAT就是:
1、一个彻底开源的,面向企业应用开发的“大数据库集群”
2、支持事务、ACID、可以替代Mysql的加强版数据库
3、一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle 集群
4、一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server
5、结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
6、 一个新颖的数据库中间件

Mycat实质

1、一个用于MySQL读写分离和与数据切分的高可用中间件
2、一个模拟为MySQL Server的超级数据库代理
3、一个能平滑扩展支持1000亿大表的分布式数据库系统
4、一个可管控多种关系数据库的数据库路由器
MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题

前面说了这么多你可能已经对mycat有了一些笼统的了解下面我们将系统的了解一下mycat中涉及的相关概念

1、数据库中间件

数据库中间件 就是介于数据库与应用之间,进行数据处理与交互的中间服务
在这里插入图片描述
如图所表示,
数据被分到多个分片数据库后,应用如果需要读取数据,就要处理多个数据源的数据
如果没有数据库中间件,应用将花费大量工作来处理分片后的问题
但是,有了数据库中间件,应用只需要集中业务处理,大量通用数据的聚合,事务,数据源的切换都是由中间件来完成

2、Mycat逻辑库

Mycat逻辑库:与任何一个传统的关系型数据库一样,MyCAT也提供了“数据库”的定义,并有用户授权的功能。
在这里插入图片描述
下面是MyCAT逻辑库相关的一些概念

1、 schema:逻辑库,与MySQL中的Database(数据库)对应,一个逻辑库中定义了所包括的Table。

2、table:逻辑表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑数据节点DataNode,这是通过表格的分片规则定义来实现的,table可以定义其所属的“子表(childTable)”,子表的分片依赖于与“父表”的具体分片地址,简单的说,就是属于父表里某一条记录A的子表的所有记录都与A存储在同一个分片上。

3、rule:分片规则,是一个字段与函数的捆绑定义,根据这个字段的取值来返回所在存储的分片(DataNode)的序号,每个表格可以定义一个分片规则,分片规则可以灵活扩展,默认提供了基于数字的分片规则,字符串的分片规则等。

4、 DataNode: MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来关联到后端某个具体数据库上,一般来说,为了高可用性,每个DataNode都设置两个DataSource,一主一丛,当主节点宕机,系统自动切换到从节点。

5、DataSource物理数据节点:定义某个物理库的访问地址,用于捆绑到Datanode上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值