Mycat-解决MySQL数据量大查询压力大的问题

基础概念的了解,通过该作者的博客了解的:https://www.jianshu.com/p/10b26f040da0
Mycat是什么?

· 一个彻底开源的,面向企业应用开发的大数据库集群

· 支持事务、ACID、可以替代MySQL的加强版数据库

· 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群

· 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server

· 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品

· 一个新颖的数据库中间件产品

数据库中间件

Mycat是一个介于数据库与应用之间,进行数据处理与交互的中间服务。原理图如下:

Mycat-解决MySQL数据量大查询压力大的问题_第1张图片
上图,通过下面案例进行了解
Mycat-解决MySQL数据量大查询压力大的问题_第2张图片

·应用服务器/application:例如MySQL,链接mysql的工具有很多,例如java应用程序、Navicat这些链接工具
  • 逻辑库:上图中,在Mycat服务区中的db-user库就是逻辑库,还是逻辑上存在的库,真正的数据来源还是Mysql;在Mycat中逻辑库在{mycat_home}/conf/schema.xml中用标签定义:


  • 逻辑表:逻辑表的数据来源,可以是数据进行切分后,分布在一个或者多个分片库中,针对不同的数据分布和管理特点,我们将逻辑表又分为分片表、全局表、E-R表(有外键且需要经常进行修改或者关联查询的表)

  • ER表:关系型数据库是基于实体关系模型(Entity-Relationship Model)之上,通过其描述了真实世界中事物与关系,根据这一思路,提出了基于 E-R 关系的数据分片策略,子表的记录与所关联的父表记录存放在同一个数据分片上,即子表依赖于父表,通过表分组(Table Group)保证数据 Join 不会跨库操作。
  • 分片节点:就是定义有几个分片节点,例如上图两个主机各有一个节点,定义如下



                 select user()
                 
 
 
                 select user()
                 
 

你可能感兴趣的:(数据库)