DBA在我印象中就是两个字,忙。他们总是忙于解决各种问题,他们的生活永远被失败的备份、失控的模式、突发的需求、缓慢的查询、性能问题等等所包围。尽管DBA在很多企业中仍然扮演着重要的角色,尤其是拥有庞大数据库集群的大型企业。但是,随着技术的不断发展,数据的存储和管理发生了很大的变化。虚拟化、云存储、微服务、DevOps等技术的发展,对DBA的职业生涯提出了考验。NoSQL数据库不需要预先定义模式,它默认内置了很多模式;系统运行时,可动态添加或删除节点,数据自动迁移,无需停机维护;NoSQL通常会将数据进行划分,存储在各个本地服务器上,从本地磁盘读取数据的性能往往优于通过网络传输读取数据的性能,从而提高系统的性能。许多开发团队和厂商都看中了云存储的发展前景。亚马逊推出了AWSS3。甚至一些传统的关系数据库厂商也想在这个领域分一杯羹。甲骨文、微软、IBM都在可扩展的数据库硬件的易用性和高可用性方面下了不少功夫,旨在部署DaaS。如果你因此认为未来DBA的工作会越来越轻松,那你就大错特错了。Rackspace副总裁ChrisLalonde表示:未来,DBA的角色将变得更加复杂。虽然已经开发了很多自动化工具,但是技术还不成熟,还有很多工作要做。DBA将在未来的日子里存在,并将持续很长时间存在。任何新的数据库技术的发展都是为了让数据更专业,无论是DBA、数据架构师、数据工程师还是数据科学家都应该以此为己任。eventador创始人KennyGorman表示:当今社会是一个数据为王的时代。企业只能依靠数据库来更高效地完成管理工作。数据让企业更具竞争力,但数据的价值并未得到充分挖掘。发展空间很大,很多技术还处于研发阶段。DBA下一步应该去哪里?非关系型数据库平台的出现,减轻了DBA的工作量,但这并不意味着DBA就无事可做了。还有很多工作等着他们去做。Couchbase产品副总裁RaviMayuram表示: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月,KennyGorman发表了一篇名为《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具有数据库的属性,主要处理shuffle数据和实时数据。这是一个疯狂的时代,我们无从知晓数据产品或数据基础设施到底是不是数据库。但它们实际上是一个数据系统,有自己的组件。即使新技术出现,有些事情也不会改变。查询优化和数据移动的问题依然存在,数据库的监控和维护也是一项持续性的工作。那些无模式的数据库即使有一些共同的模式,也只是泛泛地定义,不能精确到企业业务。Lalonde表示:现代DBA除了具备传统DBA的技能外,还必须了解广泛的技术,适应敏捷环境,真正理解数据库的基本原理,并能够很好地进行技术转换。未来的DBA应该是什么样的?数据技术的变革和工作内容的改变,重新定义了DBA的角色和作用。越来越多的数据库运维任务向DevOps运维转变,DBA与应用开发的联系更加紧密,DBA的工作技能也逐渐向运维和开发靠拢。戈尔曼认为,数据技术正在以爆炸式的方式发展,但每一种新技术的成熟都需要一定的时间。所以,现阶段DBA还是很有必要的。但是,DBA不仅要了解传统的关系型数据库,还要与时俱进,了解更新更前沿的数据库技术。例如,SQL查询在关系数据库上表现良好,DBA需要深入了解其内部工作原理,以便它在非关系数据库上也能表现良好。Lalonde认为,一条铁链的强度取决于它最薄弱的一环,数据库的选择也应该多方面考虑,尤其是它的薄弱环节是什么。如果DBA能够熟悉各种数据库的特性,那么他就可以充分利用数据库的特性来完成特定的场景。数据库领域是DBA们既熟悉又陌生的领域。熟悉是因为大部分DBA都在这个领域做了十几年的专业,不熟悉是因为数据越来越复杂,对DBA的要求越来越高。同时管理结构化、半结构化和非结构化数据对DBA来说是一个新的挑战。
