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的主要缘故。