mycat分表分库的原理是什么?

本文介绍Mycat数据库中间件如何通过定义路由规则实现分库分表,包括hash在内的多种分片算法。同时探讨了Mycat适用场景及与NoSQL数据库对比的应用优势。

想知道mycat是怎么样实现分表分库的,是用了hash还是其他原理?还有mycat适用于哪些场景?相对于海量存储的Nosql的适用场景又如何?

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

2.mycat适用于哪些场景?相对于海量存储的Nosql的适用场景又如何?数据量大到单机hold不住,而又不希望调整架构切换为NoSQL数据库,这个场景下可以考虑适用mycat。当然,使用前也应该做规划,哪些表需要分片等等。另外mycat对跨库join的支持不是很好,在使用mycat的时候要注意规避这种场景。PS: 你可以到mycat官网上面获取《Mycat权威指南》,也可以到mycat github上面获取代码以及相关文档。

mycat官网地址: http://www.mycat.org.cn/
mycat github地址:https://github.com/MyCATApache/Mycat-Server

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值