最近,由于工作的缘故接触到了很多想要成为一名DBA或是已经接触了数据库一段时间想要往DBA方向发展的朋友,但是总体上感觉大家可能对DBA的工作内容和如何成为一名合格的DBA并不是十分的了解,所以就有了想写一篇文章,就我十多年来从事DBA工作中所获得的一些感悟,来和大家分享一下。首先,要声明的是,这仅仅是我的一家之言,并不是标准答案,如果这篇文章对你有帮助我会十分的高兴,如果你觉得这篇文章写的并不好,也请你不要生气。
那么我们就先来说说什么是DBA,DBA是英文Database Administrator的简称,也就是数据库管理员,是负责维护和管理数据库服务器的专业技术人员。之前作为DBA我们所要维护的主要是一些关系型数据库如Oracle,SQLServer,MySQL,DB2等,而现在随着技术的发展DBA有时还要负责维护一些非关系型的数据库如MongDB,Redis等。
看到这里您可能会以为我下面会开始为您介绍如何维护和管理上面所说的这些数据库服务,但是这并不是一篇技术类文章,所以在这里您并不会看到太过技术的东西。我在这里所要谈的只是做为一名合格的DBA我们需要具有那些的技能或是需要做那些的准备。 下面,我就以我个人的感悟来说一说我对DBA这个工作的理解。
首先,DBA是一个综合性的工作。DBA本身就集合了运维和开发两方面的工作内容,换句话说要想成为一名合格的DBA不仅仅是要了解我们所管理和维护的数据库系统,还要了解数据库系统所依赖的操作系统的维护知识进一步讲我们还要了解一些简单的硬件知识。同时,做为DBA不可避免的要接触到SQL语句的优化同时还要为开发人员提供一些SQL方面的技术支持,所以我们还要做到比开发人员更加的熟悉SQL语句的使用方式,更加了解如何对一个SQL的性能进行度量以及如何对查询的性能进行优化。所以在我看来一个合格的DBA工程师=系统工程师+存储工程师+SQL开发工程师。所以要成为一名合格的DBA不但要学习如何使用和管理数据库同时还要学会如何进行SQL开发如何对服务器软硬件进行维护和选型。而SQL开发的技能,正是很多想要从系统运维领域转到DBA领域的朋友所欠缺的,而对于一些想从开发转到DBA的朋友呢,又缺少相关的服务器运维工作经验。
其次,DBA的工作是一项非常需要责任心和细心的工作,以我这几年招聘DBA的经验来看,在实际工作中我宁愿是要找一些责任心很强对工作很认真但是缺乏工作经验的人也不想找那些技术上很牛但是缺乏责任心的人。因为数据库不论从那个方面来说对于一个企业来说都是非常重要的,如果管理和维护数据库的人缺乏责任心或是在工作时粗心大意,一个很简单的误操作就可能会给公司带来严重的经济损失。
最后,还有一点也要大家注意,一定要做好数据库的备份,这是成为一名合格的DBA的最基本的条件。关于数据库备份的重要性我这里就不再强调了,总之,如果你没有对你所管理和维护的数据库进行备分,那你一定不是一名合格的DBA。
说了这么多可能大家会有兴趣了解我上面所说的,成为一名合格的DBA所需要技术内容,所以在这里也介绍一下我最近和慕课网合作录制的一门课程<打造高性能MySQL数据库架构>如果大家对如何成为一名合格的DBA所要具备的技能感兴趣可以看一看这门课程。
本文出自 “dba日志” 博客,请务必保留此出处http://sqlercn.blog.51cto.com/1218508/1788619
原文地址:http://sqlercn.blog.51cto.com/1218508/1788619