Hadoop生态系统由于满足了传统关系型数据库无法处理的数据规模,因此在海量数据处理领域倍受青睐。尤其在互联网行业,大量的海量数据应用从关系型数据库转向了Hadoop生态系统。
做为传统关系型数据库的管理者,有一小撮嗅觉敏锐的DBA也对Hadoop的世界满怀激情和向往,也在通往Hadoop的道路上跃跃欲试。如果传统关系型数据库的管理者称为DBA,那么Hadoop生态系统的管理者可以称为HadoopDBA。本文将根据SWOT理论,分析传统DBA向Hadoop转型的方方面面。
(Strengths)优势
初级的DBA在现实中摸爬滚打两三年后会逐渐发现,要解决问题,单单了解数据库本身的知识是远远不够的,数据库作为一个软件运行于操作系统之上,数据库的数据存放于存储之上,数据库的高可用方案又涉及到网络连接、操作系统集群软件的配置等等。同时数据库通过应用服务器对外提供服务,而任何一个小小的环节出现纰漏,都可能在数据库上反映出来。举一个简单的例子,某用户的业务系统首页访问缓慢,遂要求DBA介入调查,最终发现是应用系统的域名解析出现了问题,使用IP访问业务系统速度就很正常,这个案例是否属于数据库系统故障我们不做讨论,但是用户首先想到的就是DBA确是一个不争的事实。传统DBA对于数据库在软硬件架构中的位置,必须有明确的认识。对于同样作为数据存储和运算系统的HadoopDBA,同样需要具备这样的能力。存储方式的选择(本地存储还是共享存储),操作系统参数的配置,网络的连接方式,甚至服务器机架的分布都是Hadoop DBA需要考虑的。
根据笔者的观察,很多资深DBA往往谨小慎微,甚至如履薄冰,究其原因,因为懂得,所以谨慎。工作中曾经遇到过:有人报告数据库无法访问,同时某开发人员将在数据库中运行不出结果的SQL语句拿给我看,我看完顿时傻眼,一个1亿条记录的表和一个10亿条记录的表进行关联竟然没有指定关联条件,两张大表的笛卡尔乘积,导致数据库假死。这就是因为无知,所以无畏。针对Hadoop各组件对内存的消耗,作业的调度,尤其是对实时组件(如HBase)的维护,也需要一种敬畏的心态和严谨的态度。
工作中DBA打交道最多的语言不是Java,C++,而是SQL。SQL的诞生为关系型数据库的数据操作提供了行业标准。Hadoop生态系统为了保持与传统数据库的兼容性,提供了类SQL的查询语言,大大降低了DBA行业跨入的门槛。而Hadoop世界中的SQL(Hive、Spark SQL、Impala等)也需要解析,生成执行计划,并最终从HDFS(或内存)中获取数据。这样的流程显然对传统DBA们早已了熟于心,只不过读取数据的位置不同。
(Weakness)劣势
传统的DBA对数据库本身的内存结构有非常清晰的认识:哪个部分缓存数据,哪个部分缓存SQL语句,哪个部分缓存单个会话的局部信息,各元素又是以何种算法从内存中替换出去都了熟于心。而Hadoop中的组件总是运行在JVM(Java虚拟机)中,DBA们必须从数据库的内存结构转向JVM的内存结构:哪是老生代,哪是新生代,对问题诊断也从数据库系统产生的dump文件转向了Java进程产生的dump文件。这确实是一个不大不小的跨越。
由于Hadoop生态系统的组件由Java实现,原生的开发语言自然是Java,事实上大部分的应用都是使用Java开发的,DBA们不单需要从系统的角度认识Hadoop,甚至需要从应用代码的角度判断问题或性能故障。
传统的数据库DBA可能精通一种特定的RDBMS就可以吃遍天下了。而Hadoop生态系统则完全不同,有适合做批处理的,有适合做实时查询的,还有做内存运算的等等。在产品选型的时候,HadoopDBA必须有能力根据特定的业务场景选择合适的组件,并进行充分的性能、高可用等一系列测试后,才可以进行逐步推广。
(Opportunity)机会
随着Hadoop生态系统的不断完善以及在不同行业中的逐渐推广,以金融行业为首的各种分析应用也对精通Hadoop的人才产生了供不应求的情况。可以说HadoopDBA们的市场前景广阔,钱途光明。
(Threats)威胁
与传统数据库单一的RDBMS可以闯天下的形势相比较,HadoopDBA对从业人员的知识面要求更广,对产品本身的理解要求更深。对于产品本身导致的问题,甚至要求可以从源代码级别进行跟踪和定位问题。不得不说,Hadoop对管理人员的要求相当严苛。
传统行业的硬件架构(基于IOE)一般采用磁盘阵列集中存储,与Hadoop将硬件损坏做为常态,从软件级别冗余,利用本地磁盘存储的方式完全不同。就在笔者撰写本篇文章当日,还有在电信运营商工作的同事问到是否可以使用磁盘阵列做为Hadoop的存储。传统行业对IT硬件架构认识的积习也不可能在一朝一夕就完全改观。
综上所述,对于不安现状的DBA们来说,Hadoop提供了一个机会让他们能够以另一种视角来面对数据。当然只要是想改变现状,总是机遇与挑战并存。墨守成规易,改行换面难,且改且珍惜!
关于作者:
贾传青,数据架构师,OracleOCM, IBM迁移之星。致力于使用大数据技术解决传统数据库性能及扩展性问题,目前正参与某券商大数据平台建设。
联系方式:chuanqingjia#163.com(将#替换为@)
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
探索Hadoop发行版以管理大数据
Hadoop是一种开源技术,它也是数据管理平台,现在它通常与大数据分布相关联。它的创建者在2006年设计了原始 […]
-
SQL Server 2019改进Linux、容器支持
紧随其SQL Server 2016和2017版本后,微软正在准备发布SQL Server 2019,该公司在 […]
-
Cloudera-Hortonworks合并或将减少Hadoop用户的选择
近日大数据领域两家顶级供应商达成交易协议,这可能会影响Hadoop和其他开源数据处理框架,并使大数据用户的技术 […]
-
SQL Server 2019预览版向DBMS引入Hadoop、Spark和AI
微软本周继续改进其SQL Server数据库平台,从关系数据进一步扩展到各种数据类型。 近日该公司发布SQL […]