MyCat(1.2)Mycat基础知识
Posted gered
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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问题。
以上是关于MyCat(1.2)Mycat基础知识的主要内容,如果未能解决你的问题,请参考以下文章