技术开发 频道

云时代,“DBA消亡论”是否危言耸听?

  【IT168 评论】DBA在我的印象中就是两个字,忙碌。他们总是忙着解决各种各样的问题,他们的生活永远被备份失败、模式失控、突发需求、查询缓慢、性能问题等等围绕着。

云时代,“DBA消亡论”是否危言耸听?

  虽然在很多企业中,尤其是拥有庞大数据库集群的大型企业中DBA们仍然扮演着重要角色。但是,随着技术的不断发展,数据的存储和管理发生了很大的变化,虚拟化、云存储、微服务、DevOps这些技术的发展对DBA的职业生涯提出了考验。

  NoSQL数据库不需要预先定义模式,它自己默认内置了很多模式;可以在系统运行的时候,动态增加或者删除结点,不需要停机维护,数据可以自动迁移;NoSQL通常是将数据划分后存储在各个本地服务器上,从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。很多开发团队和厂商都看中了云存储的发展前景,亚马逊推出了AWS S3,就连一些传统关系型数据库厂商也想在这一领域分一杯羹,Oracle、Microsoft、IBM都在数据库的可扩展、易用性和硬件高可用方面投入了大量精力,旨在布局DaaS。

  如果因此你就认为未来DBA们的工作会越来越轻松,那你就大错特错了。Rackspace 副总裁Chris Lalonde表示:未来,DBA的角色将变得更加复杂,虽然现在开发了很多自动化工具,但是技术还没有成熟,需要做的工作还很多,DBA在接下来的日子里存在并将长期存在。

  任何数据库新技术的发展都是为了促使数据能够更加专业化,无论是DBA、数据架构师、数据工程师还是数据科学家都应该以此为己任。eventador创始人Kenny Gorman表示:现今社会是一个数据为王的时代,企业只有依靠数据库才能更加高效的完成管理工作,数据让企业更具竞争力,但是数据的价值还没有完全被挖掘出来,还有很大的发展空间,很多技术也还在研发阶段。

  DBA下一步该往哪走

  非关系型数据库平台的出现减少了DBA的工作量,但是这并不意味着DBA将无事可做,还有大量的工作等着他们去做呢。 Couchbase产品副总裁Ravi Mayuram表示:DBA是时候做出一些转变了,之前他们一直在驾驶汽车,但是现在汽车出现了故障,他们就要把汽车停靠在路边,打开引擎盖等待救援。

  MongoDB和CouchBase这类型的数据库虽然不是关系型数据库,但是它们也支持SQL查询,日常工作也需要DBA来维护。这类数据库的优势是高性能、易部署、易使用,存储数据非常方便。

  传统的大型关系数据库系统要求DBA深入了解软硬件的所有信息,Mayuram认为,未来DBA在这方面的技能将被弱化掉,真正要提升的是他们的规划部署能力,要准确掌握服务器的服务寿命。

  动态可扩展性的需求驱动了云数据服务的发展,按道理来说,DBA应该专注于当前程序的容量配额,但是,DevOps已经完美的解决了这个问题,它可以动态配置,相比于人工要更加准确高效。所以DBA无需在这方面再投入过多的精力,而是应该集中在规划方面。

  可能很多人对DevOps都不太熟悉,我们来简单介绍一下它。DevOps 开发(Development)和运维(Operations)两个领域的合并,是现在Web服务开发常用的做法。传统的软件组织将开发团队和IT运营设为各自分离的部门,而DevOps将他们整合在一起,让开发团队和IT运营部门紧密合作,提高了软件和系统的性能、自动化和可扩展性。DevOps是以NoSQL数据库和非传统的数据存储查询技术为主要驱动力,要求数据库容量能够自动缩放,进而带动了DaaS的发展。在关系型数据库向数据库云服务转型的过程中,放宽了DBA对硬件配置细粒度控制的要求。

  目前已经有企业在部署DaaS,但是他们只是尝试将部分数据迁移上云,并没有将关键数据部署进去。Mayuram指出:大多数企业采用的是一种混合的方法,在数据中心内部部署了基于云计算平台的内部托管的DaaS平台,但是他们主要业务还是依仗原有系统,只有在一些全新的项目中才会采用云计算平台,所以原有平台仍然需要DBA们来维护。

  即便是有些公司打算采用新的数据库,那么也还是要解决新旧数据库之间存在的差距问题,如果公司的数据业务是完全外包的,那么DBA更是必不可少的。所以说在很长一段时间里,DBA的存在都是必要的。

  死亡之论言过其实

  2013年12月 Kenny Gorman 发表了一篇名为《The Database Administrator is dead》的文章,虽然它是打着DBA死亡之论的旗号,但是它在文章的最后还是声明了DBA万岁。

  Gorman从事Oracle数据库管理工作多年,曾是PayPal 和eBay的数据设计师,但是他在接触到MongoDB之后,就成为了NoSQL的信徒。他在文章中写道:DBA的角色未必是死了,只是转移到了新的位置。数据服务、微服务等等都迁移上云,整个数据生态也在持续发展中,它们改变了DBA的角色,DBA不再只是管理以Oracle服务器为中心的公司数据中心,而是要管理存在于各种云上的数据库。

  数据库新技术的不断涌现接手了DBA原先的工作,但是这并不意味着DBA的工作量会减少。Lalonde 表示:我相信自动化替DBA分担了一些之前的工作,例如硬件容量规划、查询操作等等,但是它们无法查找和修复慢查询或查询产生的碎片,如何使用最少的资源建立最大的规模,还需要DBA专家来处理。

  Gorman 认为数据环境的复杂性将为DBA的工作带来挑战,面对新环境,他们将不再像之前那么专业。他认为总有一天,他将重新为PayPal 和eBay设计数据库。

  Gorman表示:DBA这个职业的主要工作就是系统管理和数据库存储。其实就今天来说,数据库的概念已经相当模糊了,Oracle显而易见是一个数据库,那么Hadoop是数据库吗?显然也是数据库。Kafka是数据库吗?Kafka具备了数据库的属性,主要处理shuffle data和实时数据,这是一个疯狂的时代,我们无从得知数据产品或数据基础设施是否为数据库。但是它们确确实实一个数据系统,拥有自己的组件。

  即便新技术层出不穷,有些事情也是不会改变的。查询优化、数据移动的问题仍然存在,数据库的监视和维护也是要持续做的工作。那些schema-less的数据库即使有一些常用模式,那也只是宽泛的定义,无法精确到企业业务。

  Lalonde表示:现代DBA除了要具备传统DBA的技能,还要理解广度的技术,适应敏捷环境,真正理解数据库基本原理,并且能够很好的进行技术转换。

  未来DBA到底应该是怎样的

  数据技术的转变和工作内容的变化重新定义了DBA的角色和作用。越来越多的数据库操作任务在向DevOps操作转变,DBA和应用程序的开发更加紧密的联系起来,DBA的工作技能逐渐向运营开发靠拢。

  Gorman认为:数据技术是呈喷发式发展的,但是每一项新技术从诞生到成熟都需要一定的时间,所以,现阶段DBA仍是十分必要的存在。但是,DBA不仅需要了解传统关系型数据库,也要与时俱进,了解更新更前沿的数据库技术。例如,SQL查询在关系型数据库上的表现突出,DBA需要深刻理解它的内部工作原理,让它能够在非关系型数据库也能表现突出。

  Lalonde认为;一条铁链的坚固程度取决于它最薄弱的环节,数据库的选型也要多方面综合考虑,尤其要考虑它的弱点是什么。如果DBA能够熟悉了解各种数据库的特点,那么就能扬长避短,充分利用数据库的特性来完成特定场景。

  数据库领域对DBA们来说是一个既熟悉有陌生的领域,熟悉是因为大部分的DBA都在该领域专研了十多年,陌生是因为数据变得越来越复杂,对DBA的要求越来越高,他们要同时管理好结构化、半结构化和非结构化的数据,这对DBA来说是新的挑战。

  原文出处:

  http://arstechnica.com/information-technology/2016/07/its-the-data-stupid-why-database-admins-are-more-important-than-ever/#

1
相关文章