数据库管理员(DBA)干什么的?需要会些什么?
Posted IT老曾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库管理员(DBA)干什么的?需要会些什么?相关的知识,希望对你有一定的参考价值。
DBA是干什么的?
一般来说,DBA负责数据库的操作,在企业中其主要职责是管理和维护数据库,保证数据库的平稳运行,确保得到授权的人员能够访问数据库中的必要信息。
DBA可分为两类:系统DBA和应用DBA。系统DBA主要关注数据库的技术和物理部分,包括安装、升级、修复程序错误。应用DBA专门研究更具体的应用程序,能够编写和调试程序。
DBA掌握着公司的核心数据,数据库的性能也直接影响了客户的体验。
成为DBA,要必备哪些技能?
数据库管理员以技术为基础,通过技术保障数据库提供更高质量的服务。在数据库环境的管理与维护中,技术任务可归结成许多不同的分类。下面列出了一名DBA应掌握的一些技术。
1.理解数据备份/恢复与灾难恢复
恢复已损坏的数据库是每一个DBA应掌握的最重要的技能。DBA需要完全理解数据库所有可能的备份与恢复方法,以及不同备份方法与不同恢复策略的对应关系。
DBA还需要与业务部门合作,一起确认业务需求,明确用户能够容忍的数据丢失底线。业务用户还需要确定在系统故障情况下,他们的业务能够维持多长时间。
理解这些需求可以帮助DBA开发出一个满足业务用户要求的备份/恢复方法。一个优秀的DBA要定期测试备份与恢复流程,保证他们有能力恢复业务数据,满足企业所规定的业务数据丢失与恢复要求。
2.尽可能实现自动化
DBA每天都需要执行许多的日常任务。其中一些任务需要每天执行,而另一些则每周、每月或每年执行。通过实现日常任务的自动化执行,DBA就可以用更多的时间去关注于数据库环境管理中遇到的严重问题。
而脚本就是DBA实现自动化的帮手。这些脚本可以快速诊断问题或执行一个特定的任务。这些脚本应该按DBA的活动类型归类,如备份、索引维护、性能优化、容量管理等。一个优秀的DBA会不断收集增加新脚本。
3.知道如何快速寻找答案
数据库每天会面临各种各样故障的挑战,从硬件到网络,从性能压力到程序bug,DBA都要从容应对,一一排除。即使是数据库大牛,也不可能是无所不知的,因此每个DBA一方面需要不断修炼自己,积累操作系统、网络、硬件、存储系统、分布式计算等理论基础,另一方面还要有快速寻找新问题解决方法的能力。一个好的DBA知道如何快速地在网上查找一个未知问题的解决方法
4.知道如何监控和优化数据库性能
对于任何数据库产品,性能都尤其重要,它会直接影响产品的响应速度和用户体验。对于一个DBA来说,性能优化一般需要占用50%的工作时间,因此DBA需要知道如何监控和优化数据性能。
5.研究新版本
在技术领域中,没有什么是一成不变的。每隔两三年,主流数据库厂商都会发布一个大版本的更新。DBA应该紧跟新版本所作的修改,它们可能有许多变化方法,最好的方法是迟早介入这个过程。测试版开放后马上下载和安装,尽快掌握第一手使用经验。一名好的DBA会第一时间安装和测试新版本。这样他们就可以尽早理解新特性,然后提出一些合理的新建议,帮助组织更好地利用新版本数据库。
6.数据库安全性
DBA应该完全掌握如何实现数据库的安全访问。理解操作系统身份验证和数据库身份验证的区别,以及它们各自的使用场合。理解如何使用数据库角色来管理不同类型用户的安全配置。理解连接数据库的端口与协议。理解如何加密整个数据库,或者加密一个数据库中一个表的某一个字段,同时理解关于加密数据的各种问题。
7.数据库设计
决定数据库性能的一个关键问题是数据库设计。DBA需要理解关于数据库设计的各个方面。为什么使用正确的外键约束、主键、检查约束和使用数据类型能够保持数据库的数据完整性和实现高效的数据查询与更新。
8.索引设计
数据库索引是提高应用程序检索和更新数据速度的重要环节。DBA需要知道索引的工作原理。知道聚簇索引和非聚簇索引的区别,知道这些索引的物理存储方式。如何在执行计划中使用这些索引。如何找到索引的使用统计、理解索引碎片及如何发现丢失的索引。如何维护索引,以及索引统计信息对于查询引擎的重要作用。
9.资源监控与规划
数据库往往要使用大量的资源,包括CPU、内存、I/O及磁盘空间。DBA应该理解如何监控数据库所需要的不同主机资源的用量。他们应该能够理解这些资源在不同时间的使用情况,以及利用历史使用数据来规划未来的资源需求。在监控过程中,DBA应该能够预见到资源会在将来什么时候出现问题,然后采取必要的措施保持数据库不会因为资源限制而出现中断。
以上是关于数据库管理员(DBA)干什么的?需要会些什么?的主要内容,如果未能解决你的问题,请参考以下文章