首页 > 课堂 > 基础知识 > 正文

Mycat的运用 - 01.概念 及安装

2024-09-12 20:30:13
字体:
来源:转载
供稿:网友
  初识Mycat
 
  1. Mycat是什么
 
  Mycat是一款数据库中间件, 其用于分库分表, 还实现了读写分离, 故障切换等功能.
 
  2. Mycat的工作原理
 
  用一个动词来概括就是"拦截", 它拦截了用户发送的SQL语句, 首先对其做了一些特定的分析: 如分片分析, 路由分析, 读写分离分析, 缓存分析等, 然后将其发往后端真实的数据库, 并将返回的结果做适当处理, 最终再返回给用户.
 
  Mycat中的概念
 
  1. 逻辑库(schema)
 
  逻辑库是用户直接访问的地方, 它是由后端的一个或多个物理库组成, 而用户是不知道物理库的存在的.
 
  2. 逻辑表(table)
 
  其和逻辑库的概念类似, 后端是由一个或多个物理表组成的. 若是多个物理表, 该表就是分片表了, 由于数据量大, 需要切分到多个数据库的表中, 每个分片都有一部分数据, 所有分片构成完整的数据. 若是一个物理表, 就是非分片表.
 
  由于分片, 就让join操作变得复杂, 据此, Mycat中提出了ER表和全局表的方式来优化join. ER表, 是通过E-R关系构成的表分组, 即子表的记录与所关联的父表的记录存放在同一个分片上. 全局表, 是类似于字典表这样的, 数据量较少, 且变更不频繁的表, 在每个分片上都有一份完整的数据拷贝.
 
  3.  全局序列号(sequence)
 
  数据切分后, 原有的关系数据库中的主键约束在分布式条件下将无法使用, 因此需要引入外部机制来保证数据的唯一性标识, 该保证数据全局唯一标识的机制就是全局序列号.

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表