在日趋激烈的市场竞争环境中,企业越来越依赖于从对数据的分析中揭示未来发展的方向。在传统的企业应用中,结构化数据是最为普遍的数据类型。然而,随着社交媒体、移动计算等新技术的演进,企业不得不面对文本、图像、电子邮件、音视频、网上交易数据等海量新型数据。与传统的结构化数据不同,这些数据都是非结构化的。
如今,非结构化数据的爆炸性增长,正在深刻影响着整个数据存储和分析领域。为了满足新兴的业务需求,企业开始逐渐摒弃传统的数据处理方式,转而尝试新的模式对包括非结构化数据在内的各种类型数据进行访问、处理和分析——这便是“大数据”问题。
MapReduce:下一代数据处理编程模式
“大数据”的问题,正促使企业中传统的存储和计算解决方案开始迈向变革之路。从现状来看,当前存储模型大多数能够支持企业级需求。因此,“大数据”的焦点问题开始转向新型编程框架领域。而在这一领域,MapReduce无疑是最受关注的新一代技术。它提供了在计算集群下分布处理大数据的软件框架,利用MapReduce编程框架,开发人员可以开发出跨处理器分布式集群或独立计算机的、能够并行处理海量非结构化数据的程序。从目前来看,市场上主要有三种方式能够实现对海量数据的MapReduce操作。
1.开源Apache Hadoop项目。当前,新型编程框架领域被寄予厚望的一项技术是开源Apache Hadoop软件及其相关的MapReduce编程模型。Apache Hadoop是支持数据密集型分布式应用的软件框架,采用免费许可证方式,能够让应用能够使用Hadoop分布式文件系统内的数千个节点和数PB数据。然而,开源Hadoop MapReduce解决方案并非尽善尽美,由于其计算部分(即数据的抽取、处理和分析归纳)最初只是为了满足基本的功能需求而非企业级的实施进行设计的,因此发展到现在已经无法更好地满足企业级的需求。面对日益苛刻的业务需求,Hadoop MapReduce目前面临五大挑战。
第一,缺乏高性能和扩展性。现有的Hadoop MapReduce编程模型实现并不提供快速、可扩展的分布式资源基础架构解决方案;第二,缺乏灵活的资源管理。现有的Hadoop MapReduce编程模型实现无法迅速响应来自应用程序及/或用户的需求变化;第三;缺少应用部署支持。现有的Hadoop MapReduce编程模型实现并没有使用自动化应用服务部署功能,因此无法简化管理生产型分布式系统上的多应用集成;第四,无法保证服务质量。现有的Hadoop MapReduce编程模型实现并没有经过优化,无法充分利用这个优点:通过提高多核服务器的利用率,加快运行速度、降低成本;第五,缺少多数据源支持。现有的Hadoop MapReduce编程模型实现只支持一种分布式文件系统,通常是HDFS。而一个完整的MapReduce编程模型实现应该足够灵活,能同时支持多种分布式文件系统的数据存取。
2.商用开源解决方案。Cloudera是一家新兴公司,提供自己的Hadoop软件发行版,采用与其他开源软件公司(如红帽)同样的商业模式。它既提供软件服务,又对整个开源软件做贡献——从终端用户应用程序、MapReduce处理到Hadoop文件系统。然而,其解决方案需要处理流程与文件系统紧密集成,这迫使客户被其数据存储方法牢牢锁定。此外,它仍是一款未经验证的大规模企业软件解决方案——包括负载管理功能、高度依赖开源社区、服务质量和性能无法得到保障。
3.数据仓库分析。一些数据仓库厂商在自己的数据仓库上实施了MapReduce编程模型,包括EMC/Greenplum和Aster Data等公司。虽然MapReduce与数据仓库紧密集成对客户来说是个诱人、可靠的解决方案,但是该解决方案只与各厂商自己的数据仓库协同运行,而且不支持其他非结构化的数据系统,如HDFS、Appistry以及其他许多数据系统。
企业级MapReduce分布式运行引擎
由于普遍缺乏扩展或管理大型分布式环境和工作负载并且保持服务水平或避免厂商锁定的能力,众多开源MapReduce解决方案难以满足企业的需求。因此,很多企业机构并不愿意为企业应用程序部署开源的分布式运行引擎。然而,面对不断激增的数据,如果企业希望通过MapReduce编程框架对那些庞大的异构数据集执行分布式计算的话,就势必需要一种具有高扩展性、高可用性又易于管理的企业级解决方案。
为了满足将MapReduce应用迁移至生产环境的挑战,全球领先的集群、网格、云中间件和云管理平台提供商——Platform公司已经将其企业级的工作负载管理功能引入到“大数据”领域。Platform公司在工作负载管理和分布式计算环境领域的专长,如同专为MapReduce编程模式和扩展支持大型数据而量身定制。
Platform公司最新交付的业界首款针对MapReduce应用程序的企业级分布式运行引擎——Platform MapReduce,是基于该公司近二十年来在分布式架构管理领域积累的丰富经验以及Platform Symphony核心技术而构建的,能够帮助组织机构克服将应用程序转移至生产环境的一切障碍,非常适用于跨分布式文件系统的企业级运行服务。
与市场上开源和商用MapReduce分布式工作负载引擎不同,Platform MapReduce提供了企业级的MapReduce应用程序分布式运行引擎,可以实现对跨整个分布式文件系统的集群中的MapReduce应用程序进行调度和管理。它提供了企业级的可管理性和可伸缩性、高资源利用率和可用性、操作便利性、多应用支持以及一个开放分布式系统架构,其中还包括了对于Hadoop分布式文件系统(HDFS)和Appistry Cloud IQ的支持,这将确保企业更加关注将MapReduce应用程序转移至生产环境中。Platform MapReduce提供的关键价值包括:
• 企业级可管理性和伸缩性——包括策略驱动的工作负载调度、调整、监测和自动管理功能;扩展多达20000台服务器、40000个处理器,支持10000个并发作业和30000个并发任务,这超过了其他所有MapReduce分布式运行引擎。
• 高资源利用率和共享功能——包括策略驱动的工作负载调度,使组织机构能够少付出、多受益。它还提供了多达10000个优先级别以确保高资源利用,使更多应用程序能够访问共享数据。
• 高可靠性——保证分布式运行引擎内部的正常运行时间。通过为Map任务、Reduce任务和节点名称(Name node)提供自动的故障转移功能,有效避免了单点故障的出现,而这些功能是其他替代解决方案无法具备的。
• 易管理性——支持不同版本的应用在同一个集群运行,IT部门无需针对各种版本重新配置或升级资源。
• 多应用支持——在一个共享集群上运行多个MapReduce应用,支持不同版本的应用在同一个集群运行。
• 开放分布式文件系统架构——支持包括Hadoop分布式文件系统(HDFS)和Appistry Cloud IQ等多个文件系统,稍后还将支持更多的文件系统和平台。
目前,Platform公司提供的MapReduce企业级解决方案目前已经在多个关键的市场广泛采用,用户广泛涉及金融服务、电信、政府机构、生命科学和零售等领域。Platform MapReduce已经成为企业面对“大数据”挑战最值得信赖的基石。