【IT168 资讯】微软近日宣布正在开发适用于Windows Server与Windows Azure平台的开源Hadoop框架。而一向对开源趋势不屑一顾的微软为何大张旗鼓,加入开源阵营,声称支持Hadoop呢?那么Hadoop有什么特别的优点呢?本文将为您揭晓答案。
Hadoop体系架构
Hadoop是一个分布式系统基础架构,由Apache基金会开发。Hadoop的主要目标是对分布式环境下的“大数据”以一种可靠、高效、可伸缩的方式处理。设想一个场景,假如您需要grep一个100TB的大数据文件,按照传统的方式,会花费很长时间,而这正是Hadoop所需要考虑的效率问题。
Hadoop主要由三部分组成:HDFS(Hadoop Distributed File System),MapReduce与Hbase。
HDFS是Hadoop分布式文件系统,它的主要设计目标是对成百上千的服务器集群导致的硬件错误检测和快速、自动的恢复能力,大数据文件的存储,数据的高吞吐量等。
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce的设计目标是方便编程人员在不熟悉分布式并行编程的情况下,将自己的程序运行在分布式系统上。
HBase是一个分布式的、面向列的开源数据库,由Apache基金会开发。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。它基于列的而不是基于行的模式。
总之,Hadoop作为一种分布式基础架构,可以使用户在不了解分布式底层细节的情况下,开发分布式程序。值得一提的是,Hadoop与Google有着千丝万缕的联系。Hadoop主要是由HDFS、MapReduce和Hbase组成。而HDFS是Google File System(GFS)的开源实现,MapReduce是Google MapReduce的开源实现,HBase是Google BigTable的开源实现。
微软支持Hadoop只为“庞大数据问题的通用解决方案”
而一向对开源趋势不屑一顾的微软为何大张旗鼓,扬言声称支持Hadoop呢?大家知道,开源领域的核心角色是“Linux”,而Linux对于微软赖以生存的操作系统业务无疑是一种巨大的威胁。
不过,正所谓没有永远的朋友,只有永远的利益。考虑到Hadoop在应对大规模非结构型数据中所起到的重要作用,微软也不得不放下架子,宣布对Hadoop提供支持。而实际上,微软加入开源队伍也不是头一遭了。事实上,微软多年来一直积极关注开源项目。例如,对jQuery的支持,是微软正式将开源项目纳入自身主流业务的最显著征兆。
另一方面,开源项目曾经一度全方位落后于专有型软件,无论是质量、用户界面还是文件编制方面,而那个时代已经一去不复返了。Accenture咨询公司的研究调查表明,技术行业中最具创新性的工作往往出现在开源社区内,而非传统意义上的专有软件开发团队。难怪思科的James Urquhart推断:“Hadoop可以说是不涉及任何现有专利的开源项目在企业软件方面所取得的首个里程碑式成功。”
微软加入Hadoop后从技术角度的解读
总之,Hadoop不象Linux那样,永远没有与微软结缘的可能。Hadoop在业界有“庞大数据问题的通用解决方案”的头衔。它可以作为微软SQL Server及Azure系列产品的一大重要补充方案而存在。而微软最看重的也是这一点,这也是微软选择联姻Hadoop的主要缘故。