除了本机处理流数据外,还要寻找以下三个流分析必需品,它们可以让您的分析应用程序为实时做好准备:
云 数据仓库 包括 和 ——以及某些被认为是高性能的数据库(如 )——批量提取事件,然后将其保存到文件中,然后可以对其进行操作。
这会产生延迟——从流到文件再到提取的多个步骤需要时间。更好的方法是提取流数据,并将每个事件放入内存中,然后可以立即查询。这种“到达时查询”的形式在需要分析当前数据的用例(如欺诈检测 约旦手机号码数据 和实时竞价)中发挥了重要作用。
数据库不会无限期地将事件保存在内存中;相反,它们会通过列化、索引、压缩和分段来处理。然后,每个段都会保留在高速数据节点和深层存储层中,作为持续备份。
一致性数据
数据不一致是快速移动的流媒体环境中最严重的问题之一。虽然偶尔的重复记录不会影响系统,但当在大量日常事件中重复时,问题就大得多。
因此,“精确一次”语义是一致性的黄金标准。系统只提取一次事件,不会丢失数据或重复数据。这听起来可能很简单,但对于使用批处理模式的系统来说并不容易实现。为了实现精确一次语义,成本和复杂性通常会增加,因为开发人员必须编写可以跟踪事件的复杂代码,或者安装单独的产品来管理这一点。