数据库性能瓶颈和常见解决方案

1.数据库性能瓶颈

 产生瓶颈的原因:

--数据库连接数达到机器性能的瓶颈

数据库性能瓶颈和常见解决方案_第1张图片

 

 --表数据量过大,有些查询命中不了索引从而导致全表扫描;维护索引的效率也随着数据量大到一定量级后指数级下降;新增修改数据的速度会下降很多。

 数据库性能瓶颈和常见解决方案_第2张图片  数据库性能瓶颈和常见解决方案_第3张图片

--硬件资源本身的qps和tps的瓶颈

2.大数据量数据库性能解决方案

2.1. sql优化(避免多次查询,利用好索引)

2.2. 缓存(redis,es)

2.3. 建好索引(根据查询实际需求来建立索引)

2.4. 读写分离

  区别读、写多数据源方式进行数据的存储和加载。数据的存储(增删改)一般指定写数据源,数据的读取查询指定读数据源(读写分离会基于主从复制)。

数据库性能瓶颈和常见解决方案_第4张图片

  解决的问题:

  1,解决了数据库连接瓶颈

  2,释放了硬件资源限制(QPS\TPS)

  主从复制形式:

 数据库性能瓶颈和常见解决方案_第5张图片

2.5. 分库分表

  对数据的库表进行拆分,用分片的方式对数据进行管理。

垂直拆分

数据库性能瓶颈和常见解决方案_第6张图片

解决的问题:

​ 1,解决了数据库连接瓶颈

​ 2,释放了硬件资源限制(QPS\TPS)

水平拆分

数据库性能瓶颈和常见解决方案_第7张图片

 分库分表中间件的工作原理:

 解决的问题:

​ 1,表数据量大的问题 存储空间也解决了

​ 2,解决了数据库连接瓶颈

​ 3,释放了硬件资源限制(QPS\TPS)

你可能感兴趣的:(系统架构)