数据库
首页 > 数据库> > MySQL分库分表原理

MySQL分库分表原理

作者:互联网

前言

在互联网还未崛起的时代,我们的传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问题就暴露出来了。而有下面几个因素会影响数据库性能:

为了提升性能,所以我们必须要解决上述几个问题,那就有必要引进分库分表。

垂直拆分 or 水平拆分?

当我们单个库太大时,我们先要看一下是因为表太多还是数据量太大,如果是表太多,则应该将部分表进行迁移(可以按业务区分),这就是所谓的垂直切分。如果是数据量太大,则需要将表拆成更多的小表,来减少单表的数据量,这就是所谓的水平拆分。

垂直拆分

水平拆分

几种常用的分库分表的策略

分库分表后引入的问题

使用分库分表中间件

此外还有淘宝的TDDL,支付宝的OneProxy,360的Atlas等。



转自:https://www.jianshu.com/p/7aec260ca1a2

标签:分库,数据量,单库,查询,拆分,MySQL,分表
来源: https://www.cnblogs.com/xkzhangsanx/p/11036662.html