mycat使用(一)

原创 2018年04月16日 11:26:05

笔者是在使用读写分离和分表分库的时候接触了mycat,百度找了一些推荐的中间件,最后选择了mycat,原因是使用人数较多,开源,一直在更新,问题查询较容易。

本文记录一些使用场景和概念:

应用场景:

1,单纯的读写分离,此时配置最为简单,支持读写分离,主从切换

2,分表分库,对于超过 1000 万的表进行分片,最大支持 1000 亿的单表分片

3,多租户应用,每个应用一个库,但应用程序只连接 Mycat,从而不改造程序本身,实现多租户化

4,报表系统,借助于 Mycat 的分表能力,处理大规模报表的统计

5,替代 Hbase,分析大数据

6,作为海量数据实时查询的一种简单有效方案,比如 100 亿条频繁查询的记录需要在 3 秒内查询出来结果,除了基于主键的查询,还可能存在范围查询或其他属性查询,此时 Mycat 可能是最简单有效的选择

基本概念:

1,数据库中间件:就是介于数据库与应用(代码)之间,进行数据处理与交互的中间服务。

2,逻辑库(schema):数据库中间件可以被看做是一个或多个数据库集群构成的逻辑库。

3,逻辑表(table):读写数据的表就是逻辑表。逻辑表,可以是数据切分后,在一个或多个分片库中,也可以不做数据切分,不分片,只有一个表构成。

4,分片表:指那些原有的很大数据的表被切分到多个数据库后的表,这样,每个分片都有一部分数据,所有分片构成了完整的数据。

5,非分片表:非分片是相对分片表来说的,就是那些不需要进行数据切分的表。

6,全局表:类似字典表的表,变动不频繁,数据量总体变化不大,数据规模不大,很少有超过数十万条记录。

7,分片节点(dataNode):数据切分后,一个大表被分到不同的分片数据库上面,每个表分片所在的数据库就是分片节点。

8,节点主机(dataHost):数据切分后,每个分片节点不一定都会独占一台机器,同一机器上面可以有多个分片数据库,这样一个或多个分片节点所在的机器就是节点主机(dataHost)。

9,分片规则(rule):前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则

10,全局序列号(sequence):数据切分后,原有的关系数据库中的主键约束在分布式条件下将无法使用,因此需要引入外部机制保证数据唯一性标识,这种保证全局性的数据唯一标识的机制就是全局序列号

11,多租户:多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

多租户实现方式:

1,独立数据库:即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。    

2,共享数据库,隔离数据架构:即多个或所有租户共享 Database,但是每个租户一个 Schema(逻辑库)。

3,共享数据库,共享数据架构:即租户共享同一个 Database、同一个 Schema,但在表中通过 TenantID 区分租户的数据。这是共享程度最高、隔离级别最低的模式。





版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gcc_java/article/details/79957899

基于MYCAT的MYSQL主从与读写分离配置详解与示例

基于MYCAT的MYSQL主从与读写分离 配置详解与示例
  • Dreamcode
  • Dreamcode
  • 2015年10月30日 15:07
  • 6822

Mycat之——Mycat在MySQL主从复制基础上实现读写分离

今天,给大家带来一篇Mycat在MySQL主从复制的基础上实现读写分离,这里大家需要注意的是MySQL的主从复制是依赖的MySQL自己的主从复制机制,Mycat不负责MySQL的主从复制,有关MySQ...
  • l1028386804
  • l1028386804
  • 2017年07月17日 22:57
  • 1809

MyCat - 使用篇(2)

数据库路由中间件MyCat - 使用篇(2)基本概念3. 分片3.1 分片节点(dataNode)表被水平切分后,每个分片表所在的数据库就是一个分片节点。一个分片节点对应一个数据库(mysql数据库)...
  • zhxdick
  • zhxdick
  • 2016年02月23日 09:30
  • 8422

mycat中间件(一)描述

前言 mycat概述 数据库切分概述 OLTP 和OLAP 关系型数据库和Nosql数据库 优缺点比较 数据切分 概念 数据的垂直纵向切分 优点 缺点 数据的水平横向切分 优点 缺点 数据切分四原则 ...
  • YuYunTan
  • YuYunTan
  • 2016年11月14日 16:06
  • 2136

Mycat的配置---雄关漫道真如铁,而今迈步从头越

1 搞定schema.xmlSchema.xml作为MyCat中重要的配置文件之一,管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource。弄懂这些配置,是正确使用MyCat...
  • wangshuang1631
  • wangshuang1631
  • 2017年03月17日 14:56
  • 3319

CentOS安装配置Mycat+mysql水平分割,实现分布式存储

转自http://blog.csdn.net/testcs_dn/article/details/51438216 谢谢作者的贡献! 环境:CentOS6.5 JDK1.8 MySQL...
  • llgyzb
  • llgyzb
  • 2017年02月06日 09:28
  • 1639

mycat更新时字段无法更新异常的解决方案

场景描述 开发环境:spring boot1.5.3.RELEASE +JPA 数据库环境:mycat 1.6+mysql5.6 报错信息:对分片表进行更新操作,提示XX字段无法更新 报错原因myca...
  • nnsword
  • nnsword
  • 2017年09月15日 09:39
  • 428

mycat实现mysql大表自动水平扩展

mycat实现mysql大表自动水平扩展
  • crj_9527
  • crj_9527
  • 2016年03月03日 17:27
  • 2828

mycat读写分离与主从切换

1, 分库分表的优缺点、以及为什么分表方式无法成为主流?分表:在台服务器上,优点是易维护,类似表分区,缺点是在一台db服务器上,无法分担IO、负载集中。 分库:在多台服务器上,优点是分担IO、负...
  • mchdba
  • mchdba
  • 2016年01月31日 23:41
  • 22024

mycat实现mysql读写分离,热切换,集群

在互联网时代,实现mysql读写分离,热切换,集群能大大提高mysql数据库访问压力,防止数据丢失,使用mycat能帮我们实现这些。我们要实现的是这种架构。1、Mycat能实现数据库的垂直切分和水平切...
  • yingxiake
  • yingxiake
  • 2016年06月17日 10:40
  • 3767
收藏助手
不良信息举报
您举报文章:mycat使用(一)
举报原因:
原因补充:

(最多只允许输入30个字)