《DBA修炼之道:数据库管理员的第一本书》——1.9节人员配备的考虑

简介:

本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第1章,第1.9节人员配备的考虑,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看

1.9 人员配备的考虑
配备DBA不是一件简单的事情,有几个有待解决的重要的考虑,包括DBA人员的规模和DBA报告结构的规模。

1.9.1 需要多少DBA
最难确定的事情之一是保证企业数据库在线并高效运作的DBA的最佳数量。许多企业都试图将DBA人员规模降到最低,本想着人员减少了成本就降低了,但这种假设一般是不正确的。一个过度劳累的DBA可能会犯错,而导致的停机时间和操作问题的成本远远超过一个额外的DBA的薪资成本。
但确定DBA的最佳数量不是一门精确的科学,它取决于多种因素,包括:
数据库的数量。需要支持的数据库越多,数据库管理的工作就越复杂。每一个数据库都需要设计、部署、监控可用性和性能、备份以及管理。而一名DBA能够控制的数据库数量是有限的。
用户数量。随着更多的用户联机作为访问数据库应用程序的客户端,确保数据库的最佳性能变得更加困难。此外,随着用户量的增加,问题量与调用量增加的可能性也随之增加,进而增加了DBA工作的复杂性。
应用程序的数量。一个单一的数据库能被多个应用程序使用,实际上,DBMS的主要好处之一是使数据可以在整个企业内共享。随着更多的应用程序联机,对数据库的性能、可用性和需要的资源等方面都施加了压力,相同数量的数据库可能需要更多的DBA来支持。
服务水平协议(SLA)。SLA越严格,DBA越难提供满意的服务。例如,需要1秒响应时间的SLA比需要3秒响应时间的SLA更加难以支持。
可用性需求。当数据库具有可允许的计划停机时间时,数据库管理就变得更加容易,因为一些DBA任务要么需要中断运行,要么在中断时更加容易进行。一些考虑(诸如要支持电子商务交易和网络),推动了对24/7数据库可用性的需求。
停机时间的影响。数据库不可用对财务的影响越大,DBA就越困难,因为有人会施加压力以确保数据库更佳的可用性。
性能需求。随着对数据库的访问需求变得更加面向性能、更加快速,而要求的访问也更加频繁,DBA变得更加复杂。
应用程序的类型。企业部署各种类型的应用程序,必须要支持的应用程序的类型对需要什么DBA服务有所影响。DBMS和数据库对关键任务的应用程序的需求与对非关键任务的应用程序的需求是不同的。关键任务的应用程序可能更需要持续地监控和更多的警惕,以确保其可用性。同样,OLTP应用程序与OLAP应用程序会有不同的特点及管理需求。OLTP处理事务的时间可能比OLAP查询时间更短;OLTP应用程序执行读取和写入操作,而OLAP应用程序通常只有读取操作。每种应用程序都有管理挑战,都施加了不同的DBA程序与需求。
波动性。数据库变更需求的频率是需要额外的DBA与否的重要因素。一个很少需要变更的静态数据库环境,与一个不稳定的、经常变更的数据库环境需要DBA付出的努力是不同的。遗憾的是,大多数据库和应用程序波动性水平往往会随着时间的推移发生巨大的变化。很难确定整体的数据库环境将在其生命周期内如何波动。
DBA人员的经验。现有DBA人员的技能将对是否还需要额外的DBA产生影响。一名技术娴熟的DBA人员能够做到的要比一个新手团队多。且技能比经验更能决定所需要的DBA人员的水平。一名有两年工作经验的、非常积极的DBA可能轻松超过一名具有十年工作经验却筋疲力尽、无心工作的老手。
开发人员的经验。从事数据库和SQL编程的开发人员越不熟练,在开发过程、执行复杂的SQL任务、分析、调试、调优、确保连接性中需要DBA人员介入的就越多。随着开发人员经验的增加,DBA工作的复杂性也相应减少。
终端用户经验。当终端用户试图通过随机SQL语句直接访问数据库时,他们的技能水平将直接影响DBA工作的复杂性。
DBA工具。DBMS供应商和为数不少的ISV都提供自动执行DBA任务的工具,从而使得管理数据库变得更容易。工具的可用性越高且介入度越深,DBA的工作将会变得越简单。行业分析师预估一旦没有了DBA工具,DBA的需求量将两倍于现在的数目。
确定需要的DBA数量不是一门精确的科学。
尽管罗列了以上复杂的问题,但要想把所有这些因素都合并成一个公式而得出需要雇佣的DBA最佳数量还是非常困难的。尽管研究或许有些过时,但META集团的行业分析师还是创造了一个宽松的公式计算DBA努力的水平(Level of Effort,LOE)。公式并不严谨,但是通过六种因素得出DBA LOE:系统复杂性、应用程序不成熟度、终端用户水平参差不齐、软件功能、系统可用性和人员不成熟度。通过尽可能地评估表示每种因素高或低的分值,将这些值代入公式得出一个数字,再将该数字转换成所需的DBA数量的预估。
创造一个能够得出需要雇佣的DBA最佳数量的公式非常困难。

1.9.2 DBA报告结构
在企业里,DBA团队应当向谁报告呢?不同的企业采取了不同的DBA报告结构,但有些报告阶梯是通用的。恐怕没有人能说出哪种报告结构优于其他。下面看一下几种可能的结构。
最好的结构之一是创建一个数据资源管理组(DRM),囊括企业所有的数据和信息专家——DA、DBA、数据分析师和性能分析师等。这个组通常直接向CIO报告,但也可能通过一个系统编程单元、数据中心或技术支持来间接向CIO报告。图1-6描述了这种典型的报告结构。


261d23e708176250e02cb635e808489b2851065b
相关文章
|
存储 机器学习/深度学习 人工智能
ChatGPT盛行的当下,向量数据库为大模型配备了一个超级大脑
ChatGPT盛行的当下,向量数据库为大模型配备了一个超级大脑
499 0
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
126 6
|
9天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
24 4
|
7天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
23 1
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
61 3
Mysql(4)—数据库索引
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
82 1
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
21天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
84 4
|
4天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
33 0
|
27天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?