浅谈mycat读写分离的原理及适用场景 - SEO - 新闻资讯 - 浅谈mycat读写分离的原理及适用场景
新闻资讯

浅谈mycat读写分离的原理及适用场景

发布时间:2021-04-09 浏览次数:49

首先MyCat读写分离是什么呢?它属于一种数据库的中介软件,是联系数据库与应用的系统,进行数据与用户之间的交互处理,大致意义上我们可以把它看作数据的代理,我们平常所看到的应用只需要和代理交互就行,不需要去关注那些庞大而复杂的数据库。

8b37a69eab95c89e

1. 分库分表原理

它的读写分离里面通过定义路由规则来实现分片表(路由规则里面会定义分片字段,以及分片算法)。分片算法有多种,你所说的hash是其中一种,还有取模、按范围分片等等。在MyCat里面,会对所有传递的sql语句做路由处理(路由处理的依据就是表是否分片,如果分片,那么需要依据分片字段和对应的分片算法来判断sql应该传递到哪一个、或者哪几个、又或者全部节点去执行)。

2. 适用于哪些场景?相对于海量存储的Nosql的适用场景又如何?

数据量较大,导致单机可能顶不住,并且不愿意把结构调整为NoSQL数据库,在这种情况下就可以去想一想读写分离。当然,在使用以前可以尽可能的做一些规划,哪些表需要分片等等。另外它对跨库join的方式一般不怎么兼容,在使用的时候要尽可能的规避这种场景。

总之,开源性质较广阔,单一的MySQL数据库会受限制,数据量以及操作量都会下降.而使用MyCat读写分离就可以管理不同的MySQL 数据库,并且也可以实现之间的交互和转换MyCat 是 java 编写的中间件,开源无费用,有较多的人和协会组织对其实行更新换代管理维护。版本提升较快,能够随着时代发展而发展,如果有问题,可以得到较快解决。有着开源的网站,使用相当方便。所以多利用它的读写分离可以带来很多便利。


相关推荐

产品试用 产品试用
400-820-6580 免费电话