三分钟了解大数据技术发展史

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 梳理下大数据技术发展

我们常说的大数据技术,大致主要起源于Google在2004年前后发表的三篇论文,其实数据处理早就存在,每个公司或者个人都有自己的大数据处理系统,并没有形成编程框架和理念,而这三篇论文也就是我们熟知的大数据三驾马车,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库BigTable,这三篇论文影响了当今大数据生态,可以称得上大数据的基石,Doug cutting大佬在基于谷歌的三篇论文开发出了hadoop hdfs分布式文件存储、MapReduce计算框架,实际上从hadoop开源代码中窥见大数据并没有多么高深的技术难点,大部分实现都是基础的java编程,但是对业界的影响是非常深远的。那个时候大多数公司还是聚焦在单机上,如何尽可能提升单机的性能,需求更贵的服务器,谷歌通过把许多廉价的服务器通过分布式技术组成一个大的存储、计算集群给业界应对存储计算问题提供了新的发展思路。

   2006年hadoop发布后,Yahoo首先运用起来,随后越来越多大公司开始采用hadoop进行大数据存储和计算,2008年hadoop  正式成为Apache顶级项目,许多大数据商业公司也开始出现,与此同时MapReduce编程模型编写较为复杂,Yahoo内部开发出了Pig一门脚本语言,提供类SQL的语法,开发者可以用pig脚本描述要对数据集进行的操作,Pig经过编译后会生成MapReduce程序,然后运行到Hadoop集群中。

Pig有个问题虽然比直接编写MR成需要容器但是仍然需要去学习新的脚本语法,于是Facebook又发明了HIve 支持使用SQL语言进行大数据计算,然后转化成MR计算程序运行,极大的简化了MapReduce分布式程序的门槛,让数据开发人员、数据分析师也能够快速入手,因此hive迅速得到了开发者和企业的追捧。随后众多Hadoop周边产品开始出现,其中包括:
专门将关系数据库中的数据导入导出到hadoop平台的Sqoop
数据收集诸如大规模日志进行分布式收集、聚合和传输的Flume
MapReduce工作流调度引擎Oozie、Airflow、Azkaban
在Hadoop早起MapReduce即是一个执行引擎又是一个资源调度框架,其中包含许多组件使得MapReduce非常臃肿也不利于资源复用,于是出现了Yarn可以将MapReduce的资源调度与执行引擎分离开来,随后被各类大数据产品支持,成为大数据平台上最主流的资源调度系统。
经历了多年的发展从2016年前后MapReduce慢慢的被其他产品取代了,为什么会被取代了?
主要有以下原因,高昂的维护成本,使用MapReduce需要严格的遵循Map和Reduce编程规范,当要处理更为复杂的业务流程,往往需要协调多个Map和多个Reduce任务。然而每一步的MapReduce都可能出错,另外在机器学习业务场景非常复杂的,往往需要经历数据ETL处理完成数据导入、特征处理、数据压缩、数据备份、数据验证、数据训练等等,一个完整的业务流程需要多个任务,每一个Mr任务都可能出错,都需要重试和异常处理机制,所以维护和开发这些系统比较难受。另外主要就是性能问题,机器学习迭代计算一个MapReduce程序就是进城运行,运行就需要启动一次,带来了大量时间性能损失,另外就是MR主要采取磁盘作为存储介质,中间数据都经过磁盘进行数据的读取和结果的写入。另外就是MapReduce程序配置麻烦,比如缓冲大小、分片多少、都需要经过时间去调试。
在2012年左右,UC伯克利AMP实验室开发的Spark逐渐展露头角,spark以Rdd的数据使方式、采用内存计算模型,再加上慢慢的Spark Sql 、Spark MLlib、Spark Graph等生态的完善,逐步取代了MapReduce在企业应用中的地位。

一般来说像MapReduce、Spark这类框架主要处理的业务场景都被称为批处理系统,其中的计算时间较长及面对的数据也是历史数据,而不是在线实时数据,所以这类计算称之为大数据离线计算,而在大数据领域还有一类需要对实时产生的数据进行即使计算,相应的有Storm、Flink、SparkStreaming、等流计算框架来处理实时在线产生的数据去满足实时大数据的应用场景,这类计算也称为大数据实时计算。当然大数据业务场景需要同时采用批处理技术对历史数据进行计算,同时采用实时计算处理实时新增的数据,而像Flink这样的计算引擎,就可以同时支持流批一体计算了。
另外除了大数据计算外,还会有解决大规模数据存储与访问的NoSql系统也被称之为大数据技术,比如Hbase、Cassandra、ClickHouse等。

大数据处理的主要应用场景包括数据分析、数据挖掘、数据可视化与机器学习。数据分析主要使用 Hive、Spark SQL 等 SQL 引擎完成;数据挖掘与机器学习则有专门的机器学习框架 Spark 、TensorFlow、Mahout 、PyTorch、Alink等,内置了主要的机器学习和数据挖掘算法。 大数据要存入分布式文件系统(HDFS),要有序调度 MapReduce 和 Spark 作业 执行,并能把执行结果写入到各个应用系统的数据库中,需要大数据调度平台,如何去管理整个大数据生态为业务赋能,还需要有一个大数据平台整合所有 这些大数据组件和企业应用系统。
大数据与云原生,谷歌进化的角度依旧没有停止从2014年谷歌又推出k8s,又给业界带来了巨大的震撼,如今有一种趋势,大数据开始结合云原生已经成为一种趋势了,可以关注下这个

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
人工智能 搜索推荐 算法
数据平台演进问题之数据库技术面临挑战如何解决
数据平台演进问题之数据库技术面临挑战如何解决
|
3月前
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
135 2
|
19天前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
21天前
|
存储 人工智能 算法
AI与大数据的结合:案例分析与技术探讨
【8月更文挑战第22天】AI与大数据的结合为各行各业带来了前所未有的机遇和挑战。通过具体案例分析可以看出,AI与大数据在电商、智能驾驶、医疗等领域的应用已经取得了显著成效。未来,随着技术的不断进步和应用场景的不断拓展,AI与大数据的结合将继续推动各行业的创新与变革。
|
1月前
|
消息中间件 监控 大数据
"探索Streaming技术:如何重塑大数据未来,实时处理引领数据价值即时转化新纪元"
【8月更文挑战第10天】信息技术高速发展,数据成为推动社会进步的关键。面对数据爆炸,高效实时处理成挑战。流处理(Streaming)技术应运而生,即时处理数据流,无需积累。应用于实时监控、日志分析等场景。例如,电商平台利用流处理分析用户行为,推送个性化推荐;智能交通系统预测拥堵。结合Apache Kafka和Flink,实现从数据收集到复杂流处理的全过程。流处理技术促进数据即时价值挖掘,与AI、云计算融合,引领大数据未来发展。
65 5
|
11天前
|
大数据 数据处理 分布式计算
JSF 逆袭大数据江湖!看前端框架如何挑战数据处理极限?揭秘这场技术与勇气的较量!
【8月更文挑战第31天】在信息爆炸时代,大数据已成为企业和政府决策的关键。JavaServer Faces(JSF)作为标准的 Java Web 框架,如何与大数据技术结合,高效处理大规模数据集?本文探讨大数据的挑战与机遇,介绍 JSF 与 Hadoop、Apache Spark 等技术的融合,展示其实现高效数据存储和处理的潜力,并提供示例代码,助您构建强大的大数据系统。
21 0
|
2月前
|
机器学习/深度学习 存储 分布式计算
驾驭数据洪流:大数据处理的技术与应用
大数据处理不仅是信息技术领域的一个热门话题,也是推动各行各业创新和发展的重要力量。随着技术的进步和社会需求的变化,大数据处理将继续发挥其核心作用,为企业创造更多的商业价值和社会贡献。未来,大数据处理将更加注重智能化、实时性和安全性,以应对不断增长的数据挑战。
|
2月前
|
传感器 大数据 数据处理
大数据处理中的流计算技术:实现实时数据处理与分析
【7月更文挑战第30天】随着分布式系统、云原生技术、数据安全与隐私保护技术的不断发展,流计算技术将在更多领域得到应用和推广,为大数据处理和分析提供更加高效、智能的解决方案。
|
21天前
|
SQL 存储 分布式计算
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
17 0
|
23天前
|
SQL 分布式计算 大数据
"揭秘MaxCompute大数据秘术:如何用切片技术在数据海洋中精准打捞?"
【8月更文挑战第20天】在大数据领域,MaxCompute(曾名ODPS)作为阿里集团自主研发的服务,提供强大、可靠且易用的大数据处理平台。数据切片是其提升处理效率的关键技术之一,它通过将数据集分割为小块来优化处理流程。使用MaxCompute进行切片可显著提高查询性能、支持并行处理、简化数据管理并增强灵活性。例如,可通过SQL按时间或其他维度对数据进行切片。此外,MaxCompute还支持高级切片技术如分区表和分桶表等,进一步加速数据处理速度。掌握这些技术有助于高效应对大数据挑战。
40 0

热门文章

最新文章