1.数据库性能瓶颈
产生瓶颈的原因:
--数据库连接数达到机器性能的瓶颈
文章图片
--表数据量过大,有些查询命中不了索引从而导致全表扫描;维护索引的效率也随着数据量大到一定量级后指数级下降;
新增修改数据的速度会下降很多。
文章图片
文章图片
--硬件资源本身的qps和tps的瓶颈
2.大数据量数据库性能解决方案 2.1. sql优化(避免多次查询,利用好索引)
2.2. 缓存(redis,es)
2.3. 建好索引(根据查询实际需求来建立索引)
2.4. 读写分离
【数据库性能瓶颈和常见解决方案】区别读、写多数据源方式进行数据的存储和加载。数据的存储(增删改)一般指定写数据源,数据的读取查询指定读数据源(读写分离会基于主从复制)。
文章图片
解决的问题:
1,解决了数据库连接瓶颈
2,释放了硬件资源限制(QPS\TPS)
主从复制形式:
文章图片
2.5. 分库分表
对数据的库表进行拆分,用分片的方式对数据进行管理。
垂直拆分
文章图片
解决的问题:
? 1,解决了数据库连接瓶颈
? 2,释放了硬件资源限制(QPS\TPS)
水平拆分
文章图片
分库分表中间件的工作原理:
文章图片
解决的问题:
? 1,表数据量大的问题 存储空间也解决了
? 2,解决了数据库连接瓶颈
? 3,释放了硬件资源限制(QPS\TPS)