描述批处理数据和流式处理数据之间的差异

数据处理就是通过某个过程将原始数据转换为有意义的信息。 根据数据引入系统的方式,可能需要在每个数据项到达时进行处理,也可能需要先缓冲原始数据,然后按组进行处理。 在数据到达时进行处理被称为流式处理。 对组中的数据进行缓冲,然后处理,称为批处理。

了解批处理

在批处理中,新到达的数据元素将被收集到一个组中。 然后,在将来的某个时间对整个组进行批处理。 处理每个组的确切时间可以通过多种方式来确定。 例如,可以根据计划的时间间隔(例如,每小时)处理数据,也可以在到达特定数量的数据时触发数据处理,或者作为某些其他事件的结果进行处理。

批处理的一个示例是通常在选举中计算选票的方式。 投票时不输入选票,而是在同一时间以一个批次全部输入。

批处理的优点包括:

  • 可以在方便的时间处理大量数据。
  • 可以计划在计算机或系统可能处于空闲状态(如整夜)或在非高峰时间运行。

批处理的缺点包括:

  • 引入数据和获取结果之间的时间延迟。
  • 在执行批处理之前,必须准备好批处理作业的所有输入数据。 这意味着必须仔细检查数据。 在批处理作业期间发生的数据问题、错误和程序崩溃会使整个进程停止运行。 必须仔细检查输入数据,然后才能再次运行作业。 甚至小的数据错误(如日期中的录入错误)也会阻碍批处理作业运行。

高效使用批处理的一个示例是连接到大型机系统。 大量的数据需要传输到数据分析系统中,并且这些数据不是实时的。 批处理效率低下的一个示例是传输少量的实时数据,例如金融股票代码。

了解流式处理和实时数据

在流式处理中,每个新数据在到达时就会得到处理。 例如,数据引入本质上是一种流式处理进程。

流式处理过程是实时处理数据。 与批处理不同,不存在等待下一批要处理的数据的情况,而是将数据作为独立单位进行处理,不视为一次处理一个的批次。 在大多数连续生成新动态数据的情况下,流式数据处理非常有用。

流式处理数据的示例包括:

  • 金融机构会实时跟踪股票市场的变化,计算风险值,并根据股票价格变动自动重新平衡投资组合。
  • 在线游戏公司收集有关玩家游戏交互的实时数据,并将数据馈送到其游戏平台。 然后,它会实时分析数据,提供奖励和动态体验来吸引玩家。
  • 一个房地产网站需要跟踪使用者的移动设备中的数据子集,并基于其地理位置对要访问的房产提供实时房产建议。

流处理非常适合需要实时响应的时间关键操作。 例如,监控建筑物烟雾和热量的系统需要触发警报并为门解锁,以便在发生火灾时居民能够立即逃离。

了解批处理数据和流式处理数据之间的差异

批处理和流式处理之间除了处理数据的方式以外,还有一些其他不同之处:

  • 数据范围:批处理可处理数据集中的所有数据。 流式处理通常只能访问接收到的最新数据,或在滚动时间范围(例如过去 30 秒)内访问。
  • 数据大小:批处理适用于高效处理大型数据集。 流式处理适用于单个记录或包含少量记录的小批数据。
  • 性能:批处理的延迟通常是几个小时。 流式处理通常会立即发生,延迟以秒或毫秒计。 延迟是接收和处理数据所需的时间。
  • 分析:通常使用批处理来执行复杂的分析。 流式处理用于简单的响应功能、聚合或计算(例如移动平均值)。