实时分析实战:构建实时流处理应用和分析系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 对实时分析应用程序进行分类

既然我们已经对流数据、实时分析以及它们的优势和行业用例有了深入的了解,在本书接下来的章节里,我们将逐步探索实时分析应用程序的构建,以挖掘流数据的潜在价值。

在着手构建之前,让我们先根据目标受众及其需求将实时分析应用程序进行分类。这样做有助于我们挑选最适合的应用程序类型,以满足我们的分析要求。

如图1-6的象限图所示,沿着两个坐标轴将实时分析应用程序划分为四个不同的类别。

图1-6:实时分析象限图

1.6.1 面向内部与面向外部

实时分析应用程序主要分为两大类:面向内部的和面向外部的。面向内部的应用程序旨在为组织生成内部使用的洞见,主要用于内部用例。例如,运输公司监测车辆性能以优化燃油使用效率和检测维护状况,或者电信服务商监控网络性能与容量。

而面向外部的应用程序则将洞见提供给组织之外的用户群体,这些可能是最终消费者。例如,通过拼车应用程序,乘客能够即时追踪到车辆位置;医疗应用程序能持续监测患者的生命体征,并在发现需要立即关注的变化时,向医护人员发出预警。

传统上,更多的实时分析应用程序是为内部用户构建的,这在操作上相对简便。此外,内部应用程序的用户数量通常较少,对于查询延迟的容忍度也相对较高——如果一个查询需要耗时10秒才能得到结果,那通常也能被接受。

然而,外部用户对延迟的容忍度通常要低得多。外部用户的数量可能远超内部用户,且可能在同一时间内访问特定的应用程序,并期待查询结果能够即刻返回。另外,向外部用户提供实时分析同样为我们带来了巨大的商业机遇,如图1-7所示。

图1-7:分析飞轮

实时分析改进了我们向外部用户提供的产品。这意味着更多的用户将使用这些产品并与之互动,这将产生更多的数据,而这些数据又可以被用来创造新的产品。

1.6.2 面向机器与面向人类

面向人类的应用程序将分析结果通过用户界面(如仪表盘)提供给人类使用者,包括决策者、分析师、运营人员、工程师以及终端用户,即最终的消费者。这类应用程序的核心宗旨在于即时提供信息探索功能。

面向机器的分析应用程序则由机器使用,例如,微服务、推荐系统和机器学习算法等。在这些场景中,分析逻辑在程序运行前便已编码设定好,从而去除了人为干预的可能性。面向机器的应用程序主要追求的是速度与准确性,而这通常是面向人类的应用程序难以大规模实现的。