蓄积必要技术能量 驾驭大数据浪潮
尽管论及大数据(Big Data)跃居热门话题,实与2010年登上维基百科、2012年纽约时报披露「The Age of Big Data」专栏文章等里程碑有关,但其实早已存在世上,它是大量、高速、型态多变的信息资产,需要搭配全新处理方式,促成更强的决策能力与洞察力。
伴随大数据大行其道,跃居IT业界的潮牌时尚,遂使大数据与云端运算得以并驾齐驱,成为众所瞩目的焦点,即便延烧多年依旧热力四射。在此前提下,以黄色小象为Logo的Hadoop,在IT人士的心目中,也从早期的陌生逐渐转为熟识。
说起Hadoop,就不能不提到由出版商O’Reilly及Hadoop解决方案供应商Cloudera所联合举办的「Strata + Hadoop」大会;此会议在2015年到达了最高潮,不仅将举办规模扩大,从北美、欧洲一路扩及世界各地,在多个城市遍地开花,且被美国总统欧巴马任命为白宫首位首席数据科学家(Cheif Data Scientist)的DJ Patil,也亲赴会场发表演说,此外诸如Linkedin、Netflix等饶富盛名的成功新创企业,也现场说法畅谈如何妥善驾驭并处理巨量数据。
非结构数据处理需求增 带动Hadoop崛起
由此观之,纵然Hadoop绝不等同于大数据的全部,甚至也称不上个中最深具价值的环节,但对于有志挺进数据分析与管理技术领域的人们,依然有必要好好认识Hadoop这门学问,只因为截至目前为止,Hadoop仍是巨量数据市场里头的老大哥,身怀许多攸关于大数据处理的技术优势,譬如系统扩展、档案储存、数据处理与备份...等等,连带也让属于Hadoop生态体系内的Hive、Hbase、Pig、Flume、Oozie或YARN等其他技术项目,跟着雨露均沾。
其中较受瞩目者,无非就是犹如Hadoop上数据库系统的Hbase,用以处理数据的 Script语言Pig,以及近似于SQL语法查询功能的Hive。
论及Hadoop的神奇魅力,就在于它不但具备储存逾越一台服务器容纳量的巨大档案,且甚至还能同时储存、处理与分析数千数万份这般巨大档案,故而深受各方关注与喜爱。简言之,Hadoop是一套丛集系统,可容纳一到数千台服务器节点,汇聚为犹如超级电脑的强大计算能量,至于其间所采取的数据储存模式,则以HDFS分散式档案系统(Hadoop Distributed File System)作为基础。
深究HDFS的特色,乃在于从提高机率的观点出发,将存入此环境的每一份数据,都至少产生三份副本(Replication),接着予以平均分散储存至位在不同机架的服务器上,借此提高数据存取效率。具体来说,每当任何一份档案存入HDFS,其中的Namenode将负责把档案切割成为数个64MB固定大小的区块(Block),然后再把这些Block分散储存至不同的DataNode,所以每套档案的储存,皆跨越不同实体主机器,也算是一个由Namenode居间掌控大局的虚拟分散式档案系统。
从最终用户的角度,当需要从HDFS架构调阅数据时,通常会从3~5台不同的服务器各读取一个Block,接着再组合为一份完整的档案,如此将有助于降低每一台服务器Read Lock的时间,大幅提升读取效率。
而在HDFS力挺之下,使得Hadoop能够储存大到TB、甚至PB等级的巨量数据,无需担心有任何档案逾越单一磁碟区的大小,更不必担心丛集环境中有任何主机失效、因而导致数据毁损。
另一方面,Hadoop除HDFS还有一大核心功能,也就是名为MapReduce的平行运算技术架构,顾名思义,它便是取材函数程序设计当中的映射(Map)、归纳(Reduce)等概念,运用个别击破(Divide and Conquer)的方式,将一个大问题拆分为许许多多个小问题,经由个别妥善处理后,最终再加以归纳整合。
NoSQL与MPP数据库 联袂形成大数据支柱
显而易见,透过前述这般多管齐下的处理模式,相较于传统计算技术,确实更能有效悠游于动辄数百台、数千台主机所形的丛集系统,平行处理个中巨量数据,从而加快数据处理效率。
只不过,光靠Hadoop一干徒子徒孙,即使是赖以储存数据的重要法宝HDFS,以及攸关数据处理的关键架构MapReduce,都还不足以化解所有关于大数据的处理难题。因此有另外两项堪与Hadoop鼎足而三的利器,其一是大规模并行处理(Massively Parallel Processing;MPP)数据库,另一则是NoSQL。
先说MPP数据库的诞生缘由。因为大数据当中充斥极大比例的非结构化数据,明显逾越过往一般BI系统架构的处理能耐,为了让企业以往苦心累积的投资不致一夕泡汤,能够继续发挥价值,将战线从结构化数据延伸至非结构化数据,实为必要另行建构Hadoop基础架构,用以处理半结构化数据、或非结构化数据,在此萃取出有价信息后,再循着适当路径,回归到既有的BI系统进行整合分析。
值得一提,若采取前述做法,必须倚靠一道定制化的数据转换机制,用以介接Hadoop架构与BI系统,但此机制的产生,难免需要历经Hard Coding程序,唯恐加重企业的程序开发负荷,且最终所能展现的数据整合程度,也将有所局限,因此并非最佳模式。
着眼于此,开始有业者发展MPP数据库,将传统关联式数据库的Raw-based运算结构,转为Column-based另一索引架构,藉以增进巨量数据的查询效率,另新增Hadoop连接器,让企业据此串接Hadoop架构,兼能整合既有的前端BI工具,也使得原本颇为艰涩而不友善的巨量数据处理结果,得以化繁为简,透过友善界面呈现予使用者观看。
举例来说,一向在数据仓储市场享有高占有率的Teradata,为了强化非结构性数据分析能力,于是在多年购并Aster Data,使之支持关联式数据库SQL语法,搭配用以处理非结构化数据的MapReduce函式库,接着借此平台一并储存结构化数据与非结构化数据,并将非结构化数据当中的可用信息转换为结构化数据,加以分析并建立数据模块,最终交由Teradata数据仓储系统执行关联式分析。
Fat Node概念抬头 藉由强效主机支撑Hadoop运作
至于NoSQL,则跳脱了传统关联式数据库管理系统的框架,只因为一般数据库在进行大量数据存取时,终究很难避免有关于效能、扩充性乃至维护等种种难题,既然如此,便亟思以NoSQL数据库这般另类技术架构(顾名思义,不以SQL为查询语言),巧妙化解效能与扩充弹性等方面的不足。
到了后来,甚至有业者提倡将NoSQL的原义「No SQL」做适度改良,进而赋予「Not Only SQL」之新内涵,也就是让它不只是SQL系统,能够并用NoSQL数据库与传统关联式数据库的双重优势,截长补短以实现最佳的大数据储存效果。
原本各方认为,藉由Hadoop、MPP数据库及NoSQL共筑而成的铁三角,理应可协助企业有效克服大数据储存与分析之挑战,殊不知随着Hadoop运算节点愈增加,而不再只是一开始主机数量有限的小集群,便使得管理与维护难度急遽升高,与此同时,肇因单一或少数主机故障而影响整个大局的失误点,数量也节节攀升。
因此在去年的Strata + Hadoop世界大会,已明显释放出「Fat Node」新概念,意即不再只一大堆蚂蚁雄兵(指大量通用型服务器)来建构Hadoop,或藉以支撑MPP数据库、NoSQL数据库等系统的运作,转而藉助具备更充裕资源的强效型服务器担当重任,有效提高大数据处理效率。
以思科的UCS通用平台架构(CPA)为例,正是呼应前述Fat Node新观点的典型运算设备,其内含UCS C220/C240服务器、Nexus 2232 Fabric Extender、UCS 6200系列Fabric Interconnects、UCS Manager,辅以运用独特的Unified Fabric网络层统一技术,故而可确保传统数据仓储、Hadoop架构等新旧节点皆可接入同一储存架构,且让管理者得以巧妙跨越企业应用、Hadoop丛集等不同环境,挪移调度运算资源,确使企业面对大数据所衍生的新投资,能够回头支应既有应用需求,从而展现最佳投资报酬率。