有状态计算和无状态计算在数据的流处理中的区别是什么

区别是:无状态的计算观察每个独立事件,并根据最后一个事件输出结果。有状态的计算则会基于多个事件输出结果。无状态流处理每次只转换一条输入记录,并且仅根据最新的输入记录输出结果。有状态流处理维护所有已处理记录的状态值。

流式计算分为无状态和有状态两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。有状态的计算则会基于多个事件输出结果。

输入记录由黑条表示。无状态流处理每次只转换一条输入记录,并且仅根据最新的输入记录输出结果(白条)。有状态流处理维护所有已处理记录的状态值,并根据每条新输入的记录更新状态,因此输出记录(灰条)反映的是综合考虑多个事件之后的结果。

在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要的时候通过数据库对数据做查询,得到答案或进行相关的处理。这样看起来虽然非常合理,但是结果却非常的紧凑,尤其是在一些实时搜索应用环境中的某些具体问题,类似于MapReduce方式的离线处理并不能很好地解决问题。这就引出了一种新的数据计算结构—流计算方式。它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。

延伸阅读:

什么是无状态计算?

无状态计算(stateless computing),一般指在计算主体上不存任何状态信息或特定配置,各个主体都是无差别部署,这样的好处就是可快速复制和销毁计算资源,通常可通过服务化等手段抽取状态。即计算节点只提供 CPU、内存等计算资源,硬件配置信息都存储在配置文件中,数据集中存储在磁盘阵列上,实现了网络、存储与计算节点的无关性。

无状态计算的设计理念在于对计算节点的物理属性进行抽象,通过定义和实施配置文件,替代原有的节点只需将预先定义的策略应用到新计算节点,就可以获得与原有计算节点完全相同的物理属性,满足了数据中心对可用性的需求。服务器虚拟化技术利用虚拟化层将虚拟机抽象为文件,将所有的配置信息都保存在文件中,实现了硬件的无关性。无状态计算技术消除了对虚拟化层hypervisor 的依赖,利用硬件设备自身提供的虚拟化功能将配置信息保存在管理设备中,在计算节点之间实现了无缝迁移。不适合部署在虚拟化平台上的业务应用比如数据库可以借助基于硬件的无状态计算技术实现低成本的高可用性解决方案。

文章标题:有状态计算和无状态计算在数据的流处理中的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39008

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月21日 上午2:00
下一篇 2023年2月21日 上午2:02

相关推荐

  • c语言字符型变量

    c语言字符型变量使用方法:1、用字符变量类型说明符“char”定义一个字符型变量;2、使用赋值语句对字符型变量A进行赋值;3、输出字符型变量A。用字符变量类型说明符“char”定义一个字符型变量是指使用“char A”命令定义一个字符型变量A。 一、c语言字符型变量 1、用字符变量类型说明符“cha…

    2023年3月19日
    31700
  • AI 驱动的超分辨技术落地实践

    近年来,随着深度学习技术的快速发展,基于AI的超分辨技术在图像恢复和图像增强领域呈现出广阔的应用前景,受到了学术界和工业界的关注和重视。但是,在RTC视频领域中,很多AI算法并不能满足实际场景下的应用需求。本文将着眼于AI技术从研究到部署的落地问题,分享超分辨技术在RTC领域落地应用所面临的机遇与挑…

    2022年3月17日
    34300
  • WiredTiger和RocksDB内部实现和性能有什么区别

    区别在于:一、数据结构;二、存储引擎;三、压缩算法;四、读取性能;五、写入性能;六、磁盘空间利用率。WiredTiger使用B树作为其主要数据结构,B树是一种平衡树。RocksDB使用LSM树作为其主要数据结构。LSM树是一种基于磁盘的数据结构。 一、数据结构 WiredTiger使用B树作为其主要…

    2023年5月30日
    700
  • mysql常用命令

    MySQL是一款流行的开源关系型数据库管理系统,它支持标准的SQL(结构化查询语言)。MySQL的常用命令可以分为:数据定义语言(DDL),包括创建、修改、删除数据库和表等;数据操作语言(DML),包括插入、更新、删除数据等;数据查询语言(DQL),包括查询数据等。这些命令可以帮助用户有效管理和操作…

    2023年5月15日
    1900
  • 文档在哪做

    文档可以在以下软件上做:一、 Microsoft Word;二、Google Docs;三、Adobe Acrobat;四、MindMap软件;五、Axure RP。Microsoft Word是一款常见的文档编辑器,其中包含了丰富的文档编辑和排版工具,因此是一种常见的文档编辑工具。 一、 Micr…

    2023年4月27日
    500
  • 什么软件做project好用

    以下软件做project好用:一、PingCode;二、Worktile;三、Asana;四、Zoho Projects;五、Smartsheet。PingCode 是专门为软件研发团队打造的任务管理软件,你可以在 PingCode 管理软件研发过程中所有类型的任务,比如需求、开发、测试、缺陷、版本…

    2023年3月19日
    5500
  • 任务进度表怎么做

    可以用以下软件做任务进度表:一、Microsoft Project;二、Smartsheet;三、Trello;四、Asana;五、Notion。Microsoft Project 是一款功能强大的进度表软件,它提供了甘特图、网络图、资源管理、成本分析等多种功能。用户可以使用 Microsoft P…

    2023年4月16日
    2300
  • 如何制定项目计划

    制定项目计划的步骤:1、收集关键利益相关者的要求;2、定义项目范围;3、创建工作分解结构;4、定义项目活动;5、对项目活动进行排序;6、估计活动持续时间、成本和资源等。收集关键利益相关者的要求时,强大的沟通技巧至关重要。 1、收集关键利益相关者的要求 创建项目章程并确定关键项目利益干系人后,收集需求…

    2023年2月9日
    6500
  • REST API和一般的API有什么区别

    区别:REST API是一组关于如何构建Web应用程序API的架构规则、标准或指导,REST API遵循API原则的架构风格。REST API是API的子集;所有的REST API都是API。在REST API架构中资源标识符不会发生改变。一般的API架构中,资源标识符会发生改变。 REST API…

    2023年2月14日
    4600
  • Angular CDK Overlay 弹出覆盖物

    为什么使用Overlay? Overlay中文翻译过来意思是覆盖物,它是Material Design components for Angular中针对弹出动态内容这一场景的封装,功能强大、使用方便,尤其在开发自己的组件库时,可以让你少写许多代码,可以说只要是弹出内容的场景基本都可以使用Overl…

    2022年3月20日
    36500

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部