分库分表的中间件和迁移方案

本文探讨了为何要进行分库分表,介绍了包括cobar、TDDL、sharding-jdbc等在内的数据库中间件,并详细阐述了垂直拆分与水平拆分的区别。同时,提供了两种单库单表向多库多表迁移的方案:长时间停机迁移和不停机双写迁移,分析了各自的优缺点。
摘要由CSDN通过智能技术生成

分库分表

一、为什么要分库分表

单机mysql带来的问题:
1、mysql单机,扛不住并发
2、mysql单机磁盘容量快满
3、mysql单表数据量太大,sql执行越跑越慢
利用分库分表将单机拆分成多机,带来的好处。
1、可承受的并发增加数倍;
2、磁盘容量增加数倍,使用率降低;
3、单表数据量缩小,sql语句执行速度加快。

二、分库分表的中间件

数据库中间件:用来做数据的分发。
有两种:proxy类和client类
在这里插入图片描述
cobar、TDDL、sharding-jdbc、atlas、mycat。
cobar :阿里开源,代理中间件,不支持读写分离,存储过程、跨库join和分页等,已经没啥人用了。
TDDL:淘宝,client。不支持join、多表查询,只支持curd,读写分离,用的人不多。
atlas:360开园,proxy。用的人不多。
sharding-jdbc:当当开源 client。sql语法支持的多,支持分库分表、读写分离、分布式id生成等等。大部分公司的选择。不要部署,运维成本低,但是各个系统都要耦合sharding-jdbc依赖。
mycat:proxy方案。势头很猛。

二、垂直拆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值