大数据的前世今生
1 | 大多数公司还专注于提升单机性能,寻找更贵更好的服务器,google的思路是部署一个大规模服务器集群,通过分布式的方式将海量数据存储在这个集群上,然后利用集群上所有服务器进行数据计算。这样不需要昂贵的服务器,却可以更好实现目的 |
1 | lucene:全文检索引擎工具包 |
1 | 2004前后google三篇论文(三驾马车: 分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable)——————>doug cutting实现了类似GFS和mapreduce的功能————————>2006年 doug cutting将nutch的大数据相关功能分离,形成独立的项目专门维护大数据技术也就是hadoop,主要包括hadoop分布式文件系统hdfs,大数据计算引擎mapreduce。------>yahoo,baidu,alibaba使用Hadoop进行大数据存储和计算----->2008年Hadoop正式成为Apache的顶级项目。同年专门运营Hadoop的商业公司Cloudera成立。 |
1 | Hadoop纯用java编写的软件 |
1 | yahoo开发pig脚本语言(由于使用mapreduce进行大数据编程太麻烦),类似于sql语法,开发者可以使用pig脚本描述要对大数据集上进行的操作,pig进行编译后会生成mapreduce程序,然后在hadoop上运行。缺点:虽然比直接mapredue编程容易,但需学习新的脚本语法。----->facebook发布Hive,支持sql语法来进行大数据计算,hive会将sql语句转换成mapreduce程序。这样熟悉数据库的数据分析师和工程师便可以无门槛的进行大数据分析和处理了。极大的降低了hadoop的使用难度。---->随后众多hadoop的周边产品开始出现,大数据生态体系开始形成(包括sqoop:专门将关系数据库中的数据导入导出到hadoop平台; Flume:聚合和传输; Oozie:MapReduce工作流调度引擎) |
1 | 在hadoop早期,mapreduce既是执行引擎,又是资源调度框架,服务器集群的资源调度由MapReduce自己完成。但这样不利于资源复用,也使得mapreduce非常的臃肿。yarn应运而生,将mapreduce资源调度和执行引擎分离开来。2012年,yarn成为一个独立项目开始运营,随后被各大大数据产品支持,成为大数据平台上最主流的资源调度系统。 |
1 | 由于MapReduce进行机器学习计算时性能非常差因为机器学习算法通常需要很多次迭代计算,而mapreduce每执行一次map和reduce计算都需要重新启动一次作业,带来了大量的无谓消耗。还有一点就是mapreduce使用磁盘作为存储介质,而2012年,内存已经突破容量和成本限制,成为数据运行过程中的主要存储介质。spark一经推出,立即受到业界的追捧,并逐步替代MapReduce在企业应用中的地位。 |
1 | 批处理计算:像mapreduce,spark这类计算框架处理的业务场景,因为它们通常针对以'天'为单位产生的数据进行一次计算,得到所需的结果,这中间计算需要花费的时间大概是几十分钟或更长的时间。 |
1 | 在典型的大数据业务场景下,数据业务最通常的做法是,采用批处理的技术处理历史全量数据,采用流式计算处理实时新增数据。flink计算引擎,同时支持流式计算和批处理计算。 |
1 | NoSql系统处理的也是大规模海量数据的存储和访问,所以也被归为大数据技术。曾在2011年左右非常火爆,涌现了Hbase,Cassandra等许多优秀的产品。其中Hbase是从Hadoop中分离出来的,基于HDFS的NoSql系统。 |
1 | 大数据处理的主要应用场景包括数据分析,数据挖掘,机器学习。 |
在历史前进逻辑中前进,在时代发展的潮流中发展。
在风口中飞翔。
