数据库水平扩容简述
一、 背景
随着云技术的不断发展,存储资源和计算资源的成熟,成本不断下降,使得企业开发部署提供服务更加的便捷。得益于此,对于高速发展的中小型企业,可以通过不断地堆砌机器,增加应用集群来应对不断增长的流量。
但是随着企业的不断发展,其中一个瓶颈并不能简单地通过堆砌机器来解决,这便是越来越庞大的数据库带来的性能天花。而应对这个天花板的有效手段之一,就是通过对数据库的分库分表,使得单表的数据量低于500W。
今天我们讨论一个更长远一点的问题。就是当企业进入了高速增长的赛道后,即便是对数据分库分表后,无论是数据库的容量,还是单库单表的数据量也总会到达天花板,此时该如何扩展我们的数据库性能。
二、 基础知识
1、分库分表
分库分表这个概念十分好理解,就是原来存储在一个数据表内的数据,通过某种规则平均的分散在多个数据库的多张同样结构的数据表中。
我们假定以用户表(t_user)来举例子,假设当前这个表的数据量已经到达了2kw,相对