什么是数据库中间层?
- 位于前端应用与后端数据库中间的组件
Mycat的主要作用?
- 作为分布式数据库中间层使用
- 实现后端数据库的读写分离及负载均衡
3.对业务数据库进行垂直切分
4.对业务数据库进行水平切分
5.通过数据库中间层有效地控制前端应用访问后端数据库的连接数量
- 当连接数占满后,所有的新建连接都不能在访问数据库,否则会对应用的稳定产生巨大的影响
- 在Mycat中间层中建立公共的连接池,所有的应用都会统一的通过这个连接池来获取数据库的连接,从而同时控制后端数据库的数量,这样会保证应用更加的稳定
MyCAT的基本元素
逻辑库
-
对应用来说相当于MySQL中的数据库
-
逻辑库可以对应多个后端物理数据库
-
逻辑库中并不保存数据
逻辑表
- 对应用来说相当于MySQL中的数据表
- 逻辑表可对应后端多个物理数据库中的表
- 逻辑表中并不保存数据
逻辑表的类别
分片表:
非分片表:
全局表:
ER关系表:所谓er关系分片即可以理解为有关联关系表之间数据分片。类似于订单主表与订单详情表间的分片存储规则。
MyCat配置文件概览
server.xml 系统的参数以及用户的权限配置
schema.xml 用来配置逻辑库和逻辑表(如果逻辑表中使用了水平切分,需要使用到rule.xml,来对逻辑表的切分规则来配置)