【数据库】数据库性能漫谈,不知道的惊心动破

本文讲述了数据库性能优化的历程,包括基础硬件和软件调优,以及数据模型调整。强调了国产数据库需要跳出传统框架,寻找突破点,如打破门阈限制和简化架构以提升性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库性能漫谈

专栏内容

  • 手写数据库toadb
    本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。
    本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学习。

开源贡献

个人主页我的主页
管理社区开源数据库
座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.

前言

随着国产数据库行业的蓬勃发展,从业人数也越来越多,各类型的数据库如雨后春笋一般出现在各处的展会上,各种测试评比中。性能指标往往是人们关注的焦点,也是各厂商着力的重点。

回顾

回想刚开始做国产数据库时,经常会参与采购商或机构组织的各种评比测试,大半时间会花在性能测试阶段,自然也是非常紧张,最能体现团队协作和对优化路径进行决策分析的能力,当然也会发生一些惊心动破测试结果。

根据当前部署的硬件调优数据库参数,这只是第一步,大体思路都是减少磁盘IO的数量,比如增加缓存大小,减少日志,平滑脏页的刷盘等等;如果不能避免的情况下,增加顺序读写的占比,比如大页内存配置。

进一步对操作系统参数调优,常用的如网络参数,并发数量,文件打开数量等。还有文件系统的配置参数,block大小,减少时间的更新等等。
当然,也少不了对硬件部署的调整,最常见的磁盘的调整,当有十来块高速盘时,可以组成多组RAID,这样将数据分散在几组RAID上,可以并发读写。目前在磁盘层面,也是带有缓存的,一般都非常小,写缓存往往并不是最优的选择,可以使用透写模式。

除了这些之外,可能还有数据模型的调整,分区表,增加表分片等等。但这些,在面对多节点下的大并发和大数据量时,搞不好会产生级数级的增加,反而让系统资源浪费,甚至产生千万级的网络连接,或者内存缓存不够,swap耗尽等等极端事情,这就很吓人了,在实验室还好,在比拼测试时宕机是很严重的记录。

体会

做了多年数据库,了解过很多数据库,回头再来看这些,大多还处在我原来是这么用的,国产的也需要这么做的阶段,也就是原样的替换阶段,对于性能也是,希望与原来的性能一样。 其实一直这样追随着国外的数据库模式跑的话,感觉上很难超越,最大的可能是做到一样。如果有很大的突破,可能需要打破一些原有模式,进行赛道越迁才可以。

总结

就数据库性能而言,其实存在两种形式的瓶颈点,一种是门或阈类的点,比如不管多个并发,都需要经过某个阶段;一种是重量级过程,或是蜂窝式功能,前者指耗时的计算,而后者指单个并不耗时,但是需要经过很多这样的单体,这可能在性能分析时很难被关注到。
打破门阈的限制模式,或者架构的化繁为简,才有可能不再有追随的压迫感,当然需要舍弃一些固守的理念。

结尾

非常感谢大家的支持,在浏览的同时别忘了留下您宝贵的评论,如果觉得值得鼓励,请点赞,收藏,我会更加努力!

作者邮箱:study@senllang.onaliyun.com
如有错误或者疏漏欢迎指出,互相学习。

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩楚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值