大数据技术的发展趋势

大数据技术的发展趋势英国牛津大学教授维克托·迈尔-舍恩伯格在其所撰写的《大数据时代》中表述,大数据时代是“已经发生的未来”,而在这个已经发生的未来里,没有旁观者。作为时代发生的必然产物,大数据正加速渗透至我们的日常生活,正完成对各传统领域的颠覆。本文从大数据时代的特点出发,为读者介绍目前的大数据技术的发展趋势以及大数据的生态体系。大数据时代的特点和市场规模大数据时代两个特点。第一,大数据技术以开源为主,迄今为止,尚未形成绝对技术垄断,即便是IBM、甲骨文等行业巨擘,也同样是集成了开源技术和该公司已有产品而已。开源技

大家好,又见面了,我是你们的朋友全栈君。

英国牛津大学教授维克托·迈尔-舍恩伯格在其所撰写的《大数据时代》中表述,大数据时代是“已经发生的未来”,而在这个已经发生的未来里,没有旁观者。

作为时代发生的必然产物,大数据正加速渗透至我们的日常生活,正完成对各传统领域的颠覆。本文从大数据时代的特点出发,为读者介绍目前的大数据技术的发展趋势以及大数据的生态体系。

大数据时代的特点和市场规模

大数据时代两个特点。第一,大数据技术以开源为主,迄今为止,尚未形成绝对技术垄断,即便是IBM、甲骨文等行业巨擘,也同样是集成了开源技术和该公司已有产品而已。开源技术对任何一个国家都是开放的,中国公司同样可以分享开源的蛋糕,但是需要以更加开放的心态、更加开明的思想正确地对待开源社区。第二,中国的人口和经济规模决定了中国的数据资产规模冠于全球。

我国数据产生能力巨大,大数据资源极为丰富。国际数据公司(IDC)的监测数据显示,2018年全球大数据储量规模达到33ZB,而我国数据储量占到全球数据总量的23%。2019年我国大数据产业规模约为8500亿元,较2018年增长37.8%,预计2020年将达到10100亿元。其中金融行业占比约占20%。

2345截图20200908083720.png

图1:大数据市场预测

笔者认为,大数据正超越信息技术,使人们重新思考公司的战略和组织结构,重新审视产业变迁的驱动因素,重新审视政府治理水平,甚至重新界定国家竞争的主战场。

大数据技术发展趋势

随着大数据技术的不断发展,其各个技术环节呈现出新的发展趋势和挑战。根据Gartner最新的分析可以看出,主要有五大技术趋势。

01、存储计算分离

在传统集群系统中,计算和存储是紧密耦合的,以Hadoop为例,在传统Hadoop的使用中,存储与计算密不可分,而随着业务的发展,常常会为了扩存储而带来额外的计算扩容,这其实就是一种浪费。同理,只为了提升计算能力,也会带来一段时期的存储浪费,将计算和存储分离,可以更好地应对单方面的不足。

笔者认为,存储计算分离是一种分层架构思想,即将存储能力和计算能力分开,各自服务化,通过高速网络连接。以AWS的大护具架构为例,底层统一采用S3存储,存储层上架设各种计算引擎比如HIVE、Spark、Flink等。

02、实时计算及实时数仓

实时计算一般针对海量数据进行的,要求为秒级。实时计算主要分为数据的实时入库、数据的实时计算两部分。

接下来,笔者将介绍实时计算的主要应用场景。

第一个场景是数据源实时、不间断,要求用户的响应时间也是实时的。比如对于大型网站的流式数据:网站的访问PV/UV、用户访问了什么内容、搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况。

另一个场景是数据量大且无法或没必要预算,但要求对用户的响应时间是实时的。比如说:昨天来自每个省份不同性别的访问量分布,昨天来自每个省份不同性别不同年龄不同职业不同名族的访问量分布。

03、人工智能推动数据智能应用

相比于传统机器学习算法,深度学习提出了一种让计算机自动学习产生特征的方法,并将特征学习融入建立模型的过程中,从而减少了人为设计特征引发的不完备。深度学习借助深层次神经网络模型,能够更加智能地提取数据不同层次的特征,对数据进行更加准确、有效的表达。而且训练样本数量越大,深度学习算法相对传统机器学习算法就越有优势。

2345截图20200908083720.png

图3:大数据与人工智能交叉

目前,深度学习已经深入多个领域,并在图像分类、语音识别、问答系统等应用中获得了重大突破,取得了成功的商业应用。随着越来越多的行业和领域逐步完善数据的采集和存储,深度学习的应用会更加广泛。由于大数据应用的复杂性,人工智能和大数据的融合将是一个持续的常态。

04、技术趋势,湖仓一体化

9月18日,2020云栖大会上,阿里云正式推出大数据平台的下一代架构——“湖仓一体”,打通数据仓库和数据湖两套体系,让数据和计算在湖与仓之间自由流动,从而构建一个完整的、有机的、大数据技术生态体系。为企业提供兼具数据湖的灵活性和数据仓库的成长性的新一代大数据平台,降低企业构建大数据平台的整体成本。

2345截图20200908083720.png

图4:大数据存在的三种形态

在数据湖架构上建立数仓的尝试并不成功,这表明数仓和数据湖有本质的区别,在数据湖体系上很难建成完善的数仓。数据湖与数据仓库两者很难直接合并成一套系统,基于融合两者的思路进行探索,阿里云提出下一代的大数据技术演进方向:湖仓一体,即打通数据仓库和数据湖两套体系,让数据和计算在湖和仓之间自由流动,从而构建一个完整的有机的大数据技术生态体系。

2345截图20200908083720.png

图5:数据仓库与数据湖的区别

在阿里云的构想中,湖仓议题值得期待。湖和仓的数据/元数据无缝打通,且不需要用户人工干预;湖和仓有统一的开发体验,存储在不同系统的数据,可以通过一个统一的开发/管理平台操作;数据湖与数据仓库的数据,系统负责自动caching/moving,系统可以根据自动的规则决定哪些数据放在数仓,哪些保留在数据湖,进而形成一体化。

05、大数据平台融合云计算

云计算与大数据的发展路线必将交接、碰撞,而这已经成为现实。为什么大家开始对大数据讳莫如深呢?大数据给人留下的印象:花钱多,灵活度低,令人头疼的运营管理等等。好在近年来,Modern Data Warehouse这个概念火了起来,利用云计算的壳解释了现代大数据存在的合理性。而随着企业日新月异的数据需求和技术的进步,更新的架构层出不穷。

以DaaS为例,其既是Function-as-a-Service(FaaS)的一种,也是SaaS的自然延伸,最终目的都是尽可能远离IaaS以及服务本身的运维,把资源最大限度地解放出来进行业务功能的开发,是目前大数据领域最接近这种serverless概念的产品,也许它会成为云时代最好的大数据平台。

大数据庞大生态体系

整个大数据技术家族十分庞大,从数据生产、数据交换、数据存储、数据工程、数据科学计算、数据应用到数据消费整个工程体系中涉及到30多个技术组件。笔者将会重点介绍其中关键的几个:

Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统。

Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Apache Flink是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架

Yarn(分布式资源管理器),YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。

Yarn是下一代Hadoop计算平台,Yarn是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。

2345截图20200908083720.png

图6:大数据技术生态

另外除了上述强大的开源家族支撑以外,还有众多商业文化的公司和组织也在提供技术、产品和服务,围绕整个大数据的生态体系当中。比如有老牌的Oracle、IBM、HP、Teradata,也有兴欣的Cloudera、星环、阿里、华为、snowflake等。可谓是众星捧月,琳琅满目。

总之,大数据技术的兴起正完成对各传统领域的颠覆。全球范围内,运用大数据推动经济发展、完善社会治理、提升政府服务和监管能力正成为趋势。各国已相继制定实施大数据战略性文件,大力推动大数据发展和应用。从全球大数据发展的趋势来看,大数据产业推动社会生产要素的网络化共享、集约化整合、协作开发和高效利用,改变了传统的生产方式和经济运行机制,可显著提升经济运行水平和效率。

中国是数据生产大国。目前,中国互联网、移动互联网用户规模居全球第一,拥有丰富的数据资源和应用市场优势。笔者认为,如果能在大数据管理和分析技术的研发与应用方面取得突破,可持续推动创新企业和创新应用的高速成长。

本文仅作为趋势参考,不做商用!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145041.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 使用es6模板字符串嵌入变量,并实现循环「建议收藏」

    使用es6模板字符串嵌入变量,并实现循环「建议收藏」模板字符串支持嵌入变量,只需要将变量名写在${}之中。在模板字符串中,遍历数组,生成循环结构。letarr=[‘aaa’,’bbbb’,’c’,’dd’,’f’]lettemp=`<ul>${arr.map(item=>{return`<li>${item}</li>`}).join(”)}</ul>`console.log(temp);/*<ul><li>aa

  • django 模板_django动态模型字段

    django 模板_django动态模型字段变量模板中可以包含变量,Django在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和Python非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。

  • visual C++ 项目和解决方案的区别

    项目:项目是构成某个程序的全部组件的容器,该程序可能是控制台程序、基于窗口的程序或某种别的程序。程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成。某个项目的所有文件都

    2021年12月24日
  • 我要自学编程,Java和C语言相比哪个好?[通俗易懂]

    我要自学编程,Java和C语言相比哪个好?[通俗易懂]JavaJava是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。C语言学习C语言是一种计算机程序设计语言,属高级语言范畴。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,代码清晰精简,十分灵活。语言没有好坏之分,无论学习哪个语言

  • Java SpringBoot下载文件超时

    Java SpringBoot下载文件超时#端口server.port=9098#server端的socket超时间(毫秒),使用值-1表示没有(即无限)超时,默认值为60000(即60秒)#Tomcat附带的标准server.xml将此值设置为20000(即20秒),除非disableUploadTimeout设置为false,否则在读取请求正文(如果有)时也会使用此超时server.connection-timeout=80000server.disableUploadTimeout=false…

  • shell if语句和test命令

    shell if语句和test命令在shell中if条件判断语句和我们的C、C++、Java等语言是不同的,shell的if语句条件必须用[]括起来,另外[]里外都需要用空格与周围隔开(例如[a==b]),否则报错;另外与if配对的有elseif和else,如果我们要写这两个必须后面跟有东西,否则也会报错,在编程中不跟是可以的:if(a==b)printf("a=b");else{//什么都没有}但是s…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号