|
1.我们理解的DBA指的是什么? 还是必须有一个冠词,开发DBA、生产DBA、备份DBA?
答:其实在国内,上面这三种基本的是一个人来干。可以这么说,你开发要会,维护要会,备份更要会。
这个不同的公司侧重的不一样。如果硬要分,开发DBA是一块,生产DBA+备份DBA又是一部分。
所谓开发DBA,大部分是在写proc,fun等。这个比较贴近业务,大部分开发任务是需要做需求分析的。
其实开发DBA在业务的基础上写出一些通用的接口,和高效的存储过程。这些是比较重要的。特别是一些业务逻辑比较复杂的
应用,从设计的角度来看,好的底层接口能够省很多事情,在以后的开发过程中,数据整合、拆分、以及维度的运算会少很多麻烦事情。
这样对以后的业务有很好的扩展性。
生产DBA+备份DBA,这个基本上写的东西就比较少了,不过也需要写点存储过程,或者shell、python 之类的监控脚步,这些工作是少不了的。
这部分工作,这个属于高危工作,当DB出现了问题,就该你上了,老总一般想在最短的时间内搞定问题。或者说在发生问题前,你就该发现可能出现的问题。
这些工作包括数据库性能,瓶颈在哪里,负载问题,当性能出现问题,你该第一个站出来说是 xxx.sql 导致xxx 的问题,所以才会xxxx。并且拿出log和有力的
报告出来。在发现问题的时候,提供解决方案。
DB的安装升级这些工作是生产DBA的工作。
其实生产DBA的工作,就要如履薄冰,战战兢兢的,小心翼翼。总要绷着一根玄。
话说,是什么让DBA晚上从睡梦中惊醒?那就是你忘记备份了。从行业里面看,不管是什么DB,只要是现网的,基本有备份,具体看数据的重要性采取什么
备份策略了,和备份的时间周期。经常听到有人抱怨,公司的存储只有多少多少了,的没地方备份了,这样其实很苦恼,你提出来,
老板又不买,等出了问题,你又该背黑锅。 哈哈
2.具备哪些素质和技能,才能称为资深DBA ?
所谓资深,我理解就是到达一定火候,需要时间和机会。做DBA其实就天天闷头的看书是学不了多少东西的。
是需要在一个环境里面锻炼,去学习。当数据库崩了,那么好,这就是你学习的机会了,当这样的机会多了,自然而然的,
你的经历就多了,分析的问题能力大大提高,你就会有一套分析问题的能力,包括不同的OS、存储、应用、网络等问题,
你能很快的分析,得出一个正确的答案。
其实以前一直是写java的,这java不写了,搞数据库来了,主要就是看中数据库里面很多东西是需要时间来沉淀的,并非朝夕就能搞定的东西,
需要大量的时间来沉淀自己,这就好比是一个老中医。  |
|