你好,游客 登录
背景:
阅读新闻

Hadoop不是万能,破除七大迷思让你做应用好大数据

[日期:2014-12-03] 来源:  作者: [字体: ]

  hadoop 是 Apache 软件基金会(Apache Software Foundation)因应 Cloud Computing 与 大数据发展所开发出来的技术,Hadoop 使用 Java 撰写,并免费开放塬始码,在此背景之下,就足以让 Hadoop 在资讯技术发展史上占有一席之地。

  像 Yahoo 就利用 Hadoop Framework 的技术,建立网页索引资料库的计算,同时使用 1 万个 Linux 平台的处理器核心,处理 1 兆个网页连结,从 4PB 的资料,运算得出 300TB 的索引数据。

  然而,盛名之下必有所累 -- 关于 Hadoop 的应用迷思也随之而起。而这些迷思可能会导致企业的资讯部门决策者一厢情愿/过于乐观地制定相关决策。

  资料与资料的使用量正以惊人的速度持续增长中,IDC(The International Data Corporation)在 2013 年 1 月所释出的分析报告就指出 -- 今年在资料储存部份的增长速度将达到 53.4%,而 AT&T 也指出 -- 无线资料的流量在过去的 5 年内增加了 200 倍。

  在 IDC 针对 2012-2016 年亚太区(不含日本)大数据市场所做的分析与预测报告:「APEJ 大数据Technology and Services 2012-2016 Forecast and Analysis」指出,亚太区的 大数据市场规模预估将从 2012 年的 3 亿美金成长到 2016 年的 17.6 亿美元,年复合成长率达 47%;而台湾的市场规模则从 2012 年的 1.13 千万美元成长到 2016 年的 4.61 千万美元,年复合成长率亦达到 40%。

  所以,如果你也重视自己所拥有的对外互动管道的话,你会发现来自网路的内容、电子邮件、App 讯息、社交讯息等数量正显着地增加中,这也是为什么 从 McKinsey 到 Facebook 到 Walmart 等企业都将 大数据的应用视为营运的重点之一。

  但是,大数据会不会如同 90 年代的网路泡沫化与 2000 年的 Web 2.0 泡沫化一样,让一些决策者做出斲伤企业的假设与决策?

  Hadoop 目前无疑是企业们用来因应 大数据需求的主要投资项目之一,像 Facebook、Yahoo 这些大企业都宣称自己在应用 Hadoop 来处理 大数据分析上有相当良好的成效,这将使得之后面临 大数据问题的企业会起而效尤。

  然而,这会不会造成 Functional Fixedness(是指有时候人们会受制于过去的经验,自觉/不自觉地认定某个事物只具备某种特定功能用途,而习以为常地只朝特定方向去思索的认知结构) 的认知偏差呢?

  接着,就让我们跟随在云端服务领域已有多年经验的 Adam Bloom,带领我们从几个不同面向来看 Hadoop / 大数据的应用。

大数据仅仅只是数据量爆增(Volume)的问题而已?

  到目前为止,对于 大数据尚未有统一的定义,因此,除了数据资料量的增加之外,你还会经常听到一些科技领导厂商与研究机构所提出的几个关于 大数据的特性,像是像是 Variety(异质资料多样性,指的是结构性、半结构性与非结构性资料,包含文字、影音、网页、串流等)、Velocity(即时性)和 Value(价值)等。

  大数据的特性并不只是数量上的成长 —— 事实上,它正朝向用更好的方法,来达成在最佳时间内分析整合来自企业内部分散各地的结构性 (Structured)/非结构性(Unstructured sources)资料,以探勘出隐藏的价值,提供给企业决策者做决策的参考依据。

处理结构化资料的 SQL 无法在 Hadoop 上使用?

  当 Facebook、Twitter、Yahoo 等科技龙头企业,都选择 Hadoop 来处理自家内部大量资料的分析的同时,表示他们瞭解 Hadoop 主要是用来处理非结构化资料,因此,HDFS 和 MapReduce 在处理结构化的资料上就必须选择像 Hive、Pig与 Sqoop 等为工具。

  由于 SQL 发展的历史已经超过 25 年了,这表示现在的许多资料是透过 SQL 来做管理的,Hadoop 的掘起虽然是时势所驱,但,这并不表示我们已经不再需要 SQL,更何况这两者的功能是互补的,因此,有些企业开始致力于 Hadoop 与 SQL 的相容性开发,以使其能发挥综效。

  例如,EMC Greenplum 所发佈的 Pivotal HD 的元件 HAWQ 就是一个很棒的例子 ── 它是一个与 SQL 相容的平行查询引擎,速度比 Hadoop 查询引擎要快上 10 – 100倍之多,而且能够处理 PB 规模的资料量。

Hadoop 将取代大型主机(Mainframe),成为唯一的 IT 资讯平台?

  实务中,企业裡的 IT 产品组合中,有很多是需要长期投资的项目,像用来做伺服器的大型主机就应该跟随着企业系统(如,ERP、CRM、SCM 等)的演进而做适当的调整。

  资讯决策者若不想汰换大型主机,或还无法就现有的资讯架构做调整,就必须赋予它新的定位与存在的价值。

  像我们公司有不少客户在大型主机的运作上都遇到了速度、规模与成本的问题,但还是有方法可以解决这些问题的,例如,VMware 的云端计算应用平台 vFabric SQLFire,就是利用虚拟化技术来处理大量资料,并藉由分散式快取技术节省磁碟存取次数,进而达到降低延迟时间与分散系统负荷的目的。

虚拟化技术对效能提升有帮助吗?

  Hadoop 最初的设计只是在实体伺服器上运行,然而随着行动商务与网路商机的发展,为了能更方便分享及取用资料,企业纷纷把资料从大型主机转移到 Web 服务供应商的资料中心(Data Center);而服务供应商为了提供更稳定与更迅速的服务,也需要一个新的服务架构,把运算资源与储存空间做更有效率的利用。

  随着云端服务的兴起,许多企业开始希望 Hadoop 能把上述的需求整合在一起,以延伸传统资料中心的功能。而基于成本与效能的考量,虚拟化技术也开始受到重视。

为什么企业需要虚拟化技术?

  我们首先考虑到的就是:弹性。你可以想像,如果我们能够动态地调整计算资源,就能够将大量且复杂的计算程序自动拆解成多个较小的子程序,再由多部伺服器所组成的丛集进行分散和平行计算分析,将处理结果回传给云端使用者。

  也就是虚拟化技术能让电脑分工合作,让系统的运作与使用者利用资讯的方式更有效率。

资讯架构也可以透过租赁方式取得?

  2012 年, 被 VMware(虚拟化技术应用大厂之一,同时也是云端计算发展的领导企业之一)收购的 Cetas,是一家提供软件即服务(Software as a Service, SaaS)基础架构的云端服务厂商。

  Cetas 所提供的云端服务,让他的企业用户不需要花大量的时间与费用来建置专属的资料中心(Data Center),透过其所提供的服务就可以在云端上运行 Hadoop、SQL 与资料的即时分析(Real-Time Analytics),取得自己所需要的设备与技术服务,而不必再自己从无到有评估软件授权、硬体与软件建置/安装/升级等。

  对于建立公有云(Public Cloud,通常与「租赁」有关,也就是建立云端资料中心后,不只是提供自己使用,还可以把多余的运算资源分租给别人,也就是透过收取费用把云端资料中心的服务与资源「分享」给其他对象)的企业来说,使用 Java 的开发人员,或许可以从 VMware 针对 Apache Hadoop 所推出的 Spring Data 产品,以及从 GitHub 所提供的线上版本控制服务所提供的免费/付费资源中获益。

虚拟化技术只会提高企业的成本?

  Hadoop 通常在商用伺服器上运行,因此有人会认为新增虚拟层(Virtualization Layer)除了会带来额外的成本支出之外,能不能获得对等的价值回馈还是一个未知数。然而,这个观点其实存在缺失 -- 实务中,资料和资料分析都是进行动态处理的,而动态处理的机制要做到好还要更好,所耗费的资源是非常可观的。

  如果你希望藉由 Hadoop 这个工具来平衡企业内部因应 大数据所带来的问题,举凡资讯架构的调整,增进系统间互动的效率,资料探勘所带来的创新价值等,你就必须瞭解企业内部的资料是存放在不同的位置与系统中的,以及为了进行分析这些分散的资料所必须花费的时间与速度等。

  导入虚拟化的资讯基础架构可以减少你不断採购硬体所占用的土地面积,而且,它会让企业的 CAPEX(Capital Expenditures,资本支出)和採购非虚拟的设备相差不多,但,透过虚拟化技术,却能让使用者享受到比传统资料传输方式更为快速、简单且更优惠的好处,进而降低企业的 OPEX(Operating Expense,运营成本)。

Hadoop 无法在 SAN(Storage Attachment Network)或 NAS(Network Attached Storage)架构中运行?

  Hadoop 通常都在区域性的磁碟上运行,但中小型的丛集在共用的 SAN 环境裡,运行的效能也不错,但这视丛集的成本和效能而有不同。

  另外,高频宽的网路,像 10 GB 的乙太网路、 FoE(Power over Ethernet,指透过网路线来获取电力)、iSCS I(Internet SCSI,将传统上只能用于本机传输的 SCSI 协定,可以透过 TCP/IP 网路承载,以达到资料高速传输的需求)等都有益于效能的提升。

  备註:(1) SAN,是一种连接外接储存设备和伺服器的架构,特点是,连接到伺服器的储存设备,将被作业系统视为直接连接的设备;(2) NAS,是将储存设备透过一台用来进行资料存取的档案伺服器直接连到区域网路上,因此,企业内其他的伺服器就不须同时兼负资料存取的动作,藉以优化效能。

  本文主要的目的在于,藉由以上所提及的几项思考,能协助对 Big Data应用有兴趣你,用更客观的角度来看待相关的问题。Hadoop只是一个用来协助处理大量数据分析的工具之一,它并不是市场中唯一的选择,你应该依据实际的需求与环境来採购适合企业的应用工具,所以,如果你面临的是处理大量数据的时效性(Velocity)问题,那么 GemFire 与 SQLFire 或许是最好的选择。

  而像 RabbitMQ 这类讯息导向(Message-Oriented)的中介软件(Middleware),可以利用来在不同的程式语言、平台、与电脑之间交换讯息。

  当然,如果你期望将企业的产品更快地推向市场,可能就意味着你需要一个提供 SaaS 基础建设的云端服务供应商,而 CETAS、Redis 更能满足你的需求。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款