文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

2023年如何选择合适的数据库?​

2024-11-30 16:45

关注

审校 | 孙淑娟

数据库常常是应用系统中最大的性能瓶颈。一旦部署到生产环境中,就很难迁移,因此为应用系统选择合适的数据库至关重要。

做出正确决定的一个重要部分是知道面临哪些选择。数据库领域在过去几年迅速发生了变化,本文将试图探讨以下几个主题

2023年的数据库格局​

在深入研究之前,不妨看一下当前数据库生态系统以及各类数据库的市场份额

如您所,尽管NoSQL数据库被大肆宣传关系数据库仍是最常用的数据库类型。如果我们看看最近的趋势,排名告诉我们略有不同的情形

显示,在过去的两年中,关系数据库已被几种不同类型的数据库模型多少抢去了地盘。以下是一些日益被开发人员采用的主要数据库模型

什么让数据库有不同的性能?​

谈到数据库性能,没有什么神奇的因素使一数据库的性能优于另一数据库。计算机科学的所有事情一样,归结为让企业可以针对特定用例优化性能的权衡。具体就数据库而言,CAP定理很好地介绍了为调优性能而可能做出的一些权衡。

比如在NoSQL数据库的早期阶段其可扩展备受炒作,但代价通常是牺牲标准关系数据库提供的数据一致性保证。

影响数据库性能的其他一些设计因素包括如下:

所有这些因素以及本文未提到的许多其他因素都会影响数据库的性能。通过调整这些因素,就可以针对非常具体的性能特征优化数据库,牺牲某些方面实际上不会成为问题,因为某些情况下不需要它们。

何时为您的应用系统使用专门的数据库?​

决定为您的应用系统使用哪个数据库牵涉很多因素。不妨看看为应用系统选择数据库时需要考虑的几个主要因素。

选择数据库的主要因素是如何创建和使用应用系统中的数据。最常见的入手途径莫过于确定您的工作负载是在线分析处理OLAP)还是在线事务处理(OLTP。OLAP工作负载以分析为中心,与关系数据库旨在处理的标准的OLTP工作负载相比,OLAP工作负载有不同的访问模式。OLAP查询通常只触及少数列来执行计算,可以通过使用为此设计的列式数据库进行优化。举例说,由于性能优势,大多数数据仓库构建在面向列的数据库之上。

旦大致确定了工作负载的类型,现在就需要考虑查询的延迟需求和写入数据的频率等方面。如果您的用例需要对监测之类的任务进行低延迟的近实时查询,可以考虑使用时间序列数据库,这种数据库旨在处理高写吞吐量,同时还允许在摄取数据后很快查询数据。

对于OLTP类型的工作负载而言,通常需要选择关系数据库还是文档数据库。这里的关键因素是查看数据模型,确定您是想要NoSQL文档数据库提供的模式灵活性,还是更喜欢关系数据库提供的一致性保证。

可能考虑的最后一是,您是否预计工作负载在一天中相当一致,还是会呈“突发式”,要求数据库偶尔处理大得多的读写量。在后一种情况下,就有必要使用这种数据库很容易扩增或缩减硬件,这样您不会大多数时候不需要的硬件而面临停运或高昂成本。

在决定使用什么数据库时,应该考虑到团队现有的技能组合。您需要确定使用专用数据库的潜在好处是否值得为此投入资源来培训团队学习如何使用它,是否值得为了学习新技术而牺牲生产力。

如果您知道构建的服务不需要针对性能全面优化,可以使用团队最熟悉的数据库来完成工作。另一方面,如果您知道性能很重要,克服采用新数据库带来的困难可能是值得的。

确保软件架构尽可能简单理想,因此系统添加另一个组件(比如新数据库应该与管理数据库将给系统增添的额外复杂性进行权衡。

如果您的应用系统非常适合专门的数据库,它可以充当应用系统数据的主数据库,那么这不是一个大问题。另一方面,如果您将使用通用的数据库作为应用系统的主存储,那么为一小部分数据添加一种额外的数据库可能不值得,除非您面临严重的性能问题。

结论​

数据库生态系统在迅速发展。虽然选择自己的数据库始终是不错的选择,但开发人员有必要密切关注一些新发布的技术,看看它们是否适合自己构建的系统搭建一种专门的数据库可以从许多方面帮助应用系统取得成功比如节省成本、为用户提升性能更容易扩展以及提高开发人员的生产力

原文How to Choose the Right Database in 2023,作者:Charles Mahler​

链接:​https://thenewstack.io/how-to-choose-the-right-database-in-2023/​

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯