数据库性能软件究竟是企业刚需还是鸡肋?

日期: 2016-06-01 作者:Craig S. Mullins翻译:冯昀晖 来源:TechTarget中国 英文

确保数据库系统高效运行是现代IT管理的核心需求。有一些专用工具可以帮助数据库管理员和IT专业人士监控、管理数据库并优化数据库及其访问应用的性能。但是,在你考虑是否需要一款数据库性能软件之前,你应该首先明确数据库性能的定义。 从较高层次而言,数据库性能可以定义为数据库管理系统(DBMS)给用户提供数据的效率。

但是,要更准确地理解数据库性能,需要掌握下面五个因素: 工作负载是DBMS需要处理的活动任务,它推动了系统的处理请求。工作负载可以包括:交易处理、批量作业、临时查询、报表和分析应用、数据库工具和系统命令。负载量每天、每小时甚至每分钟都会有大幅波动。有时候它很稳定且可预测,但是更多的时候负载会……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

确保数据库系统高效运行是现代IT管理的核心需求。有一些专用工具可以帮助数据库管理员和IT专业人士监控、管理数据库并优化数据库及其访问应用的性能。但是,在你考虑是否需要一款数据库性能软件之前,你应该首先明确数据库性能的定义。

从较高层次而言,数据库性能可以定义为数据库管理系统(DBMS)给用户提供数据的效率。但是,要更准确地理解数据库性能,需要掌握下面五个因素:

工作负载是DBMS需要处理的活动任务,它推动了系统的处理请求。工作负载可以包括:交易处理、批量作业、临时查询、报表和分析应用、数据库工具和系统命令。负载量每天、每小时甚至每分钟都会有大幅波动。有时候它很稳定且可预测,但是更多的时候负载会上升,比如在黑色星期五零售电商网站的数据库会有压力较大的交易负载。

吞吐量是衡量系统处理数据能力的一个重要指标。这个因素涉及I/O性能和CPU速度,也会受数据库服务器并行处理能力和操作系统及系统软件效率的影响。

资源包括系统提供的硬件和软件工具,例如数据库内核、磁盘空间、内存、缓存控制和微代码。在数据库中访问和修改数据的性能可以通过恰当分配应用程序资源来获得改善。

优化可以提升查询性能。所有类型的系统都可以优化,但是关系型数据库在查询优化方面是非常独特的,因为查询优化主要是在DBMS内部实现的。当然还有其它因素需要考虑,例如SQL配置和数据库参数,这些都可以使数据库效率更优,带来最有效的访问途径。

资源争用会在对特定系统资源有需求时发生,例如:如果负载任务的两个或更多组件都需要使用系统唯一资源,就会出现冲突。比如:两次更新相同一块数据。随着竞争现象增多,吞吐量会下降。

因此,数据库性能更准确地定义应该是:优化资源利用率,增加吞吐量,最小化竞争,使得可处理负载最大化。

数据库性能管理软件分类

在我们深入研究各种数据库性能管理工具之前,我们需要了解性能监控和性能管理的区别。尽管这是两种不同的定义,但它们经常容易被混淆。事实上,性能监控是性能管理的一部分,性能管理共有三方面组成:

  • 监控数据库系统,出问题时能及时发现。
  • 分析系统数据确定纠正措施。
  • 解决或缓解发现的问题。

数据库性能软件在上面三个方面都会带来价值。除了简单地监视系统和修复问题,一些软件还提供了综合功能。

这种软件还可以超越处理常规数据库性能问题的范围,例如:管理涉及以下三方面组件的数据库应用性能:

DBMS。这种系统软件提供数据存储和供程序访问的功能。它必须与其它系统软件和硬件交互,需要做一定配置来确保其功能正确稳定运行。此外,有一些系统参数需要配置DBMS和其行为可访问的资源。其中包括一些重要的性能参数,例如:内存用量,I/O吞吐和数据页锁定情况。

数据库结构。数据库、表、索引设计的好坏也会影响数据库性能。包括数据库物理设计、磁盘用量、表数量、索引设计和数据定义语言参数。数据如何组织必须妥善管理。随着数据库中数据逐渐更新修改,其效率会逐渐降低,因此,需要定期对纷乱的数据做重组和碎片整理。

SQL和应用程序代码。编写高效的SQL语句是比较复杂的,因为获取同样的查询结果,SQL语句有很多种写法。但是,每种写法的效率和性能差异巨大。DBA需要一些可以监视SQL代码的工具,利用工具显示数据访问途径,并对优化SQL代码给出建议。

什么时候需要使用数据库性能工具?

总的来说,数据库性能软件可以识别瓶颈和资源竞争点,监视负载和吞吐量,审查SQL性能并提供优化建议,监视存储空间和磁盘碎片,查看和管理你的系统资源和DBMS资源用量。

大多数情况下,数据库性能问题是由终端用户发现的,因为系统不能有效处理他们的工作了。通常,他们的问题表述会比较模糊而且是比较上层的描述,例如:“系统运行缓慢”或者“我的屏幕反应没有以前快了”。这就需要更精确的定位问题。利用工具可以找到问题解决办法。数据库性能管理工具可以帮助发现问题并给出相应的解决办法。

数据库性能软件对于已经实施服务级别协议管理应用性能的组织非常重要。这些工具可以帮助保障交付给IT用户足够的服务水平,同时与业务优先级保持一致,在可接受的成本范围内满足需求。

一些组织使用不只一种DBMS,他们的DBA需要保障公司所有数据库系统的性能。但是每种DBMS的界面、参数和设置以及它们对运行的影响都是不同的。异构数据库性能工具可以通过使用智能接口避免这种混乱,这些软件使不同的数据库以相似的外观展示。

数据库性能软件市场情况

数据库性能工具市场可以被划分为三大类:第一类是DBMS供应商市场,包括IBM公司、微软公司和Oracle公司。这些公司销售自己的DBMS软件,同时也销售异构工具。第二类包括大型ISV和技术供应商,例如BMC、CA和戴尔公司,他们销售数据库性能软件和其它类型的系统软件。第三类是纯粹的数据库工具软件供应商,包括一些关注数据库管理和维护的公司,例如:Bradmark技术公司、Idera公司和SolarWinds公司。

这些工具通常会直接销售给客户,授权方式包括:按个体用户,按数据库核心数或者按管理服务器的规模授权。最常见的情况是,数据库性能工具会与数据库软件打包销售,作为原始DBMS采购的一部分。

数据库性能软件在整个IT性能管理软件市场中占有很大比例。它提供了许多益处,有许多种产品可供选择。

作者

Craig S. Mullins
Craig S. Mullins

数据管理策略研究人员,拥有超过30年的数据库系统经验

相关推荐

  • 你对微软Azure SQL数据仓库了解多少?

    微软Azure SQL数据仓库的出现,让用户能够根据实际的性能需求来提升计算能力和扩展存储空间。帮助用户实现了按需消费,进而节省了购买资源上的开支。

  • 数据库市场冷观察:从SQL到NoSQL

    随着技术的发展和客户需求的改变,一种新的DBMS走进人们的视野,它成本更低、而且有更好的扩展性。

  • Hadoop和DBMS的互补性

    随着Microsoft 也加入Hadoop 阵营,Hadoop 已经完全变成了DBMS 的好朋友了,DBMS 目前有些处理好的领域和商业支持,Hadoop 也有自己的优势和使用案例。