流式计算pk MapReduce,这唱的是哪一出?

原创
开发 开发工具 大数据
MapReduce计算框架俨然已经成为提升计算性能的利器,通过映射和简化达到并行计算所要求的性能目标。不过目前还有一种新的技术似乎正在挑战MapReduce,那就是流式计算。

【51CTO独家特稿】流式计算?云计算?最近各种计算让技术人员,特别是开发人员很头疼。其实这些名字已经慢慢变成现实,比如MapReduce,就已经成为了大型搜索引擎进行数据挖掘,数据分析的工具。

 

MapReduce结构图

互联网企业每天都在存储海量的非结构化数据和结构化数据,这些数据需要在短时间内被处理,否则就会让用户体验处于崩溃的边缘。好吧,MapReduce就被企业用来分布式处理这些数据,按照调度批量任务来操作静态数据。

流式计算呢?也跟MapReduce处理机制一样,把数据包分割成小块,然后通过并行计算的方式将这些数据快速处理。其实两者的差别在哪儿呢?

公交车PK大火车

MapReduce是严格按照调度命令来执行的,也就是说每一单位时间处理的数据量似乎是可定的。这就像铁路上的调度命令一辆18节的火车拉着旅客经过一个火车站,不管这个火车站上来多少人,火车还必须开走。这样的好处就是一次处理的数据量可以得到保证,但实时性较低,不能随着数据量的高低进行灵活变化。这一点似乎对于有些网站来说有些不可接受,因为这些站点经常会面对突如其来的流量高峰。

流式计算,根据定义的意思是可以理解为公交车。在开始的时候并没有乘客,经过若干站后数据进入到系统中,并被处理。流式计算希望乘客越快到达目的地越好,不用担心调度的相关命令。数据来了就尽快处理,不留下隐患。

这样流式计算就更能适应网站的流量高峰,因为不会根据调度命令死板的安排计算过程,数据被处理的速度很快。用户端的响应很快,让用户几乎没有抱怨的时间。

MapReduce真的要让位?

这么看来,流式计算比MapReduce更加灵活,MapReduce应该被尽快替代。51CTO认为这样的观点有其片面的理解。

诚然,流式计算更灵活,但势必比MapReduce多一些处理成本。MapReduce中的Hadoop已经被优化到***,其效率也不容小觑。在有些企业应用环境下,MapReduce这样更固定一些的处理机制意味着成本的控制度更好。

未来的分布式计算,MapReduce与流式计算代表的是不同需求下的不同方案。让这两者PK,还是要根据不同企业的不同需求。两者没有绝对意义上的优劣,只是在处理数据流程原则上的差异。

所以,要采用MapReduce还是流式计算,还是要看企业的数据来源具备什么样的特征。

【编辑推荐】

  1. Apache .htaccess文件的8个用法
  2. Hadoop 从Yahoo向Google的技术转折
  3. Hadoop集群与Hadoop性能优化
  4. Facebook实时信息系统:HBase每月存储1350亿条信息  
责任编辑:彭凡 来源: 51CTO
相关推荐

2012-07-23 13:32:04

2023-02-07 12:25:25

ChatGPT客服媒体工作者

2023-02-13 11:51:23

ChatGPT聊天服务

2010-05-26 10:32:33

MySQL库

2021-03-04 08:04:44

VR智能手机运营商

2022-03-07 14:30:12

数字化转型企业技术

2016-01-11 11:12:27

阿里腾讯IM聊天

2019-01-23 16:07:54

数据仓库Hadoop

2013-08-22 15:01:40

易信微信移动

2018-07-06 09:06:35

MemcachedRedis缓存

2009-12-18 11:26:08

Intel 32nm

2018-11-06 12:26:14

AI教育人工智能

2012-08-16 17:38:31

Windows 8Metro

2021-01-12 10:00:34

流式输出数据

2011-10-18 16:53:13

Borealis分布式流式

2011-10-18 16:03:57

StreamBase分布式流式

2020-12-24 18:14:18

NovaVlog华为

2009-08-14 09:50:24

2017-03-01 18:17:27

阿里巴巴
点赞
收藏

51CTO技术栈公众号