【MySQL】分库分表

本文探讨了高并发系统中分库分表的重要性,解释了为何要进行分库分表,并介绍了常见的分库分表中间件如sharding-jdbc和mycat的优缺点。文章详细阐述了垂直拆分和水平拆分的实践方法,以及如何设计动态扩容方案,包括不停机迁移策略,为系统平滑过渡到分库分表提供了指导。
摘要由CSDN通过智能技术生成

一、常见问题

       1、为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们是如何对数据库进行垂直拆分或水平拆分。

       2、如何设计可以动态扩容的分库分表方案?

       3、如何把系统不停机迁移到分库分表?

二、为啥要分库分表

       其实,这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发数据量大两个问题。而且现在说实话,尤其是互联网公司类的公司面试,基本上都会来这么一下。分库分表是很普通的技术问题,不问实在不行,而如果你不知道那也实在说不过去。

       说白了,分库分表是两回事,大家可别搞混了,可能光分库不分表,也可能光分表不分库。都有可能,先给大家抛出一个问题。

       随着用户量的增长,每天活跃用户数上千万。每天单表新增数据,多个50万。目前1个表的总容量都已经达到两三千万啦!数据库磁盘容量不断消耗掉,高峰期并打达到了5000-8000。单机系统支撑不到现在。公司业务发展越好,用户就越多,数据量越大,请求量越大。那单个数据库一定扛不住。

       假设把MySQL从单机变成了三机。

       ① MySQL从单机变成了三机,现在可以承受的并发增加了3倍。

       ② 将原来3千万数据从1个库分到了3个库,每个库就1/3的数据量,数据库服务器的磁盘使用率大大降低。

       ③ 原来1个单表是3千万数据&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值