加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

漫谈阿里大数据

发布时间:2019-01-18 07:30:19 所属栏目:大数据 来源:大数据深度分析
导读:目前人人都在谈大数据,谈DT时代,但是,大数据是什么,每个人都有自己的一个看法,好比盲人摸象,每个都认为自己摸到是真正的大象。我也担心我所看到的,只是大数据的冰山一角,毕竟,将引领整个人类下一次变革的大数据,不是几篇文章就能说清楚的。 一、

数据的应用技术是指对数据进行加工,把数据转化成商业价值的技术,如算法,以及由算法衍生出来的模型,引擎,接口,产品等等。这些数据加工的底层平台,包括平台层的工具,以及平台上运行的算法,也可以沉淀到一个大数据的生态市场中,避免重复的研发,大大的提高大数据的处理效率。

大数据首先需要有数据,数据首先要解决采集与存储的问题,数据采集与存储技术,随着数据量的爆发与大数据业务的飞速发展,也是在不停的进化过程中。

在大数据的早期,或者很多企业的发展初期,是只有关系型数据库用来存储核心业务数据,就算数据仓库,也是集中型OLAP关系型数据库。比如很多企业,包括淘宝早期,就用Oracle作为数据仓库来存储数据,当时建立了亚洲最大的Oracle RAC作为数据仓库,按当时的规模来说,可以处理10T以下的数据规模 。

一旦出现独立的数据仓库,就会涉及到ETL,如数据的抽取,数据清洗,数据校验,数据导入甚至数据安全脱敏。如果数据来源仅仅是业务数据库,ETL还不会很复杂,如果数据的来源是多方的,比如日志数据,APP数据,爬虫数据,购买的数据,整合的数据等等,ETL就会变得很复杂,数据清洗与校验的任务就会变得很重要。

这时的ETL必须配合数据标准来实施,如果没有数据标准的ETL,可能会导致数据仓库中的数据都是不准确的,错误的大数据就会导致上层数据应用,数据产品的结果都是错误的。错误的大数据结论,还不如没有大数据。由此可见,数据标准与ETL中的数据清洗,数据校验是非常的重要。

最后,随着数据的来源变多,数据的使用者变多,整个大数据流转就变成了一个非常复杂的网状拓扑结构,每个人都在导入数据,清洗数据,同时每个人也都在使用数据,但是,谁都不相信对方导入,清洗的数据,就会导致重复数据越来越多,数据任务也越来越多,任务的关系越来越复杂。要解决这样的问题,必须引入数据管理,也就是针对大数据的管理。比如元数据标准,公共数据服务层(可信数据层),数据使用信息披露等等。

随着数据量的继续增长,集中式的关系型OLAP数仓已经不能解决企业的问题,这个时候出现了基于MPP的专业级的数据仓库处理软件 ,如GreenPlum。greenplum采用了MPP方式处理数据,可以处理的数据更多,更快,但是本质上还是数据库的技术。Greenplum支持100台机器规模左右,可以处理PB级别数据量。Greenplum产品是基于流行的PostgreSQL之上开发,几乎所有的PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上,在Internet上有着丰富的PostgreSQL资源供用户参考。

随着数据量的继续增加,比如阿里每天需要处理100PB以上数据,每天有100万以上的大数据任务。以上的解决方案发现都没有办法来解决了,这个时候,就出现了一些更大的基于M/R分布式的解决方案,如大数据技术生态体系中的Hadoop,Spark和Storm。他们是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的实时的大数据处理。以及阿里云推出的数加,它也包括了大数据计算服务MaxCompute(前ODPS),关系型数据库ADS(类似Impala),以及基于Java的Storm系统JStorm(前Galaxy)。

我们看看大数据技术生态中的不同解决方案,也对比看看阿里云数加的解决方案,最后我也会单独介绍数加。

1、大数据生态技术体系

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Hadoop作为一个基础框架,上面也可以承载很多其它东西,比如Hive,不想用程序语言开发MapReduce的人,熟悉SQL的人可以使用Hive开离线的进行数据处理与分析工作。比如HBase,作为面向列的数据库运行在HDFS之上,HDFS缺乏随即读写操作,HBase正是为此而出现,HBase是一个分布式的、面向列的开源数据库。

Spark也是Apache基金会的开源项目,它由加州大学伯克利分校的实验室开发,是另外一种重要的分布式计算系统。Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可以提供超过Hadoop100倍的运算速度。Spark可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是现在的Spark也在往生态走,希望能够上下游通吃,一套技术栈解决大家多种需求。比如Spark Shark,是为了VS hadoop Hive,Spark Streaming是为了VS Storm。

Storm是Twitter主推的分布式计算系统,它由BackType团队开发,是Apache基金会的孵化项目。它在Hadoop的基础上提供了实时运算的特性,可以实时的处理大数据流。不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过网络实时的传回结果。Storm擅长处理实时流式。比如日志,比如网站购物的点击流,是源源不断、按顺序的、没有终结的,所以通过Kafka等消息队列来了数据后,Storm就一边开始工作。Storm自己不收集数据也不存储数据,随来随处理随输出结果。

其上的模块只是大规模分布式计算底层的通用框架,通常也用计算引擎来描述他们。

除了计算引擎,想要做数据的加工应用,我们还需要一些平台工具,如开发IDE,作业调度系统,数据同步工具,BI模块,数据管理,监控报警等等,他们与计算引擎一起,构成大数据的基础平台。

在这个平台上,我们就可以基于数据做大数据的加工应用,开发数据应用产品了。

比如一个餐厅,为了做中餐,西餐,日料,西班牙菜,它必须食材(数据),配合不同的厨具(大数据底层计算引擎),加上不同的佐料(加工工具)才能做出做出不同类型的菜系;但是为了接待大批量的客人,他必须配备更大的厨房空间,更强的厨具,更多的厨师(分布式);做的菜到底好吃不好吃,这又得看厨师的水平(大数据加工,应用能力)。

2、阿里大数据体系

我们先看一下阿里的计算引擎三件套。

阿里云最早先使用Hadoop解决方案,并且成功的把Hadoop单集群规模扩展到5000台规模。2010年起,阿里云开始独立研发了类似Hadoop的分布式计算平台Maxcompute平台(前ODPS),目前单集群规模过万台,并支持多集群联合计算,可以在6个小时内处理完100PB的数据量,相当于一亿部高清电影。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读