什么是流数据?

什么是流数据?

流数据是来自各种来源的连续实时数据流。不同于按计划的时间间隔处理数据集的批处理,流数据的处理在数据到达时进行,因此可即时提供实时洞察。

如今的组织会生成大量数据,涉及从物联网 (IoT) 设备到电子商务交易等方方面面。流数据,也称为“数据流”或“实时数据流”,可帮助组织处理传入的连续数据流。

流数据的示例包括:

  • 跟踪股票价格和交易活动的金融市场数据
  • 监控设备性能的 IoT 传感器读数
  • 捕捉用户参与度的社交媒体活动流
  • 显示访客行为模式的网站点击流数据

组织经常使用流数据来支持依赖实时数据的业务举措,以实现快速的数据驱动决策,例如数据分析商业智能 (BI)

流数据往往是大数据收集和处理工作的一部分。例如,组织可以使用大数据分析来分析连续数据流,以获得对运营效率、消费者趋势和不断变化的市场动态的洞察。

由于数据连续流动,流数据需要与传统批处理不同的处理方法。常用方法包括可扩展的流架构,以及能够管理数据摄取、处理和分析,同时保持最佳性能的流处理器。

近年来,人工智能 (AI)机器学习的兴起使得流数据功能受到更多关注。这些技术往往依赖于流数据处理来生成实时洞察和预测。

根据 Gartner 的数据,61% 的组织表示由于 AI 技术的影响,它们必须更新或重新思考其数据与分析运营模式。1

金融科技公司 WealthAPI 围绕事件驱动的流式架构构建了其金融分析平台,以实时处理持续不断、格式不一致的银行和交易数据流。传入的数据通过 Google Pub/Sub(一种将数据生产者与下游系统解耦、并允许多项服务同时消费同一数据流的消息服务)进行缓冲和分发。随后,IBM watsonx.data 处理高性能结构化数据检索,使金融洞察的交付速度提升高达 80%,服务数万用户,并可扩展至数百万用户而无需更改架构。

流数据与批处理的对比

组织可采用的数据处理方式主要有两种:批处理或流数据。

虽然这两种方法均可处理大量数据,但它们服务于不同的用例,并且需要不同的架构。

二者的主要区别包括:

  • 处理模式:批处理按照固定的时间间隔,分批对数据集进行聚合和分析;而流数据使用实时数据处理工具,在数据到达时对其进行处理。这意味着流式系统可以即时生成洞察并采取行动,而批处理系统按周期性计划运行。

  • 基础设施需求:批处理系统往往使用数据仓库等传统数据存储和分析工具,而流式处理则需要为处理实时数据流而构建的专用框架和数据流平台。

  • 性能要求:批处理系统可以在预定的运行期间优化资源使用,而流处理需要具有低延迟和容错能力的系统。换言之,流式系统必须实时处理数据而不能出现延迟,即使在数据量很大或出现问题时也是如此。

组织通常会根据数据量、延迟需求和业务目标,在批处理和流处理之间进行选择。许多组织会在统一的 Data Fabric 架构中同时使用这两种方法,处理不同类型的数据任务。

例如,电子商务组织可能会使用批处理来生成每日销售报告,同时使用流数据和实时分析系统来监控关键网站指标。  

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

流数据的工作原理

在高层次上,流数据的工作原理是持续捕获、处理和分析来自不同来源的实时数据流。这一过程包括四个关键阶段:

  • 数据摄取
  • 流处理
  • 数据分析
  • 数据存储

数据摄取

第一阶段涉及捕获来自不同来源的传入数据流。Apache Kafka 等现代数据摄取工具会对到达的数据流进行缓冲和标准化,这有助于确保可扩展性和数据一致性。

组织通常会将数据摄取工具与其他组件集成,以创建统一的工作流。数据集成工具还可以进一步将不同的数据类型调整为一致的标准化格式进行处理,从而帮助确保有效地组合和分析多个来源的数据。

流处理

在处理阶段,Apache Flink 等流处理框架可以分析和转换传输中的数据。 借助这些框架,组织能够做到以下几点:

  • 实时处理复杂事件

  • 执行规模化的数据聚合,例如进行平均值计算、事件计数或交易值加和

  • 在数据流经数据管道时应用变换——例如对数据进行过滤、丰富或格式化

数据分析和可视化

在该阶段,组织通过数据可视化和其他分析工具,从流数据中获得切实可行的洞察。

主要应用场景包括:

  • 可提供关键指标和关键绩效指标 (KPI) 的实时仪表板

  • 可实现工作流自动化和流程优化的运营应用程序

  • 可进行模式分析以预测结果的机器学习模型

数据存储

存储流数据时,组织必须在快速访问数据以供实时使用的需求与长期数据存储、成本效益和数据合规性问题之间寻找平衡点。

许多组织使用数据湖湖仓一体来存储流数据,因为这些解决方案可以为大量数据提供成本低廉、高度灵活的存储环境。捕获流数据后,可能会将其发送到数据仓库,在那里可以进行数据清洗并为使用做好准备。 

组织往往会在统一的 Data Fabric 架构中同时实施多个数据存储解决方案。例如,金融机构可能会使用数据湖来存储原始交易流,同时使用数据仓库来存储分析和报告。

流数据的类型

组织可以使用多种类型的流数据来支持实时分析和决策。一些最常见的流数据包括:

事件流

事件流可捕获发生的系统操作或更改,例如应用程序编程接口 (API) 调用、网站点击或应用程序日志条目。事件流通常用于跟踪跨系统的实时活动,从而实现对用户交互或系统事件的即时响应。

实时交易数据

实时交易数据可捕获持续的业务交易流,例如数字支付或电子商务购买。实时交易数据可以为欺诈检测和即时决策等应用程序提供支持。

IoT 和传感器数据

IoT 和传感器数据包括有关环境条件、设备性能和物理流程的信息。这些数据流往往支持实时设备监控和过程自动化

流数据用例

流数据让组织能够处理大量实时信息,以获得即时洞察并即时采取行动。

常见应用:

金融服务

金融机构经常使用 Streaming Analytics 来处理市场数据、交易和客户交互。

例如,信用卡公司依靠流数据进行欺诈检测。流数据平台让这些公司能够每秒分析数千笔交易,以检测异常活动并标记或阻止可疑交易。

制造业物联网

现代化制造设施经常利用 IoT 设备传感器和实时数据处理来提高运营效率。 

例如,汽车工厂可能会监控数千个装配线传感器,跟踪温度、振动和性能等指标。这些数据可以帮助操作人员及早发现效率低下的问题,并安排预防性维护,避免停机。

医疗保健

医疗保健提供方依靠流式应用程序来处理来自医疗设备和患者监护系统的数据。

例如,在重症监护室,床旁监护仪通过数据管道将生命体征数据流式传输到中央处理器。然后,这些处理器可以识别令人担忧的模式,并在需要干预时自动向医务人员发出警报。

零售和电子商务

零售商和电子商务企业利用来自销售点系统、库存传感器和在线平台的流数据来优化运营。

例如,大型电子商务平台可以使用 Apache Kafka 来处理来自数百万购物者的点击流,以评估需求并提供个性化的客户体验。

运输和物流

运输企业经常利用 Streaming Analytics 来处理 GPS 数据和 IoT 传感器读数,以优化车队运营。

例如,物流提供商可以将数千车辆的实时数据与天气和交通数据集集成。然后,流处理器能够以最小延迟自动优化路线,从而帮助驾驶员避免延误。 

网络安全

流数据有助于支持多种网络安全措施,例如自动异常检测。AI 和机器学习系统可以分析来自整个系统中众多监控工具的数据流,识别异常模式或可疑行为,从而助力即时应对潜在问题。 

AI 和机器学习

流数据在 AI 和机器学习领域也发挥着至关重要的作用。例如,流式处理框架可支持连续的 AI 模型训练,以便机器学习算法近乎实时地适应不断变化的模式。

机器学习系统还可以通过称为在线学习的过程从流数据源中增量学习,通过使用专门的算法来提高准确性,而无需对整个模型进行重新训练。

流数据工具和技术

借助开源和商业流数据解决方案,组织可以构建具备容错能力的可扩展数据管道,这意味着它们可以从故障中恢复,而不会丢失数据或停机。

大多数流数据实现都基于两类关键技术:流处理框架和流数据平台。

流处理框架

流处理框架为处理连续数据流奠定了基础。这些框架可帮助组织构建高性能数据管道,快速、可靠、稳定地处理大量数据。

三个开源框架在流数据领域占据主导地位:

  • Apache Kafka
  • Apache Flink
  • Apache Spark

Apache Kafka

Kafka 作为领先的流数据平台,可处理海量数据,延迟仅为毫秒级。组织经常使用 Kafka 来构建用于活动跟踪、运营监控和日志聚合的管道。 

Apache Flink

Apache Flink 专注于复杂事件处理和有状态计算。它对于实时分析、欺诈检测和预测性维护非常有价值,在这些领域,了解一段时间内事件的背景信息至关重要。

Apache Spark

Spark 以其统一分析功能而闻名,可同时处理批处理数据和流数据。得益于这项能力,它在组织需要分析历史数据以及实时数据的场景中非常有用。

流数据平台和服务

流数据平台提供各种工具和功能,有助于为流数据的整个生命周期(从摄取和处理,到存储和集成)提供支持。

许多主要的云供应商都提供了托管式流数据解决方案,让组织能够更轻松地设置高容量数据流应用程序。Amazon Web Services (AWS) 的 Amazon Kinesis、Microsoft Azure Stream Analytics、Google Cloud 的 Dataflow 以及 IBM Event Streams 等服务提供了即用型工具。企业不必从头开始构建复杂的基础设施。

这些服务还可以与本地流数据处理工具集成以创建混合架构,从而帮助平衡性能需求与数据隐私要求。 

组织还可以使用 IBM StreamSets 和 Confluent 等工具,构建为其独特 IT 生态系统量身定制的流数据管道。

流数据面临的挑战

虽然流数据可以提供许多优点,但组织在构建支持流式应用程序所需的数据架构时可能会面临挑战。

一些常见的挑战包括:

  • 数据架构扩展:流数据处理往往需要处理来自多个来源的大量数据。如果流式架构无法高效扩展以处理大量数据,组织可能会陷入困境。

  • 保持容错:流式传输系统在每秒可能处理数百万个事件时必须具有容错能力。否则,组织可能会面临因系统故障和异常行为而丢失数据的风险。

  • 性能监控:实时应用程序需要持续监控延迟、吞吐量和资源利用率等指标,以保持最佳性能,这种需求可能会压垮已经不堪重负的处理系统。

  • 数据治理实施:组织必须考虑如何存储和处理包含个人身份信息 (PII) 或其他敏感信息的流数据,这些信息属于 《通用数据保护条例》(GDPR)California Consumer Privacy Act (CCPA) 或其他数据治理要求的管辖范围。

作者

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

相关解决方案
DataOps 平台解决方案

使用 IBM DataOps 平台解决方案整理您的数据,使其值得信赖并为 AI 做好业务准备。

深入了解 DataOps 解决方案
IBM StreamSets

通过直观的图形界面创建和管理智能流数据管道,促进跨混合和多云环境的无缝数据集成。

深入了解流媒体集
数据和分析咨询服务

通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
采取后续步骤

通过多种方式(包括批量处理、实时流和复制)整合结构化和非结构化数据,以免您将时间和金钱浪费在工具切换上。

  1. 深入了解 IBM watsonx.data integration
  2. 深入了解数据集成解决方案