MyCat核心概念

数据库分片是一种有效的负载分散策略,通过垂直切分和水平切分将数据分布到多个数据库。逻辑库和逻辑表提供透明的访问体验,分片表和非分片表根据数据量决定是否切分。ER表确保关联查询不跨库,全局表则在所有分片中复制,以优化基础数据的查询。分片节点和节点主机管理数据存储,而分片规则决定了数据如何分布。
摘要由CSDN通过智能技术生成

分片

  1. 通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库上面,以达到分散单台设备负载的效果,数据的切分根据切分规则的类型,可以分为两种切分模式
  • 按照不同的表来切分到不同的数据库上,称为数据的垂直切分
  • 根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库上面,称为 水平切分

逻辑库(schema)

MyCat是一个数据库中间件,对实际应用来说,并不需要知道中间件的存在,业务开发人员只需要知道数据库的概念,所以数据库中间件爱你可以被看做是一个或多个数据库集群构成的逻辑库。

逻辑表(table)

在分布式数据库环境下,对应用来说,读写数据的表就是逻辑表。逻辑表,可以是数据切分后分布在一个或多个分片库中,也可以不做数据切分,不分片,只有一个表构成。

分片表

原有很大数据的表,需要切分到多个数据库的表,这样每个分片都有一部分数据,所有分片 构成了完成的数据。总而言之,就是需要进行分片的表。

非分片表

一个数据库中并不是所有的表都很大,某些表时可以不用进行切分的,非分片表是相对分片表来说的,就是那些不需要进行数据切分的表

ER表

关系型数据是基于实体关系模型(Entity Relationship Model)的,MyCat中的ER表来源于此,MyCat提出基于ER关系的数据分片策略,子表的记录与其所关联的主表的记录存放在同一个数据分片中,通过表分组保证数据关联查询不会跨库操作。

全局表

在一个大的项目中,会存在一部分字典表,在其中存储的是项目中的一些基础的数据,而这些基础数据,数据量都不大,在各个业务表中可能都存在关联,当业务表由于数据量大而分片后,业务表与复数的数据字典表之间的关联查询就变成了比较棘手的问题,在mycat中,可以通过数据冗余来解决这类表的关联查询,即当所有分片都复制这一份数据,因此可以把冗余数据的表定义为全局表

分片节点(dataNode)

数据切分后,一个大表被分到不同的分片数据库上面,每个表分片的数据库就是分片节点

节点主机(dataHost)

数据切分后,每个分片节点不一定都会独占一台机器,同一机器上可以有多个分片数据库,这样一个或多个分片节点所在机器就是节点主机,为了规避单节点主机并发数限制,尽量将读写压力高的分片节点均衡放在不同的节点主机

分片规则

一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值