数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。
在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师(Database Developer):
1) 数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;
2) DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。
还有一种叫DBO(Oatabase operator),数据库操作员,侧重于数据库线上操作,如执行DDL和DML等。
DBA在不同的公司不同的发展阶段有着不同的职责与定位。一般意义上的DBA只是负责数据库的运营和维护,包括数据库的安装、监控、备份、恢复等基本工作,但是广义上的DBA职责比这个大得多,需要覆盖产品从需求设计、测试到交付上线的整个生命周期,在此过程中不仅要负责数据库管理系统的搭建和运维,更要参与到前期的数据库设计,中期的数据库测试和后期的数据库容量管理和性能优化。
对于初创公司,DBA的工作可能由运维工程师来兼任,从申请域名开始,到服务器上架,配置网络设备,部署操作系统,安装数据库,设计和部署监控,防止漏洞和攻击等等。而大型公司对DBA工作的要求越来越高,以下从各个维度来看DBA工作的职责。
产品的整个生命周期里DBA的职责重要而广泛,这催生了各个纵向的运维技术方向,主要包括:
数据库监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
数据库故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
数据库容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
数据库性能优化:从各个方向,包括SQL优化、参数优化、应用优化、客户端优化等,提高数据库的性能和响应速度,改善用户体验
数据库安全保障:包括数据库的访问安全、防攻击、权限控制等
数据库自动部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
数据库集群管理:包括数据库的服务器管理、分布式集群管理等
数据库模型设计:包括数据库逻辑和物理模型的设计,如何实现性能最优,架构可扩展,服务可运维等
等等,凡是关系到数据库质量、效率、成本、安全等方面的工作,及涉及到的技术、组件,都在DBA的技术范畴里。做好每一个技术方向都对履行DBA职责起到积极的作用,对业务的发展发挥关键影响。
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《数据库管理,你属于哪一类?》的版权归原作者「无尘无痕运维」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
无尘无痕运维微信公众号:ai_dba
手机扫描上方二维码即可关注无尘无痕运维微信公众号