数据库工程师职业岗位总结
2022-10-21 14:38:15 0 举报
AI智能生成
数据库工程师职业岗位总结
作者其他创作
大纲/内容
概述
数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称
属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理
核心目标
证数据库管理系统的稳定性、安全性、完整性和高性能
区分
1) 数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;
2) 数据库工程师的主要职责是运维和管理数据库管理系统,侧重于运维管理。
主要职责
负责数据库的运营和维护,包括数据库的安装、监控、备份、恢复等基本工作
覆盖产品从需求设计、测试到交付上线的整个生命周期
负责数据库管理系统的搭建和运维
参与到前期的数据库设计,中期的数据库测试和后期的数据库容量管理和性能优化。
产品生命周期维度
1. 产品发布前
1)产品的业务熟悉;
2)产品数据库设计评审:包括架构的合理性评估,存储容量和性能是否满足需求,是否需要缓存,是否需要冗余 备份等,同时需要提供数据库schema设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求;
3)资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把关产品对资源预算申请的合理性,控制服务成本;
4)资源就位,将申请的服务器及基础环境/域名准备就位。
2. 产品发布
负责数据库发布的具体工作,将具体的数据库安装部署和初始化完成后并对外提供服务
3. 产品运行维护
1)监控:对数据库服务运行的状态进行实时的监控,包括数据库会话、数据库日志、数据文件碎片、表空间监 控、用户访问监控等,随时发现数据库服务的运行异常和资源消耗情况;输出重要的日常数据库服务运行报表 以评估数据库服务整体运行状况,发现数据库隐患;
2)备份:制定和实施数据库备份计划,灾难出现时对数据库信息进行恢复,维护适当介质上的存档或者备份数 据。对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。
3)安全审计:为不同的数据库管理系统用户规定不同的访问权限,以保护数据库不被未经授权的访问和破坏。 例如,允许一类用户只能检索数据,而另一类用户可能拥有更新数据和删除记录的权限。
4)故障处理:对数据库服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前数 据库工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。
5)容量管理:包括数据库规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。
4. 数据库性能优化
产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。
而如何用最合理的资源支持产品提供高可用和高速度的用户体验,这也是数据库工程师的重要职责。
技术分工
数据库监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
数据库故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
数据库容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
数据库性能优化:从各个方向,包括SQL优化、参数优化、应用优化、客户端优化等,提高数据库的性能和响应速度,改善用户体验
数据库安全保障:包括数据库的访问安全、防攻击、权限控制等
数据库自动部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
数据库集群管理:包括数据库的服务器管理、分布式集群管理等
数据库模型设计:包括数据库逻辑和物理模型的设计,如何实现性能最优,架构可扩展,服务可运维等
技术能力
1)理解数据备份/恢复与灾难恢复
2)工具集的使用
3)知道如何快速寻找答案
4)如何监控和优化数据库性能
5)研究新版本
6)理解代码最佳实践方法
7)持续不断地学习
8)数据库安全性
9)数据库设计
10)索引设计
11)容量监控与规划
12)数据库许可证
13)尽可能实现自动化
性格要求
自信心:足够的自信心能够帮助数据库工程师在重要紧急时刻果断下决定,而不是不知所措地看着事故发生
好奇心:几乎所有的数据库系统都在不停地更新,但并不是所有的更新都有技术文档,对于优秀的数据库工程 师来说,好奇心是必须的。没有好奇心和求知欲的数据库工程师总是等待别人来告诉他们答案。
自我驱动:自我驱动对每个人都是很重要的,对数据库工程师尤其如此。数据库工程师要能想办法使问题出 现,而不是等待问题的出现。自驱力强的数据库工程师常常设法取得或者自己写一些必要的脚本来监控包括数 据表大小(Table Size)、表空间使用(Tablespace Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。
坚韧的意志力和沉着的心态:数据库工程师常常会碰到棘手的问题。寻找答案是一个需要坚韧意志力、可以经 受摔打的个性特点。同时面对紧急情况时要能处乱不惊,保持平和的心态冷静处理问题。
工作认真细致,勤于思考:注意细节的数据库工程师能够深入了解数据库的内核,并能理解视图、表之间的关系,这点非常重要
时间管理能力:数据库运维的工作非常繁琐,因此需要将碎片化的时间充分利用起来。
良好的沟通能力、具有团队合作精神:数据库工程师的工作需要跨部门、跨工种接触很多工程师,善于沟通、团队协作能够起到良好作用
等级
初级数据库工程师
1)数据库安装;
2)数据库配置和管理;
3)权限设置和安全管理;
4)监控和性能调节;
5)备份和恢复;
6)解决一般的问题;
中级数据库工程师
从业一年左右,熟悉某种操作系统环境下的数据库。
高级数据库工程师
熟练阅读数据库方面的英文资料,并且都熟悉很多种操作平台下的几种大型数据库。
0 条评论
下一页