Skip to content

第06章 分库分表解决方案 Sharding-JDBC

项目分库分表的原因

在P2P平台中,标的信息和投标信息做为平台基础业务数据存在。随着平台的发展,这些数据可能会越来越多,甚至达到亿级。以MySQL为例,单库数据量在5000万以内性能比较好,超过阈值后性能会随着数据量的增大而明显降低。单表的数据量超过1000w,性能也会下降严重。这就会导致查询一次所花的时间变长,并发操作达到一定量时可能会卡死,甚至把系统给拖垮,因此 P2P 平台需要解决这个性能瓶颈问题。

那么是否可以通过提升服务器硬件能力来提高数据处理能力?这种方案是可以得到一定提升,但是成本很贵,并且提高硬件也是有上限的。此时就引入数据库分库分表技术,即把数据分散在不同的数据库中,使得单一数据库和表的数据量变小,从而达到提升数据库操作性能的目的

Sharding-JDBC

此部分内容详见《Sharding-JDBC》笔记

I know where dry desert ends, green grass grows · MooN