数据对接

04 数据对接

1. 说明

这份文档总结了两种常见的数据对接思路,以及它们更适合的场景:

  • Node-RED 更偏向流程编排、可视化连接和快速验证。
  • Airbyte 更偏向数据集成骨架、数据迁移和平台化同步。

2. Node-RED

Node-RED 是一种基于流程的编程工具,通过可视化编辑把 IOT 设备、API 和在线服务连接起来,形成事件驱动的应用。
它基于 Node.js 构建,因此带有事件驱动和非阻塞的特性。

2.1 基本工作方式

它的使用方式很直接:

  1. 启动 Node-RED 服务。
  2. 访问 http://localhost:1880 进入管理页面。
  3. 从左侧节点面板拖拽节点到编辑区。
  4. 通过连线把节点组织成流程。
  5. 双击节点编辑参数。
  6. 点击右上角部署按钮让流程运行。
IOT 设备 / API / 在线服务
Node-RED 编辑区
连线编排流程
点击 Deploy
运行与 Dashboard 展示

2.2 简单流程示例

一个简单流程可以由四个节点组成:

  • Inject Node:周期触发,每 10 秒生成一个事件。
  • Change Node:给 payload 赋随机值。
  • Function Node:准备折线图所需数据。
  • Chart Node:展示折线图。
Inject Node
周期触发
Change Node
设置 payload
Function Node
整理图表数据
Chart Node
折线图展示

2.3 OPC-UA 数据流程

OPC-UA 流程可以继续扩展为:

  • 使用 node-opcua 搭建 UA 服务器。
  • 在 Node-RED 中安装 node-red-contrib-opcua 节点。
  • 通过 Inject Node 开始监听。
  • 通过 OpcUa-Item Node 配置要监听的节点 ID 和数据类型。
  • 通过 OpcUa-Client Node 连接 UA 服务器并交互。
  • 通过 Switch Node 分流数据。
  • 使用 Debug NodeFunction NodeChart Node 完成调试和展示。
Inject Node
OpcUa-Item Node
OpcUa-Client Node
Switch Node
Debug / Function / Chart

2.4 适用场景

Node-RED 更适合:

  • 快速搭建流程。
  • 做 IOT 设备、API、在线服务之间的连接。
  • 做简单的数据采集验证和可视化展示。
  • 做 OPC-UA 数据流的验证和调试。

如果进一步考虑批量部署、批量管理、状态监控、性能边界和可靠性,Node-RED 更适合流程编排和原型验证,而不是直接承载完整的生产治理能力。

3. Airbyte

Airbyte 是一个开源的数据集成平台,提供数据迁移的基本骨架。
当工业互联网场景里存在多种来源、多种采集方式、多种目标平台时,它提供了一种高层次抽象和可扩展的方式,把数据迁移流程标准化。

3.1 架构组成

Airbyte 的架构可以分成两部分:

  • 平台
  • 连接器

平台由微服务组成,提供 UI、配置服务、调度服务、日志和告警等基础能力。
连接器负责 Source 到 Destination 的连接,并且通过 Docker 保持可扩展。

平台
UI
配置服务
调度服务
日志 / 告警
连接器
Source 到 Destination
Docker 扩展
通过容器提供连接器扩展能力

3.2 主要概念

一次数据迁移的主要载体可以理解为一个 Connection
一个 Connection 一般包含以下部分:

  • Source Catalog
  • Destination
  • Sync Schedule
  • Sync Mode
  • Transformation
Source Catalog
Destination
Sync Schedule
Sync Mode
Transformation

其中:

  • Source Catalog 解决数据从哪儿来,定义 Stream 和 Field。
  • Destination 解决数据到哪儿去。
  • Sync Schedule 支持手动、按时间、按 Cron 同步。
  • Sync Mode 包含全量刷新、增量同步等模式。
  • Transformation 是可选项,常用于部分数据库的数据转换。

3.3 Normalization

Airbyte 的 Normalization 可以看作 ELT 里的 T。
原始数据在 Source 和 Destination 间传递时以 JSON 形式组织,如果不处理就会以一个 JSON 列落到目标数据库。
为了减少使用侧的处理成本,Airbyte 提供了 Raw Table 和 Destination Table 的做法。

Source 数据
Raw Table / JSON
Normalization
Destination Table

例如,原始数据可以先落到 _airbyte_raw_cars,再经过 Normalization 变成结构化的 cars 表。
支持 Basic Normalization 的数据库包括:

  • BigQuery
  • MSSQL Server
  • MySQL 8+
  • Postgres
  • Redshift
  • Snowflake

3.4 生产应用

一个典型的生产方案是:

  • 从客户现场上位机的 Oracle 数据库同步数据到工业互联网平台的 ClickHouse。
  • 核心骨架基于 Airbyte。
  • Airbyte 负责 Oracle 抽取并发送到 RabbitMQ。
  • 再由消息消费者完成数据转换和 ClickHouse 写入。
Oracle Source
Airbyte
RabbitMQ
消息消费者
ClickHouse

Airbyte 需要运行在 Docker 环境下,本地安装和连接器使用也围绕 Docker 展开。

4. 两种方式怎么选

4.1 Node-RED 更适合的场景

  • 需要快速把多个节点串起来。
  • 需要可视化编辑和快速部署。
  • 需要做 IOT、API、在线服务之间的简单连接。
  • 需要做 OPC-UA 这类流程验证和展示。
  • 适合原型验证、流程编排、现场联调。

4.2 Airbyte 更适合的场景

  • 需要做标准化的数据集成和迁移。
  • 需要把数据从一个系统稳定同步到另一个系统。
  • 需要支持定时同步、增量同步、全量同步。
  • 需要把转换放到迁移流程后段处理。
  • 适合作为数据集成平台的骨架。

4.3 直观对比

Node-RED
流程编排、节点连线、快速验证、OPC-UA 调试、可视化展示
Airbyte
数据集成骨架、Source 到 Destination、同步调度、Normalization、平台化迁移

5. 小结

这两种方式的定位并不一样:

  • Node-RED 解决的是“把流程先跑起来、把节点先连起来”。
  • Airbyte 解决的是“把数据迁移这件事标准化、平台化”。

如果是现场联调、协议验证、快速做一个可视化流程,Node-RED 更合适。
如果是数据从一个系统稳定地流向另一个系统,并且希望有同步策略、连接器和规范化能力,Airbyte 更合适。


数据对接
https://luischen.github.io/2026/06/18/manulism-work/20_Domain_Knowledge/21 工业数据接入/04 数据对接/
作者
Luis Chen
发布于
2026年6月18日
许可协议