流式系统
上QQ阅读APP看书,第一时间看更新

1.3 小结

真的有很多知识点!能读到这里不容易!你应该受到表扬!当然,我们才刚刚开始。在开始详细研究Beam模型的方法之前,我们简要回顾一下到目前为止我们学到的内容。在本章中,我们完成了以下工作。

澄清术语,将“流式”的定义聚焦于指代以无界数据构建的系统,同时使用更具描述性的术语,例如,近似的/推测性的结果,以得出通常归类在“流式”类别下的不同概念。此外,我们强调了大规模数据集的两个重要维度:基数(有界与无界)和编码(表和流)。编码将占据本书后半部分的大部分内容。

评估精心设计的批处理系统和流式系统的相关功能,假定流式实际上是批处理的超集,并且像Lambda架构这样的概念(断言流式比批处理差)注定会随着流式系统的成熟而退出历史舞台。

提出了流式系统要赶上并最终超越批处理系统所需的两个高级别概念,分别是正确性和推断时间的工具。

确立了事件时间和处理时间之间的重要差异,描述了这些差异为在数据发生时的上下文中分析这些数据带来的困难,并提出了从确保完整性的思考方式转为仅适配数据随时间变化的方法。

研究了当前通过批处理引擎和流式引擎对处理有界数据和无界数据常用的主要数据处理方法,大致将处理无界数据的方法分类为时间无关、近似算法、基于处理时间开窗和基于事件时间开窗。

接下来,我们将深入研究Beam模型的细节,从概念的角度看如何将数据处理分解为4个相关轴:定义(what)、位置(where)、时机(when)和方法(how)。我们还会详细介绍如何在多个场景中处理一个简单、具体的示例数据集,突出Beam模型启用的多个使用场景,以及现实中一些具体的API。这些示例将有助于深刻理解本章引入的事件时间和处理时间的概念,同时还将探讨水位这样一些新概念。