1.2 大数据的关键之技
1.2.1 从“三驾马车”到Hadoop
2003年、2004年和2006年,谷歌发布《Google文件系统》(Google File System)、《MapReduce:超大集群的简单数据处理》( MapReduce:Simplified Data Processing on Large Clusters)和《Bigtable:结构化数据的分布式存储系统》(Bigtable:A Distributed Storage System for Structured Data)三篇论文,分别介绍了在其分布式文件存储系统、大规模数据分析计算和非关系型数据库采用的技术,被称为谷歌的“三驾马车”。三篇论文的发布使大家认识到谷歌搜索引擎背后强大的技术支撑,虽然没有公布相关产品的源代码,但是激起了业界对大数据处理相关技术的热情,推动了一场深刻的技术革命,开启了大数据时代技术、商业生态的序幕。
受Google“三驾马车”的启发,Apache Nutch项目创始人Doug Cutting带领技术团队在其分布式系统基础架构Hadoop子项目中先后实现GFS、MapReduce、Bigtable的开源版本HDFS、MapReduce和HBase。由于HDFS和 MapReduce取得了业界的追捧和广泛应用,2006年它们从 Nutch中分离出来,与其他相关构件组成一套完整而独立的开源分布式计算平台,命名为Hadoop。2008年Hadoop成为Apache的顶级项目。目前,Hadoop已成为大数据的代名词和事实上的行业标准,Hadoop生态体系如图1-1所示。
图1-1 Hadoop生态体系(图片来自网络)
随着研究和应用的深入,大数据技术不断演进发展。谷歌 2014 年弃用了其闭源的MapReduce,启用并发布了开源平台BEAM,推出Caffeine、Pregel、Dremel等大数据处理技术产品,巩固其在理论和工程上的领导地位;Hadoop围绕HDFS、MapReduce、YARN三大核心组件,在升级本身组件功能的同时,陆续开发出Pig、Hive、Zookeeper、Tez、Ozone等组件,不断丰富和发展Hadoop生态系统;Spark、Storm、Flink等框架、系统不断涌现,在数据收集、分析、挖掘等领域得到了广泛应用,并通过与Hadoop兼容实现各产品间联动;数据安全、数据可视化等传统、通用技术也通过不断深度优化以适应复杂的大数据应用需求。