性能优化高手课
尉刚强
资深软件设计咨询顾问
19574 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 31 讲
性能优化高手课
15
15
1.0x
00:00/00:00
登录|注册

07 | 数据库选型:如何基于性能需求选择合适的数据库?

你好,我是尉刚强。
我们知道,在软件系统的性能建模分析设计中,并行架构设计、IO 模型设计、内存模型设计是最核心的三个维度,它们决定了最终产品的性能底座。而在互联网应用服务产品中,内存模型设计与 IO 模型设计的大部分职责,其实在很大程度上都沉淀到了数据库服务与消息中间件中来实现。
所以,这节课我会聚焦在数据库选型上,以一个真实的性能需求案例为引导,来带你了解在设计或性能优化阶段,如何寻找备选数据库并进行初步地分析、筛选,然后基于性能评估与软件设计的权衡,来进行数据库选型与方案设计的过程方法。
不过我们也要知道,数据库的种类非常繁多,要了解每一款数据库的功能与性能其实是不现实的,所以这节课我主要的目的就是帮你建立基于性能的数据库选型思路。这样,当你面对不熟悉的性能需求或问题时,也可以做到有的放矢,并能够借助这套数据库选型的过程方法,找到合适的数据库与设计方案。
现在,我先来给你介绍下这个性能需求案例。这是一个 SaaS 服务产品中的分析服务,主要功能是针对客户提交的数据进行查询搜索并生成报表数据。通过对产品线上的数据规模和特征分析,以及对系统的核心业务流程分析,我们可以挖掘出其最核心的性能需求:
实际上,数据查询与搜索、报表生成都是互联网产品的核心业务场景,也是性能问题频发的重灾区。而在软件设计阶段从性能的角度出发,选择合适的数据库与架构设计,就可以在很大程度上避免出现这样的问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了如何基于性能需求选择合适的数据库。作者首先强调了在软件系统的性能建模分析设计中,并行架构设计、IO模型设计、内存模型设计是最核心的三个维度。然后,通过一个SaaS服务产品中的分析服务案例,阐述了如何在设计或性能优化阶段,寻找备选数据库并进行初步地分析、筛选,然后基于性能评估与软件设计的权衡,进行数据库选型与方案设计的过程方法。在寻找备选数据库的过程中,作者提出了基于性能寻找备选数据库列表的方法,并介绍了数据库的通用分类。接着,作者介绍了理论评估筛选出待分析数据库的方法,包括数据库官网提供的性能指标、存储模型与架构视图等。最后,作者强调了在有极致的性能要求时,需要对备选数据库进行更深入的性能评估分析。整篇文章通过实际案例和方法论,帮助读者建立基于性能的数据库选型思路,使读者能够在面对不熟悉的性能需求或问题时,有的放矢,并能够借助这套数据库选型的过程方法,找到合适的数据库与设计方案。文章内容丰富,深入浅出,对于需要进行数据库选型的技术人员具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能优化高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • li3huo
    单纯读或写的性能提升可以采取增加 buffer 把多次写入合并为单次/把频繁读的公共内容写入 cache 的方式来提升吞吐量

    作者回复: 哈哈,你总结的很精炼!

    2021-06-02
  • VIC
    doris,和clickhouse比呢
    2023-08-21归属地:上海
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部