首页 > 自考资讯 > 自考知识

dba是做什么的,dba 的主要职责是什么?

头条共创 2024-07-05

概述

很多人在运维后期都会选择往DBA的方向走,所以今天我们主要介绍一下什么是DBA,以及DBA的一些职责。无事可做

DBA

数据库管理员(DBA)是对数据库管理系统(DBMS)进行管理和维护的相关人员的总称,是运维工程师的一个分支,主要负责设计、测试和部署业务数据库。负责. 完整的交付生命周期管理。

a45a5938e79f4ce8b68dbe9a2fd43b25~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720731353&x-signature=o49d5p%2BC1ewcnV0CB%2BjkT9lC0y4%3DDBA的中心目标是确保数据库管理系统的稳定性、安全性、完整性和高性能。

在国外,有的公司称DBA为数据库工程师,但两者的工作职责基本相同,都要求数据库服务24小时稳定高效运行。 DBA和数据库开发工程师的区别):

1)数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,重点是软件研发。

2)DBA的主要职责是操作、维护和管理数据库管理系统,重点是运维管理。

那么DBA的职责有哪些呢?

主要职责

数据库管理员的主要职责包括以下几个方面:

1. 数据库设计

这包括设计字段、表和关键字段,如何使用辅助存储设备上的资源,如何添加和删除文件和记录,以及如何检测和修复丢失。

2、检查

请监控监控数据库中的警报日志,并定期备份和删除。监控每日数据库会话。监控碎片和剩余表空间,及时了解表空间扩容和剩余空间分布情况。监视对象的更改。定期列出所有已安装和升级的数据库服务器(Oracle、MicrosoftSQLserver 等)以及应用程序工具的更改。

数据库设计系统存储解决方案并规划未来的存储需求。创建数据库备份策略以在发生灾难时恢复数据库信息。将存档或备份数据存储在适当的介质上。备份和恢复您的数据库。请联系您的数据库系统制造商以跟踪技术信息。

3. 备份

监视和管理数据库备份非常重要。您应该根据自己的实际需求改变数据库备份策略,并每天监控数据备份。

4. 准入控制

密码修改:规范数据库用户管理,定期修改管理员等重要用户的密码。您必须为每个项目创建一个用户。 DBA必须与相应的项目经理或程序员沟通,确定如何建立相应的底层数据库模型。这个数据库模型最终由DBA管理、建立和维护。对数据库对象的更改必须根据DBA 的要求进行。

5.检查SQL语句

编写SQL 语句的标准要求。如果您的SQL 语句编写得不理想,可能会对您的数据库产生很大影响。因此,所有程序员或相应的工作人员在创建相应的SQL语句时都应严格遵循第《SQL书写规范》条。最后必须经过DBA检查后才能正式执行。

6. 最终用户服务和协调

数据库管理员指定用户访问权限并将资源分配给不同的用户组。当不同的用户相互竞争时,数据库管理员必须能够调整用户以优化放置。

7. 数据库安全

数据库管理员可以通过为数据库管理系统的不同用户指定不同的访问权限来保护数据库免受未经授权的访问或破坏。例如,可能只允许一种类型的用户检索数据,而可能允许另一种类型的用户更新数据和删除记录。

性能对于任何数据库产品都尤其重要,因为它直接影响产品的响应能力和用户体验。性能优化通常会占用DBA 50% 的时间,因此DBA 需要知道如何监控和优化数据的性能。

以SQL Server 为例,性能是一个关键问题,因此DBA 需要知道如何修复故障并监控性能问题。有许多第三方性能监控工具可以帮助DBA 优化性能。如果DBA 只使用第三方工具,而不使用SQL Server 附带的本机工具来监视性能,我认为您很快就会遇到问题。虽然使用第三方工具来监控性能很好,但DBA 可以使用SQL 附带的本机工具,例如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系统/扩展存储过程和扩展事件。必须了解一些,这样的。许多第三方工具实际上使用了这些底层本机工具。因此,了解这些原生工具有助于改善DBA 使用第三方工具的体验。

5.研究新版本

在技术领域,没有什么是一成不变的。每两到三年,各大数据库厂商都会发布主要版本更新。 DBA 需要随时了解新版本中所做的更改。可以通过多种方式进行更改。最好尽早干预这个过程。 Beta 版本发布后请立即下载并安装,以便尽快亲身体验。优秀的DBA 总是走在学习的最前沿,总是尽快安装和测试新版本。这样,您可以尽早了解新功能,并提出新的合理建议,帮助您的组织更好地利用新版本数据库。

6.了解编码最佳实践

DBA 必须知道如何编写高效的代码。有许多不良的编码实践可能会导致性能不佳。一个好的DBA必须理解和识别这些糟糕的编码实践,并知道如何修复这些糟糕的代码并将其转化为高效的代码。此外,记录编写代码的最佳实践并与其他人分享这些实践。

7.不断学习

数据库及其组件涵盖了广泛的主题。 DBA 很难理解技术的方方面面。 DBA 必须不断学习如何管理数据库。有很多方法可以进行这个学习过程。其中之一正在参加正式培训。然而,并不是每个人都有如此充裕的时间和金钱,也不是每个人都能放弃工作去参加正规培训。但是,还有许多其他方式接受培训,其中大多数都是免费的。优秀的DBA 应该订阅定期发布新数据库技巧和文章的社区网站。您还需要加入多个用户组织并参加周末当地的免费沙龙活动。

8. 数据库安全

安全是一个热门话题。 DBA 必须彻底了解如何提供对数据库的安全访问。您需要了解操作系统身份验证和数据库身份验证之间的区别以及每种身份验证的使用时间。您需要了解如何使用数据库角色来管理不同类型用户的安全配置。您必须了解用于连接数据库的端口和协议。此外,您还需要了解如何加密整个数据库或数据库中表的字段,以及与数据加密相关的各种问题。

9. 数据库设计

决定数据库性能的关键问题是数据库设计。 DBA 需要了解数据库设计的各个方面。他们需要能够理解好的设计和坏的设计之间的区别。您需要了解如何使用正确的外键约束、主键、检查约束和数据类型来维护数据库中的数据完整性并实现高效的数据查询和更新。

10. 指标设计

数据库索引是提高应用程序检索和更新数据速度的重要组成部分。 DBA 需要了解索引如何工作。您应该了解聚集索引和非聚集索引之间的区别以及这些索引的物理存储方式。 DBA 必须知道如何在执行计划中使用这些索引。您需要了解如何查找索引使用统计信息、了解索引碎片以及检测丢失的索引。您应该了解索引是如何维护的以及查询引擎索引统计信息的重要作用。

11. 容量监控和规划

数据库通常使用大量资源,例如CPU、内存、I/O 和磁盘空间。 DBA 需要了解如何监控数据库所需的各种主机资源的使用情况。您需要了解这些资源在一段时间内的使用情况,并能够使用过去的使用数据来规划未来的容量需求。在监控过程中,DBA 必须能够预测未来何时会出现容量规划问题,并采取必要的措施来防止由于容量限制而导致数据库中断。

12. 数据库许可

不同的产品有不同的许可方式。同一产品本身也有不同的版本。 DBA 必须了解他们负责的数据库版本的不同身份验证模型。他们应该能够就如何通过适当的许可购买来降低数据库拥有的总成本以及如何利用许可方法来降低未来版本的升级成本提供指导。

13. 尽可能自动化

DBA 每天必须执行许多日常任务。其中一些任务可能需要每天执行,而其他任务可能需要每周、每月或每年执行。优秀的DBA 必须了解如何有效地组织时间。一种方法是构建自动执行这些日常任务的工作流程。通过自动化日常任务,DBA 可以花更多时间关注数据库环境管理中出现的严重问题。

数据库管理员能力要求

DBA水平要求不是很高。我们根据您的数据库熟练程度简单地将其分为三个级别:初级、中级和高级。

c6d48f1749874046898a8cafdaae2986~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720731353&x-signature=JNATYYTG9hNHyr0jG2Cr6sevPbI%3D Junior DBA是英文Database Baby Sitter的缩写,也称为DBBS。初级DBA 通常是兼职的,通常是程序员或从事其他工作。初级DBA 经常撰写出色的简历并参与许多与数据库相关的项目和工作。然而,这些项目和任务通常涉及第三方软件供应商安装和配置数据库,并且仅执行一些监控任务。一些简单的问题可以得到解决,但大多数问题需要应用程序供应商的帮助。初级DBA更喜欢Access这样的桌面数据库,因为它们简单易用,并且可以轻松地将这些小型数据库经验应用到更大的数据库相关任务中。

初级DBA 是最好的。区分中级DBA 和高级DBA 并不容易。他们的差异在于经历、性格特征和能力的差异。有许多中级DBA 可以执行高级DBA 的大部分任务,例如:

1.数据库安装。

2.数据库配置和管理。

3.权限设置和安全管理。

4. 监控和性能调整。

5. 备份和恢复。

6、解决常见问题。

中级DBA通常已经在公司工作了一年左右,熟悉特定操作系统环境中的数据库。对于中级DBA 来说,Windows NT 和Unix 之间存在显着差异。中级DBA对SQL比较熟悉,并且购买了几本数据库书籍来深入了解它。中级DBA往往兼任数据库程序员,工作一般侧重于性能、稳定性、安全性,因此工作水平不高,经常与高级DBA协作进行日常操作。

这个国家的高级DBA很少。他们善于阅读数据库的英文资料,熟悉多种操作平台上的几个大型数据库。他们了解不同环境中不同数据库的优缺点,并能够做出数据库平台和数据库环境选择的决策。他们通常熟悉系统架构和数据库设计,并且可以在各个级别优化数据库。高级DBA 通常有助理来做出决策和计划。高级DBA往往擅长银行、保险、在线交易等关键业务处理领域,这些领域对稳定性、安全性和性能要求较高。

在许多情况下,获得数据库专家认证并不那么重要。如果您参加培训,许多数据库供应商都会为您提供证书。提供商业培训的公司有很多,但服务质量参差不齐。因此,该证书没有特殊意义。

数据库管理员职业等级

1870fc479fb94b389a9335c4e8fe4809~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720731353&x-signature=TIxMD4r6lC3k1GNqlPV1YhGJuY0%3D 数据库是整个系统的一部分,其性能非常复杂,取决于服务器、操作系统、存储、网络、应用程序SQL 语句、数据库设计的质量和其他因素。经验起着非常重要的作用。因此,一个优秀的DBA除了基础知识之外,经验的多寡和知识的广度往往决定了一个DBA是否合格和有能力。

一个好的DBA不仅关心自己所操作和维护的数据库系统的原理和发展,还要时刻了解业界最新的数据库技术,关注数据库领域的顶级会议。其中包括国际知名的三大数据库会议SIGMOD、VLDB、ICDE,著名数据库公司Percona主办的Percona Live,Oracle主办的Open World,以及全国知名的DBA盛会数据库技术大会中国都包含在内。 (DTCC)。

从另一个角度来看,DBA工作领域需要实践经验和独立工作的能力。如果没有大量的实践练习,很难胜任DBA 相关的工作。正是由于上述原因,目前该领域的现状是DBA职位难进,用人单位难招人,人才缺口较大。

由于上述原因,DBA就像医生一样积累经验,成长为高级DBA、系统架构师和信息官(CIO)。 ),不存在很多软件开发从业者到了一定年龄后面临的跳槽问题。

另外,从职业前景来看,DBA拥有更多的职业机会。通常,系统内的软件和硬件由IBM、HP、Oracle等业界领先的供应商提供,谈判、协作、测试、实施、维护、优化等过程创造了出色的职业生涯。在开发工作中很难进行比较。

从DBA薪资统计来看,随着工作经验的积累,DBA薪资增长将远大于其他计算机领域。

从工作保障的角度来看,系统的复杂性和经验的重要性决定了DBA职位的不可替代性。

从知识积累、更新、更替的角度来看,数据库的基本原理没有改变,但其功能不断增加,应用范围不断扩大。因此,不同时期学到的知识和经验是重叠和积累的。

总之,DBA职业是一个高挑战、高回报的职业,鼓励具有一定能力和智力的技术人才从事这一日益有前途的职业,这需要20多年的经验不断证明。后续我会分享更多DevOps和DBA的内容,感兴趣的朋友可以关注。

0ce3a78f850a4cd28ffccd4ef22287e2~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720731353&x-signature=vxMvhZO5rMOlLYRmaePzdKqOo3I%3D

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢