我为什么坚持DBA一定要懂开发
时间 2016-03-23 15:34:08 张碧池的幸福生活
原文 http://pottievil.com/我为什么坚持dba一定要懂开发/
主题 DBA 数据库
最近手头在忙几个开发项目,主要在做的是数据库方面的自动化运维系统。

本来就捉襟见肘的人手现在更要匀出一部分完成开发任务(虽然几个开源项目的二次开发就没停过。。)。可能是最近给组里的兄弟们灌了太多的技术鸡汤,终于有同学憋不住问我:我们是不是离DBA的老本行越走越远了?

后来我也严肃的自问自己这个问题:我是不是把团队的方向带的有点跑偏了?

好在圈里的很多朋友纷纷的给我圆场,说近年DBA人员的素质出现下滑。参加面试的人纵然有几年工作经验,然而做的事情无非是导数据、处理脏数据、设计表、优化索引。。这些非常非常基础的事情。甚至这些事情一些好学的运维同学(小企业尤其突出)已经开始逐渐的能接手过去了。

面对这样的情况,他们便向我发问:DBA存在的意义到底在哪里?

想起读研的时候,正好赶上业内Oracle大佬们极力倡导DBA2.0的时期。不过那时的问题是Oracle正逐步将所有需要DBA人工干预的操作自动化,那么作为Oracle DBA必须要有其他的出路,而不是沦为数据的操作工。

现在的情况是不是也和那时相同呢?只不过我们维护的工具从Oracle变成了MySQL而已。

我觉得在互联网+的大环境影响下,一个优秀的DBA是绝对绝对不能只做好眼前的一亩三分地的。DBA存在的意义将不仅是数据的维护者,在一个合格的团队中应当扮演更重要的角色。如在一个项目的开发初期便开始掌控整个应用的数据流向,帮助项目选择相应的数据产品,设计相应的高可用架构等。

不过,很快新的问题又来了:我不懂开发,或者我不想去做开发,甚至我不想了解开发。

这又回到文章最初的那个问题,做开发真的会离我们的老本行越来越远么?

有句古话叫艺不压身。多学点东西总没坏处。这么来解释这个问题是不是有点太不负责任。。

那么我为什么坚持DBA要懂开发呢,其实我的初衷是想让组里的DBA小伙伴们了解我们的开发同学都在做什么。知己知彼,这样才能帮助你在项目评审时不做木偶,才能做到真的帮助项目组设计数据流向,而不是机械的等开发出身的所谓架构师帮你设计数据侧的架构,真的从Administrator变为Architect。

其次,学会开发技能帮你万事不求人。

为什么要这么说呢,可能是我比较讨厌求人办事儿的态度吧。比如很多大公司,职责分工会很细,有专门的运维开发组。那么DBAs只需要将自己的需求提出来,就有对口的运维开发同学来受理。当然上面的确实是一种较理想的状态。那么实际的情况会怎样呢?

实际情况往往是运维开发组的同学们忙着开发运维相关的需求,不断的将DBAs的需求后移。什么SQL审核之类的功能往后排期吧。

以上还是有运维开发组的情况。那么没有运维开发组的话只会更悲催。所有与我们日常工作相关的自动化工具都需要自己来做,这时候恐怕不想接触开发也不行了。

最后,不要错误的把数据库开发当成会写存储过程。这点Oracle出身的DBAs肯定会体会更深。因为Oracle强大的功能,导致很多应用在取数操作时使用存储过程会比直接在应用中实现更快。虽然我也是Oracle出身,但是多年开源数据库(主要是MySQL)的折磨使得我现在认为数据库就仅限于存、取数据(简单查询就够了)。更多数据相关的逻辑操作最好还是在应用侧完成,这样做的主要目的还是方便我们使用不同的数据产品来解决不同的应用需求,这样就做到了掌控数据流。同时使应用在设计时,数据侧更清晰。因此,我的观点是能在应用中实现的逻辑尽量不要放在存储过程里,同样,也不要错误的把数据库开发仅仅当成会写存储过程。

OK。那么我说的对DBAs来说的重要的开发技能是什么呢?

就现在而言,我个人觉得掌握PHP和Python应当是必须的(虽然我的JD上会写三者会其一即可。。)同时,要尽可能的了解常用的开发思想(比如RESTful的API、SOA、微服务等等),了解什么是MVC(当然这可能已经挺老旧的了),了解常用的PHP WEB框架或者Django和Flask以及等等等等。只要你精力足够恐怕没什么是你不能学到的。

最后,希望我们每一位DBAs都能去戗行~都能做一个称职的二手开发~在职业道路上越走越宽~

By Perry.Zhang

03.23.2016

我为什么坚持DBA一定要懂开发的更多相关文章

  1. 招聘前端、Java后端开发、测试、Mysql DBA

    公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...

  2. 测试经验总结(“二次开发”)

    参考原文地址:http://www.51testing.com/html/86/n-3601786.html 不知不觉已经工作五年时间了,从茁壮.康拓普.利鑫云端到现在的惠卡世纪,经历过机顶盒软件(嵌 ...

  3. 【python全栈开发】初识python

    本人最开始接触python是在2013年接触,写过hello word!在此之前对开发类没有多大兴趣,不知道重要性,属于浑浑噩噩,忙忙乎乎,跌跌撞撞的.随后选择了Linux运维作为就业主攻方向. 经过 ...

  4. 升讯威微信营销系统开发实践:(1)功能概要与架构设计( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  5. 美图秀秀DBA谈MySQL运维及优化

    美图秀秀DBA谈MySQL运维及优化 https://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=401797597&idx=2& ...

  6. INFORMATICA 开发规范

    目    录 Informatica开发规范.... 1 目    录.... 2 1        编写目的.... 4 2        ETL研发责任人界定.... 4 3        ETL ...

  7. 2015 年最热门的国人开发开源软件 TOP 50

    开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2015 年最热门的国产开源软件前五十名,让 ...

  8. 6-MySQL DBA笔记-查询优化

    第6章 查询优化 查询优化是研发人员比较关注也是疑问较多的领域.本章首先为读者介绍常用的优化策略.MySQL的优化器.连接机制,然后介绍各种语句的优化,在阅读本章之前,需要先对EXPLAIN命令,索引 ...

  9. PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的

    PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报  分类: MYSQL数据库(5)  PostgreSQL 是一个自由的对象-关系数据库服务器(数据库 ...

随机推荐

  1. java 视频中截图

    package com.sun.test; import java.io.File; import java.util.List; public class CreatePh { //public s ...

  2. mysql解决中文乱码问题

    安装文件 my.ini default-character-set=gbk 安装文件 db.opt default-character-set=gbkdefault-collation=gbk_chi ...

  3. windows网络编程(1)同步套接字

    1.socket是应用程序与网络驱动程序的桥梁,在应用程序中创建socket,将数据交付给socket即完成数据传输,剩下的任务由socket和网络驱动程序完成: 2.套接字类型:SOCK_STREA ...

  4. POJ 1860 Currency Exchange(SPFA+邻接矩阵)

    ( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cmath> #include<algori ...

  5. mysql 登录中用户管理

    管理员账号 root 新增普通用户 修改root密码

  6. MaskEdit组件的EditText属性和Text属性

    MaskEdit组件主要是EditMask属性 是string属性. 掩码字符串EditMask属性分为3个部分,分别用分号隔开,形式是“XXXXX;X;X” 第一部分是掩码字符串的主要部分,它确定输 ...

  7. SDK does not contain any platforms. error (android)

    By default sdk was installed under the C:\Users\<user_name>\AppData\Local\Android\sdk\ directo ...

  8. app/desktop/view/index.html 显示授权标识

    app/desktop/view/index.html 显示授权标识

  9. 在自学php的路上不知道怎么走!!

    在自学php的路上不知道怎么走!! 真希望有人给我指点一二!!!

  10. LYF模板连接.txt

    在解决方案里创建了一个新建网站,在其右键下添加一个模板后,准备使用模板的,在添加新建项里突然没有“使用模板页的web窗体”,顿时感觉悲剧... 解决方法:模板页代码---LYFMaterPage.Ma ...