MYCAT学习笔记

本文详细介绍了Mycat作为数据库中间件在分库分表中的应用,包括分库分表的分类、分片规则的制定与实现,如全局表、ER分片和多对多关联策略。此外,还探讨了如何处理SQL语句,尤其是join操作,以及全局序列号的必要性和实现方法。最后,讨论了Mycat的高可用性和事务处理原理。
摘要由CSDN通过智能技术生成

1、分库分表的分类

  • 垂直划分——分库,根据业务类型将不同的表,分到不同的数据库,主要用来解决单点数据库节点的压力瓶颈问题
  • 水平划分——单数据库节点的分表,通过不同的表名来存储部分数据,用来解决单表数据量太大的问题。
  • 水平划分——借用中间件,水平复制相同的数据库定义到多个实例节点,由中间件来实现分片逻辑

2、分片规则以及实现方式

分片之后,原生的SQL操作语义总是会弱化的,但是可喜的是,不同的业务场景下,对原生的SQL操作的语义弱化是能接受的,因此损失部分功能语义而提出的多样化分片规则,分别适合不同的业务场景,需要我们深入理解然后才能做到根据不同的业务场景进行合适的选择。

2.1、分片规则制订思考

  • 分片数据如何插入。把数据识别出来,然后执行一下分片函数即可定位到节点,再执行对应的SQL即可。
  • 分片数据如何关联查询。最难也是主要思考的地方,因为数据分布不同的节点,要全表关联是不容易实现的。
  • 分片数据删除。把查询条件识别出来,然后执行一下分片函数即可定位到节点,再执行对应的SQL即可,对了提高执行效率,尽量避免join操作。
  • 分片数据修改。把查询条件识别出来,然后执行一下分片函数即可定位到节点,再执行对应的SQL即可,对了提高执行效率,尽量避免join操作。

2.2、分片规则

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值