MyCat(1.2)Mycat基础知识

【1】Mycat的基本概念

【1.1】Mycat中的数据库——逻辑库

  把后端Mysql物理数据库,封装成逻辑库,如下图,把db01~db03封装成逻辑库User_DB.

  可以以视图的概念去理解它,可以隐藏后端数据库结构分布的复杂性。

    

【1.2】Mycat中的数据库——逻辑表

  把后端Mysql物理数据库的表,封装成逻辑表。如下图,把分库分表技术(即一个表分成多个子表,且每个子表分布在不同的数据库)在Mycat层封装成一个统一供访问的逻辑视图数据库User_db,其逻辑表为user_inf。

  可以以视图的概念去理解它,可以隐藏后端数据库结构分布的复杂性。

      

【2】Mycat关键特性

【2.1】关键特性

  (1)支持SQL92标准:以此来解析SQL进行SQL路由  

  (2)支持多种Mysql集群:如一主一从,一主多从,多主多从,多主集群

  (3)支持JDBC链接数据库:通过它来连接多种关系型数据库与nosql数据库(mongodb)

  (4)支持NOSQL数据库:如mongodb

  (5)支持自动故障切换,高可用性:它只是指定一个主库故障后的从库用于写而已(不同于MHA等高可用架构)

  (6)支持读写分离:可以用SQL路由来把读写操作分离开来

  (7)支持全局表:把一个全局表自动分部到所有节点上

  (8)支持独有的基于ER关系的分片策略:把子表与父表自动分配到同一个节点上,避免跨库

  (9)支持一致性HASH分片:解决分片扩容问题,实际使用时建议在一台机器上建立足够多的分片,不能满足需求时,可以再把部分分片迁移到其他机器上。

  (10)支持多平台部署:是因为使用JAVA开发,很好的集成了JAVA的可移植性

  (11)支持全局序列号:解决分片表全局唯一ID问题。

【2.2】核心重点特性

  (1)支持多种Mysql集群:如一主一从,一主多从,多主多从,多主集群

  (2)支持自动故障切换,高可用性:它只是指定一个主库故障后的从库用于写而已(不同于MHA等高可用架构)

  (3)支持读写分离:可以用SQL路由来把读写操作分离开来

  (4)支持全局表:把一个全局表自动分部到所有节点上

  (5)支持一致性HASH分片:解决分片扩容问题,实际使用时建议在一台机器上建立足够多的分片,不能满足需求时,可以再把部分分片迁移到其他机器上。

  (6)支持全局序列号:解决分片表全局唯一ID问题。

猜你喜欢

转载自www.cnblogs.com/gered/p/12090751.html