数据库管理员是否真的已死,再无前途?

此文是ObjectRocket联合创始人Kenny Gorman的文章。在一辆拥挤不堪、从某处飞往犹他州的支线飞机上,我开始思考15年前作为Oracle数据库管理员(DBA)的那些酸甜苦辣的过去。数据库为特定应用存储和提供信息,而DBA以往是负责数据库策略、优化、容量规划以及安全的人。然而,我发现...显示全部
此文是ObjectRocket联合创始人Kenny Gorman的文章。

在一辆拥挤不堪、从某处飞往犹他州的支线飞机上,我开始思考15年前作为Oracle数据库管理员(DBA)的那些酸甜苦辣的过去。

数据库为特定应用存储和提供信息,而DBA以往是负责数据库策略、优化、容量规划以及安全的人。然而,我发现,过去几年,数据库管理员的角色已经发生了急剧变化,而且未来的变化还要多得多。

作为这一变化的迹象之一,我们ObjectRocket的很多客户都已经没有DBA这个角色了。

这算不上什么惊奇。随着开发者受累或受惠于越来越快的开发周期,随着应用匆忙推向市场,DBA的角色则继续暗淡。推向市场的时间变短,创新加快了,促进此类敏捷性的编程语言变得流行—node.js、php 以及python应用已成新的司空见惯。一切都变得越来越快。

这一趋势导致开发者要去寻找和接受那些适合设计属性的技术。传统的运营部门已无法适应这种节奏。以云为基础的开发者开始崛起,原型开发和概念验证的速度大为提高。

然而,这迅速演变为在云端部署成熟的产品应用。这段时间技术决策者热衷于用Sublime Text写代码、在Chrome做云控制面板这些时髦的东西。的确,新一代的开发者除了云几乎不知道使用任何东西。

为什么要懂呢?开发者从云端获得的体验往往要比那些本地解决方案(如果有的话)有用得多。而且云端的体验也还在改变,变得越来越丰富,变得越来越习惯。或者说,也许开发者只想有一个应用引擎可以用,至于底层的基础设施是什么他们已经完全不关心了。

于是数据被摆到了我们的面前。

在物联网、大数据的时代,急剧膨胀的数据越来越成为所有应用的一个分量越来越重的组件。(云)应用成为了给移动设备输送数据的用户界面。这些应用依赖于复杂的地理或社交设计。需要具备极强的伸缩性和超高的性能。需要易用的API。时刻都不能停止。

这些新的复杂的数据类型、核心的API设计以及对伸缩能力的需求导致了一类全新的数据存储的出现。NOSQL你应该听说过了吧?不过,云端的数据存储即服务还没有像应用即服务那样流行。其原因主要是因为数据存储的运营要比应用栈的托管难多了。

此外,静态数据问题以及把数据交给云服务商托管引发的信任问题也很棘手。不过这个问题也在发生变化。Rackspace有MySQL服务、Redis to Go以及ObjectRocket。Amazon提供了RDS和Dynamo。还有像Cloudant (NoSQL 云数据库)和Clustrix这样服务细分市场的玩家。

除非你的公司像Facebook或苹果那么大,否则的话采用数据存储及服务的方案是具有真正价值的。首先,开发者可以即时获得许多关键的功能。从而可忘掉其他东西,将关注点放到API交互上。

在这种模式中,开发者就是DBA,过去的那种专门DBA角色已经过时了。开发者无需担心碎片化、索引重建以及数据文件空间之类的事情,把它们交给磁盘、RAID、Ubuntu内核版本等处理就好了,那一堆的问题全都移交给了提供商。

这一切都很好,但供应商必须取得你的信任并加以维持,毕竟这是你的数据。如果数据被盗用、被破坏或丢失的话,一切就都完蛋了。成功的提供商会确保产品能给开发者带来流畅的体验,同时还能接受那些流行的开源API。

所以,也许DBA的角色未必是死了,只是转移到了数据存储即服务的新位置。成功的DBA会理解新世界意味着处理PB级的数据,以及对成千上万个逻辑数据库的数十亿次的操作。他们要在日益困难的负载环境下应对不那么成熟的数据库技术。他们要么自动化,要么去死。

DBA万岁。收起
参与16

返回张东焕的回答

“答”则兼济天下,请您为题主分忧!
张东焕张东焕技术总监IBM官方授权讲师
技术是发展是专业化分工越来越细,原来人人都在和硬件打交道,后来比尔盖茨写了操作系统,将与硬件打交道的事情交给操作系统做,程序员写业务逻辑部分。后来有了网络,由自己写通信程序,又有中间件,CICS、TUXEDO之类的TP Monitor,程序员又解放了,将底层交给更专业的人去做。原来在一个机器上处理数据,不用考虑并发,后来有了网络后,有很多人同时访问数据,于是又有了数据库。现在又要进一步发展。数据库、中间件、操作系统等我也不用管了,我直接用云计算吧。没有问题,但是云里的东西中要有人管吧,所以DBA要发展,成为云管理员。这就不是只知道数据库就行了。要知道更多的东西。DBA不会死,但是会转变角色。不过总的趋势是系统自动化是越来越强大,需要记忆命令之类的事情越来越少了。管理会越来越宏观。看看DB2的参数优化现在几乎都是全自动了。虽然工具越来越强大,但是有问题时,要扎得很深才行。所以很专的人还是有市场。所以对人员来讲,两级分化,通才与专才都需要。
因为现在软硬一体化、云化的趋势越来越明显,因为对于DBA来讲,比如做DB2的DBA,要去实施一个pureScale,要懂Linux/AIX、GPFS、TSA这些原来是硬件工程师应对的。同样,要实施Oracle Exadata也是这样。我自己要越来越硬件化。所以说通才的需要会更多。专才的需求会少,因为系统自动化程度高了。
IT咨询服务 · 2014-05-13
浏览1790

回答者

张东焕
技术总监IBM官方授权讲师

张东焕 最近回答过的问题

回答状态

  • 发布时间:2014-05-13
  • 关注会员:1 人
  • 回答浏览:1790
  • X社区推广