1. 实时计算的概念

互联网领域的实时计算一般都是针对海量数据进行的,除了像非实时计算的需求(如计算结果准确)以外,实时计算最重要的一个需求是能够实时响应计算结果,一般要求为秒级。个人理解,互联网行业的实时计算可以分为以下两种应用场景:

1)  数据源是实时的不间断的,要求对用户的响应时间也是实时的。

主要用于互联网流式数据处理。所谓流式数据是指将数据看作是数据流的形式来处理。数据流则是在时间分布和数量上无限的一系列数据记录的集合体;数据记录是数据流的最小组成单元。举个例子,对于大型网站,活跃的流式数据非常常见,这些数据包括网站的访问PV/UV、用户访问了什么内容,搜索了什么内容等。实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况,这对于大型网站来说具有重要的实际意义。

2)  数据量大且无法或没必要预算,但要求对用户的响应时间是实时的。

主要用于特定场合下的数据分析处理。当数据量很大,同时发现无法穷举所有可能条件的查询组合或者大量穷举出来的条件组合无用的时候,实时计算就可以发挥作用,将计算过程推迟到查询阶段进行,但需要为用户提供实时响应[参考链接]。

2. 实时计算相关技术

互联网上海量数据(一般为日志流)的实时计算过程可以被划分为以下三个阶段:数据的产生与收集阶段、传输与分析处理阶段、存储对对外提供服务阶段。下面分别进行简单的介绍:

2.1 数据实时采集

需求:功能上保证可以完整的收集到所有日志数据,为实时应用提供实时数据;响应时间上要保证实时性、低延迟在1秒左右;配置简单,部署容易;系统稳定可靠等。

目前,互联网企业的海量数据采集工具,有Facebook开源的Scribe、LinkedIn开源的Kafka、Cloudera开源的Flume,淘宝开源的TimeTunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求。

2.2 数据实时计算

传统的数据操作,首先将数据采集并存储在DBMS中,然后通过query和DBMS进行交互,得到用户想要的答案。整个过程中,用户是主动的,而DBMS系统是被动的。

但是,对于现在大量存在的实时数据,比如股票交易的数据,这类数据实时性强,数据量大,没有止境,传统的架构并不合适。流计算就是专门针对这种数据类型准备的。在流数据不断变化的运动过程中实时地进行分析,捕捉到可能对用户有用的信息,并把结果发送出去。整个过程中,数据分析处理系统是主动的,而用户却是处于被动接收的状态。

需求:适应流式数据、不间断查询;系统稳定可靠、可扩展性好、可维护性好等。

实时流计算框架:Yahoo开源的S4、Twitter开源的Storm,还有Esper,Streambase,HStreaming等。

有关计算的一些注意点:分布式计算,并行计算(节点间的并行、节点内的并行),热点数据的缓存策略,服务端计算。

2.3 实时查询服务

全内存:直接提供数据读取服务,定期dump到磁盘或数据库进行持久化。

半内存:使用Redis、Memcache、MongoDB、BerkeleyDB等内存数据库提供数据实时查询服务,由这些系统进行持久化操作。

全磁盘:使用HBase等以分布式文件系统(HDFS)为基础的NoSQL数据库,对于key-value引擎,关键是设计好key的分布。

3. 应用举例

对于电子商务网站上的店铺:

1)实时展示一个店铺的到访顾客流水信息,包括访问时间、访客姓名、访客地理位置、访客IP、访客正在访问的页面等信息;

2)显示某个到访顾客的所有历史来访记录,同时实时跟踪显示某个访客在一个店铺正在访问的页面等信息;

3)支持根据访客地理位置、访问页面、访问时间等多种维度下的实时查询与分析。

更详细的内容,以后再进一步展开介绍。

4. 总结的话

1)并不是任何应用都做到实时计算才是最好的。

2)使用哪些技术和框架来搭建实时计算系统,需要根据实际业务需求进行选择。

3)对于分布式系统来说,系统的可配置性、可维护性、可扩展性十分重要,系统调优永无止境。

5. 参考链接

1)Scribe:https://github.com/facebook/scribe

2)Kafka:http://sna-projects.com/kafka/

3)Flume:https://github.com/cloudera/flume/

4)Chukwa:http://incubator.apache.org/chukwa/

5)TimeTunnel:http://code.taobao.org/p/TimeTunnel/

6)S4:http://s4.io

7)StreamBase:http://www.streambase.com

8)HStreaming:http://www.hstreaming.com/

9)Esper:http://esper.codehaus.org/

10)Storm:http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html

转载于:https://www.cnblogs.com/panfeng412/archive/2011/10/28/realtime-computing-of-big-data.html

对互联网海量数据实时计算的理解相关推荐

  1. 5G+工业互联网丨DolphinDB携手诺基亚贝尔打造高精度实时计算平台

    近日,由智臾科技(DolphinDB)承担.诺基亚贝尔参与,双方共同申报的「基于5G Pre-TSN 网络的高精度时间同步实时计算平台」项目,成功入围浙江省"尖兵"."领 ...

  2. 第十八章_后端架构选型、离线及实时计算

    文章目录 第十八章_后端架构选型.离线及实时计算 18.1 为什么需要分布式计算? 18.2 目前有哪些深度学习分布式计算框架? 18.2.1 PaddlePaddle 18.2.2 Deeplear ...

  3. vivo 实时计算平台建设实践

    作者:vivo 互联网实时计算团队- Chen Tao 本文根据"2022 vivo开发者大会"现场演讲内容整理而成. vivo 实时计算平台是 vivo 实时团队基于 Apach ...

  4. 流式计算strom,Strom解决的问题,实现实时计算系统要解决那些问题,离线计算是什么,流式计算什么,离线和实时计算区别,strom应用场景,Strorm架构图和编程模型(来自学习资料)

    1.背景-流式计算与storm 2011年在海量数据处理领域,Hadoop是人们津津乐道的技术,Hadoop不仅可以用来存储海量数据,还以用来计算海量数据.因为其高吞吐.高可靠等特点,很多互联网公司都 ...

  5. 一文揭秘阿里实时计算Blink核心技术:如何做到唯快不破?

    阿里妹导读:本文主要讲解阿里巴巴实时大数据和相关的机器学习技术,以及这些技术如何实现大数据升级,最终取得卓越的双11战果. 分享嘉宾 大沙,阿里巴巴高级技术专家,负责实时计算Flink SQL,之前在 ...

  6. 【云周刊】第205期:阿里云重磅开源实时计算平台Blink,挑战计算领域的“珠峰”...

    本期头条 阿里云重磅开源实时计算平台Blink,挑战计算领域的"珠峰" 信息爆炸的时代,智能推荐已经被应用到各类互联网产品中,但为千万级甚至亿级规模的用户实时做精准的推荐难度极高. ...

  7. 实时化或成必然趋势?新一代 Serverless 实时计算引擎

    作者:高旸(吾与),阿里巴巴高级产品专家 本文由阿里巴巴高级产品专家高旸(吾与)分享,主要介绍新一代Serverless实时计算引擎的产品特性及核心功能. 一.实时计算 Flink 版 – 产品定位与 ...

  8. 上云节省 35%计算资源,420 个运维人天:运满满实时计算实践和思考

    摘要:本文整理自满帮实时数据团队 TL 欧锐,在 FFA 2022 行业案例专场的分享.本篇内容主要分为四个部分: 满帮业务及平台架构介绍 实时数据 实时产品 未来计划 Tips:点击「阅读原文」查看 ...

  9. 大数据实时处理:百分点实时计算架构和算法

    当今时代,数据不再昂贵,但从海量数据中获取价值变得昂贵,而要及时获取价值则更加昂贵,这正是大数据实时计算越来越流行的原因.以百 分点公司为例,在高峰期每秒钟会有近万HTTP请求发送到百分点服务器上,这 ...

最新文章

  1. 用STM32F103C8T6的做IAP时,在跳转时一直进入HardFault_Handler 解决方法
  2. 设计模式:接口隔离原则
  3. cg word List 1
  4. anguarjs 上传图片预览_JS控制上传图片个数,预览上传图片
  5. 解决xlwt保存的xlsx文件无法打开的问题
  6. java-OOP-抽象类和接口
  7. 中国自由软件推广先锋的自述,心潮澎湃的一往无前,一定要看!作者:洪峰
  8. 农村三资管理平台app_鑫农三资app下载-鑫农三资app下载安卓版 v1.0.2_手机乐园
  9. springboot 整合 j2cache
  10. Linux——shell脚本的基础篇(变量定义、变量种类、变量操作)
  11. 用降水、比湿和温度计算相对湿度(nc版、python)
  12. EasyBCD安装双硬盘的windows+Ubuntu16.04双系统,那些年我们一起踩过的那些坑
  13. UIScrollView与地图页面嵌套效果的实现。
  14. http keep-live
  15. 11 Laws of The System Thinking in Software Develo(软件开发中的11个系统思维定律)
  16. 计算机光驱硬盘分区,深入隐藏光驱(磁盘分区)
  17. 机器怎样可以学得更好?
  18. 【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的频率响应图
  19. TVM学习(一)安装TVM Ubuntu16.04安装TVM0.8+clang-llvm12.0
  20. 基于DirectShow和FFmpeg的USB摄像头监控软件-转

热门文章

  1. tomcat处理图片或者文件不在项目里
  2. Xcode插件管理工具Alcatraz
  3. Windows 8连接*** 691错误解决办法
  4. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  5. HTMLElement对象
  6. Mybatis高级应用 多表关联查询
  7. Bootstrap初步
  8. raspberry pi_庆祝Raspberry Pi的14天
  9. emacs扩展功能_3个用于组织的Emacs扩展
  10. JS_异步任务之流程控制