分库分表(Mycat)

本文探讨了分库分表的原因,包括性能优化、数据库压力和数据量大的需求。介绍了如何进行垂直和水平分库分表,并通过Mycat作为中间件进行实例演示。同时,指出了分库分表的劣势,如全局序列问题和旧数据迁移挑战。
摘要由CSDN通过智能技术生成

为什么要分库分表

一、为什么要分库分表

  • mysql性能优化
  • 数据库压力
  • 数据量大
  • 分布式 服务化 系统架构设计必须考量

二、如何分库分表

  • 垂直的分库 — 根据业务分库
    • 多表连接查询需要跨系统
    • 分布式事务
  • 水平的分表
    • 主要解决单表数据量过大的问题
      • 例: 可以根据id取模 查分到不同的表中
    • 带来的问题
      • 分页
      • 事务
      • 聚合数据
      • 拆分规则的选择(根据业务来 比如查询条件)
        • 离散 均衡
          • 取模
          • 预分配hash
        • 连续
          • 按时间分
          • 按数量分
            • 例:userId 1~2000
      • 联表查询问题
  • 垂直的分表

三、使用Mycat分库分表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值