问题分析 我们学到现在为止,所有的数据库、所以的表,表中的所有数据,都是存放在一个数据库服务器当中的,如果业务每天会产生了大量的数据, 长年累月下来这台数据库中所存放的数据量将会非常大,那如果说这台数据库的磁盘以及内存不足了,该怎么办呢
单数据库的问题分析
1、当累积的数据量大时,一般会增加磁盘、内存
2、由于磁盘和内存受硬件影响,所以仅仅这样是不能完全解决问题的,会降低数据库性能
随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在一下性能瓶颈:
1、IO瓶颈: 热点(太多用户访问)数据太多,造成数据库缓存不足,从而产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈
2、CPU瓶颈: 排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈
分库分表 指的是将原来存储在一台数据库服务中的数据,分散地存储在多台数据库服务中,从而缓解单台数据库服务的磁盘存储及访问的压力。 原来是用户所有的请求是一台数据库服务器在处理,现在是分散到多台数据库服务器上面进行处理