什么是数据管道?

数据管道收集、转换和存储数据,供各种数据项目的利益相关者使用。

泰国夜间的炼油厂的俯视图。
什么是数据管道?

数据管道方法从多种数据源采集原始数据,然后将其存储至数据存储库(如数据湖或数据仓库)进行分析。 数据在流入数据存储库之前,通常会经过一些数据处理。 这包括数据转换,例如过滤、屏蔽和汇总,可确保实现适当的数据集成和标准化。 如果形成数据集的目的是建立相关数据库,那么数据转换尤其重要。 这种类型的数据存储库具有定义的架构,需要对齐(即匹配数据列和类型),以使用新数据来更新现有数据。 

顾名思义,数据管道是数据科学项目或商业智能仪表板的"管道"。 我们可以从各种地方获取数据,如 API、SQL、NoSQL数据库和文件等,但遗憾的是,我们通常无法立即使用这些数据。 数据准备任务通常由数据科学家或数据工程师完成,他们负责整理数据以满足业务用例的需求。 数据管道所需的数据处理类型通常通过结合探索性数据分析和定义的业务需求来确定。 对数据进行适当的过滤、合并和汇总后,就可以存储和显示数据以供使用。 组织有序的数据管道为一系列数据项目提供了基础;可能包括探索性数据分析、数据可视化和机器学习任务。


数据管道的类型

数据管道主要有两种类型:批处理和流数据。

批处理

批处理的发展是构建可靠且可扩展的数据基础架构的关键步骤。 2004 年,批处理算法 MapReduce 获得专利,然后成功集成到 Hadoop、CouchDB 和 MongoDB 等开源系统中。

顾名思义,批处理在一定的时间内将"批量"数据加载到存储库中,通常安排在非高峰营业时段内。 这样一来,其他工作负载不会受到影响,因为批处理作业通常使用大量数据,可能会给整个系统造成负担。 在没有要分析特定数据集的紧急需求(例如每月会计结算)时,批处理通常是最佳的数据管道,并且它与 ETL(提取、转换和加载)数据集成过程的相关性更强。

批处理作业形成序列化命令的工作流程,其中一个命令的输出将成为下一个命令的输入。 例如,一个命令可能启动数据采集,下一个命令可能触发对特定列的过滤,紧接着的命令可能是处理汇总。 这一系列命令将一直持续到数据完全转换并写入数据存储库。

流数据

与批处理不同,流数据在需要持续更新数据时使用。 例如,应用程序或销售点系统需要实时数据来更新其产品的库存和销售历史记录;卖家就可以告知消费者产品是否有库存。 一个行为(如产品销售)为"事件",相关事件(如结账时添加一个物品)通常属于"主题"或"流"。 然后,这些事件通过消息传递系统或消息代理(例如开源产品 Apache Kafka)进行传输。 

由于数据事件在发生后不久就被处理,因此流处理系统的延迟低于批处理系统,但由于消息可能会意外丢失或在队列中耗费的时间过长,被人们认为不如批处理系统可靠。 消息代理通过"确认"帮助解决这一问题,在这一过程中,使用者向代理确认消息的处理情况以将其从队列中删除。 

了解如何使用 IBM Streams 构建 Kafka 流式处理应用程序


数据管道架构

数据管道架构由三个核心步骤组成。 

1. 数据采集: 数据来自于各种来源,数据结构也各不相同,有结构化数据,也有非结构化数据。 在流数据中,这些原始数据源通常称为创建者、发布者或发送者。 虽然企业可以选择仅在准备好处理数据时提取数据,但最好先将原始数据存储在云数据仓库提供商那里。 这样一来,如果企业需要调整数据处理作业,就可以更新任何历史数据。 

2. 数据转换: 这一步将执行一系列作业,将数据处理为目标数据存储库所需的格式。 这些作业为诸如业务报告等重复的工作流程嵌入自动化和治理,确保数据始终得到清理和转换。  例如,数据流可能采用嵌套 JSON 格式,数据转换阶段将旨在展开该 JSON 以提取用于分析的关键字段。

3. 数据存储: 转换后的数据之后存储在数据存储库中,供各种利益相关者使用。 在流数据中,这种转换后的数据通常称为使用者、订阅者或接收者。  


数据管道与 ETL 管道

您可能会发现某些术语(如数据管道和 ETL 管道)在对话中可互换使用。 但您应该将 ETL 管道视为数据管道的子类别。 我们可以通过三个关键特征区分这两种管道:

• ETL 管道遵循特定的顺序。 ETL 是一个缩写,指的是提取数据,转换数据,然后在数据存储库中加载和存储数据。 所有数据管道都不需要遵循该顺序。 事实上,随着云原生工具的出现,ELT 管道越来越受欢迎。 虽然该管道仍然会首先进行数据采集,但在将数据加载到云数据仓库后,可以应用任何转换。  

• ETL 管道也倾向于使用批处理,但如上所述,数据管道的范围更广。 它们也可以包括流处理。 

• 最后,虽然不太可能,但数据管道作为一个整体并不一定需要像 ETL 管道那样进行数据转换。 很少看到不利用转换来推动数据分析的数据管道。 


数据管道的用例

随着大数据的不断发展,数据管理成为越来越重要的优先事项。 虽然数据管道的功能多样,但在业务中主要有三种形式的应用: 

• 探索性数据分析:数据科学家使用探索性数据分析 (EDA) 来分析和调查数据集并总结其主要特征,通常采用数据可视化方法。 EDA 有助于确定如何最好地操作数据源以获得所需的答案,使数据科学家更容易发现模式、发现异常、检验假设或检查假设。

• 数据可视化:数据可视化 是指通过使用常见图形(如图表、统计图、信息图甚至动画)来表示数据。 这些信息视觉显示以一种易于理解的方式展现复杂的数据关系和数据驱动洞察。

• 机器学习: 机器学习是人工智能 (AI) 和计算机科学的分支,专注于使用数据和算法来模仿人类学习的方式,逐渐提高其准确性。 通过使用统计方法,对算法进行训练,以进行分类或预测,揭示数据挖掘项目中的关键洞察。


数据管道与 IBM

IBM Cloud Pak for Data 利用微服务及其领先的数据和 AI 功能,智能集成分布式系统的数据,为企业提供全面的业务绩效视图。 这有助于更快地收集、组织和洞察企业数据,支持企业进行大规模决策。 数据管理团队相信,具有竞争优势的 IBM 安全框架能够保护他们的数据安全,确保遵守监管政策,降低合规性风险。 了解 IBM Cloud Pak® for Data 和 IBM Streams 如何跨多个环境改进企业的数据管道架构。