详谈云计算时代DBA角色的转变

数据库 SQL Server
我们经常谈论数据库如何管理等细节问题,那么对于直接控制数据库的DBA,在云计算时代其身份和角色又是如何转变的呢?相信很多人都不是很了解,读过本文后,您可能会有更深的印象。

以往人们以为数据库就是一个存储数据的大桶,所有数据都往里面扔,而现在数据变得无处不在,很多数据还要同步到移动客户端,开发人员的角色正悄然发生变化,他们现在要完成数据访问、数据建模、数据库开发等,甚至还要进行一些系统管理。

不久前,不管是大型组织还是小公司,都是由数据库专家处理数据驱动的开发任务,数据库管理员(DBA)管理多服务器环境、复制、安全和维护的。但时至今日,许多小到中型的组织都将这些任务分配给开发人员来完成了。

加利福尼亚州OakLeaf系统公司的负责人Roger Jennings谈到:“我在大企业一级还没有看到那些变化,因为从数据安全和完整性方面考虑,DBA角色实在是太重要了,而且出于HIPAA,SOX和SEC审计的目的也是需要的,但在一些小公司中,开发人员(特别是灵活的开发人员)已经接管了DBA的任务”。

科罗拉多斯普林斯Consortio Services LLC 负责人Joshua Jones 说:“这种组合的角色正在呈上升的趋势,许多公司正在尝试雇佣更少的人做更多的事,导致许多具有数据库设计能力的人离开公司”。

“相反,有些DBA正在变成开发人员,因为它们很多维护任务都变成自动化的了”Jones说,它认为只有极少数的纯粹的DBA作业,当你进入一个新的环境后一到两个月后,基本上管理方面的任务就全部实现自动化了,这时多半就开始做一些系统开发工作或重写存储过程了。

如果开发人员在数据建模和数据库基础方面没有经过适当的培训,它们很可能开发出一套无法伸缩的系统,可能只支持特定的应用程序版本。

Jones说:“当我和人们在讨论这个领域时,培训和知识库显得确实非常重要”,它正和越来越多的想成为DBA的开发人员进行互动,许多人走到我们面前说“在公司我已经被告知我们的职务就是DBA,但我真的不知道那意味着什么”。

如果这发生在你的开发团队,仅仅对ADO.NET,SQL Server Management Studio和T-SQL进行培训还是不够的,数据呈爆炸性增长使系统变得越来越复杂,对开发人员/DBA而言要了解这些知识和规范是一项不小的壮举。

在微软这些工作场所中的变化并没有被忽视,SQL Server和相关的工具也走向更高层次的抽象和融合,以满足更广泛的受众,早期的关系数据库都是来自Ashton-Tate公司的数据库,而在企业环境中真正取得进展的是oracle和IBM DB2数据库。

端到端的SQL

微软公司SQL Server数据库产品管理总监Fausto Ibarra说:“我们SQL Server的目标不仅仅是一个数据库,我们把它看作一个数据平台,它可以管理从数据产生到数据归档整个生命周期期间的所有类型的数据,并且在任何一层实现-应用层,中间层和数据层”。

除了传统的查询、报表和分析外,微软正在SQL Server平台上构建服务,如同步、搜索和集成。

微软的目标是兑现SQL Server平台的可视化,根据Ibarra的说法是“开发人员和DBA之间的间隙正在缩小,特别是小公司,开发人员被要求做更多的事情”。

随着SQL Server 2008在2008年8月的发布,微软在SQL Server Management Studio中改善了管理工具的速度和功能,并且在Visual Studio 2008和ADO.NET Entity Framework中为开发人员提供了LINQ to SQL,在Visual Studio 2008 SP1中提供了新的对象关系映射工具。

在SQL Server 2008的高端版本中支持空间数据类型,T-SQL合并和表值参数,跨多服务器的基于策略的管理,与管理有关的数据采集和资源汇总,并提供了更好的报表和分析。

SQL Server 2008在关键领域如为移动设备同步数据和商业智能(BI)报表及分析方面提升了抽象能力,奠定好管道和基础架构基础,这样开发人员就可以将精力集中在其它地方,如业务逻辑,微软对SQL Server的工程方法也发生了变化,确保新的功能可以跨平台端到端工作,包括压缩版,工具和快速版。

下一代SQLServer(代号为Kilimanjaro)预计将在2010年上半年发布,它将会在业务分析时增加‘自助服务’式BI,这样就降低了对IT的要求,Kilimanjaro将包括Gemini项目,这个项目被设计用来整合这些最终用户解决方案,主要是靠SharePoint和Excel完成,微软也有一个数据仓库解决方案,代号是Madison,它在SQL Server中整合了DATAllegro技术。

新角色和工具合并

微软内部有部分人已经尝试把Visual Studio和SQL Server Management Studio整合在一个工具集中,但大部分开发人员和DBA都喜欢它们分开使用。

Jones说如果你同时担任这两个角色,那这样的工具对你而言就太强大了,这样你的开发环境和你的管理工具只是逻辑上分离的,真正有助于你集中精力你手上的事情,可以避免你在错误的服务器上干错误的事情,因为我曾经见过核心管理员犯过这样的错误。

微软在发布SQL Server 2005后就决定为SQL Server Management Studio采用Visual Studio shell,Ibarra说“事实是许多开发人员需要处理数据,DBA需要搞存储过程”。

在SQL Server 2008中,微软在SQL Server Management Studio中引入了更多的Visual Studio功能,Ibarra说“如果你正在编写一个存储过程,你可以使用IntelliSense特性如自动完成或数据库对象下拉菜单,这以前通常都是在Visual Studio中开发C#或.net应用程序时才有的特性,现在DBA也可以使用类似的功能了”。

微软认为可以使用数据库版本将DBA带到Visual Studio Team System (VSTS)套件,但这个想法并没有实现,DBA仍然没有使用类似版本控制的特性,因为有一个成本问题,Northwest Cadence公司的培训顾问Jeff Levinson这样说,Levinson解释到“他们喜欢传统的方法,开发人员提供了一个构建脚本,然后发给DBA运行”,然后他又补充说“SQL Server Management Studio是Visual Studio换了一个皮肤而已,看起来有点不一样,但实际上就是一个环境”。

混合开发

虽然现在开发和管理工具是分开的,但微软已经宣布将会在VSTS 2010中将开发和数据版本合并在一个IDE中,VSTS Team Foundation Server 2010将需要SQL Server 2008,主要是支持新的报表功能。

微软的开发工具市场总监Dave Mendlen解释说“现在开发人员的角色更混合了,同一个人既要处理程序的源代码,也要处理数据库了”。

尽管报告显示微软还在努力争夺开发版的市场,因为大部分功能已经可用了,免费的FxCop和单元测试现在也加入到Visual Studio 2008专业版中了,这种变化对现实世界中的开发情况的确是一个好的解决办法。

Levinson说“我认为微软是第一个考虑将所有的工具整合到一起的公司”,他还说Red Gate和Toad的工具主要是集中在数据库开发人员这一块。

Levinson认为他们不会插入任何前端代码开发和数据访问,Rational工具支持前端和后端,但使用起来很困难和笨重。

Team System工具将一起都整合到一起,首先使用起来更加简单了,Levinson认为这种变化不仅仅是工具的整合,而是更易于使用了。

纽约twentysix新技术公司的负责人Andrew Brust也认为将这两个工具整合到一起是个好主意,它说“我个人认为这是一个非常棒的团队套件,但有些客户可能出于成本考虑可能只会选择开发版本”,这就意味着许多开发人员错过了Data Dude特性。

Brust肯定地说“混合应用程序和数据库开发不是一个新的现象,特别是在2000-2001年技术低迷时期”。

Brust还谈到‘用更少的人做更多的事’这个信条使得更多开发人员处理DBA任务,反之亦如此,这样使得来自经济方面的挑战就少了,无疑这是一个受欢迎的改进。

在2008年十月下旬召开的2008微软开发者大会上,最后让VSTS 2008 Database Professional成为公司的候选者,为VSTS 2010的发布做好铺垫。

Levinson说“这样做确实需要点雄心壮志,它已经转换成一个提供器模型”,IBM公司已经宣布将以一个数据提供器支持DB2。

延伸讨论

不管结合了应用程序/数据库开发的角色是否容易被人接受,关于开发人员和DBA的讨论越来越激烈,Levinson完全支持开发人员去做数据库类型的工作,因为实际上他们已经在这样做了。他说“我看到一些数据建模人员理解了数据和关系,但创建表的工作仍然是由开发人员去完成的”。然后他又补充道“出于安全方面的考虑,我完全不赞同将开发和DBA这两个角色组合到一起,开发人员不应该将代码带出,即使他这样做了,他也不应该访问生产或测试环境,我们看到在一些大公司,开发人员可以访问到极度私密的个人数据,一旦开发人员将这些信息带到他们的笔记本电脑上,情况就不受控制了”。

最后Jones在DBA和开发人员相互对抗的环境中成长起来了,但这已经超出了本文的范畴,他说“这就象硬币的两面,需要明白每一面都是不可取代的,所以要理解DBA在安全方面的地位是不可动摇的,而开发人员在访问方面的地位也是不可动摇的”。

云中的DBA何去何从

当程序数据从企业的后端系统转移到云服务如微软的SQL Server数据服务(SSDS)时DBA的角色将会发生什么变化呢?SSDS被设计为提供数据存储、查询、可伸缩和高可用性服务,微软SQL Server产品总监Fausto Ibarra说“我们使用SSDS要做的事情是管理我们所有的客户,但DBA角色仍然保留,在某些情况下,客户可能在地基上使用数据,也可能在云中使用,因此你需要DBA来确定数据是否是重复的,当云中没有数据时,你也需要靠DBA将数据从地基上转移到云中。”

目前经济萧条的大环境下可能促成一些企业去了解这些服务,以缩减在这方面的投入,OakLeaf系统公司的数据库开发者和负责人Roger Jennings说“在微软的数据中心上运行Visual Studio 2008和传统的SQL Server 2008,你仍然需要DBA,但如果你使用SSDS,对DBA的需求就明显减少了。”

Northwest Cadence公司ALM项目负责人微软MVP Jeff Levinson认为现在暂时不会考虑使用这服务,因为安全方面的原因和一致性的问题,他说道“虽然目前急需要云计算,但真正的只不过是将数据存储到那里,这样的话,就更需要DBA来管理了,因为数据的安全和一致性变得更重要了”。

【编辑推荐】

  1. Oracle DBA职责及日常工作分析
  2. Oracle DBA优化数据库性能心得体会
  3. Oracle DBA的利器EXP和IMP简介
责任编辑:彭凡 来源: ITPUB
相关推荐

2010-04-02 10:43:02

云计算

2018-10-29 14:09:21

人工智能学生学习

2010-06-07 08:55:50

Hadoop云计算

2010-03-24 13:56:41

云计算

2018-01-12 15:32:55

大数据DBA数据库管理员

2010-03-17 15:00:34

云计算

2012-09-17 09:08:59

2015-09-24 13:00:30

云技术IT人才需求转变

2017-06-30 13:42:25

云计算商业模式转变

2012-11-07 15:47:58

云计算云安全

2010-03-23 11:55:32

云计算

2010-04-02 16:41:26

云计算

2010-04-02 17:28:48

云计算

2010-03-11 16:06:34

云计算服务

2011-10-20 09:23:12

惠普云计算数据中心

2016-08-10 21:17:42

DBA云时代NoSQL数据库

2012-11-02 13:25:04

云计算灾难恢复

2019-09-04 17:57:42

混合云云计算云服务

2011-10-25 10:31:29

云计算CIO

2013-08-08 10:14:52

云存储云计算
点赞
收藏

51CTO技术栈公众号