DBA之路,始于足下
- 与DBA的缘分
- 工作一年的体会
- 未来的规划
与DBA的缘分
我以前从来没有想过会成为一名DBA。从进入研究生开始,我就已经给自己规划好了找工作的学习路线-Java开发工程师。我从算法、项目、八股、面试等各个方面展开准备,所有的面试都是关于Java开发工程师的。计划赶不上变化,入职之后我的岗位是DBA。但细究下来,我和DBA的缘分早已埋下伏笔。在准备八股过程中,数据库这一块的知识我重点学习并且理解过,包括了sql语句、mysql数据库基础知识、redis缓存相关内容、常见的数据库性能优化、分布式数据库基础知识,并且我自己倒腾的项目也专门租了个云服务器部署上去,其中就包括了自己部署的mysql数据库和redis缓存数据库。
这就是很奇妙的缘分,也许就是数据库的回旋镖,在我没有以dba为目标学习数据库时,最终成为了DBA。
工作一年的体会
我是2023年7月份毕业,毕业工作至今一年有余,其中真正开始接触生产的时间也刚好一年。成为一名DBA我并不后悔,甚至还有一些庆幸。就我从公司了解到的情况,DBA的生命周期是要比开发长的,这一点对我其实很重要。在研究生期间,我们计算机专业的学生常常聊到的一个话题就是程序员35岁这个坎,都担心到了35岁被公司给优化掉,也经常探讨程序员35岁以后的出路。如今成为一名DBA,这方面的担心反而少了很多。我们公司有工作了20多年的DBA,我也接触到了只差几年就退休的甲骨文DBA。相比于开发,对于DBA的上限和生命周期,我略感庆幸。当然,以上只是我的个人体会,未来变化犹未可知,但我相信事在人为。
下面接着说一说我在工作中的感受。
我们DBA日常的工作包括了数据库环境搭建、备份恢复、性能优化、故障分析与处理、数据库工具开发,除了数据库工作外,还涉及到了一些操作系统的运维。就具体的数据库种类来说,MySQL单机、MySQL集群、Oracle单机、Oracle RAC、MySQL主从、Oracle ADG、tidb、pg、TDSQL、sql server、mq等在工作中都有涉及。我这一年更多的还是熟悉和掌握数据库资源池搭建、数据库安装部署、数据库的基本管理、数据库的备份恢复,对于性能优化、故障分析与处理也有参与,但重点还是基础的内容。
DBA的工作很容易就有成就感,比如说某个应用要上线了,就需要在上线前把相应的数据库环境安装部署好、提前建库建用户、检查应用连接串是否符合规范;某个应用反馈查询或者跑批慢了,把相应的sql执行情况抓出来分析,优化后性能有质的提升等等,都会带来巨大的成就感。
DBA属于运维岗位,也有一些压力比较大的地方,得随时保持手机开机,数据库一旦出问题就需要DBA及时介入处理,加班属于家常便饭。
未来的规划
我将自己的工作分为三个阶段:
- 第一阶段:掌握各类数据库的基本原理,熟悉各类数据库的安装部署、备份恢复、主从同步搭建等。
- 第二阶段:对各类数据库安装部署、备份恢复、主从同步相当熟悉,对于性能优化、故障分析与处理等有自己的一套方法和思路,开始涉及数据库架构层面的考虑,对于业务也有一定了解。
- 第三阶段:能独立分析和处理数据库的故障、性能优化,并能结合业务设计数据库架构,不仅懂技术,还懂业务。
我当前正处于第一阶段末尾,即将开启第二阶段。
千里之行,始于足下,这是我近期一个较深的体会。技术,都是踏踏实实锻炼出来的,没有捷径可走。