1. 概述
FineDataLink 提供了包含数据开发、任务运维等功能,满足用户对数据进行同步、处理、清洗等一系列的需求。
本文为你说明「数据同步」和「数据转换」在使用上的区别,帮助你更好地应用产品。
注:步骤流和数据流概念详情参见 FineDatalink特有名词
功能 | 模式 | 属性 | 定义 | 应用场景 | 优势 | 劣势 |
---|---|---|---|---|---|---|
数据转换 | ETL | 「数据转换」包含的算子,属于数据流,「数据转换」节点本身为步骤流节点 | 从数据来源端抽取数据,利用 FineDataLink 完成数据处理,再加载入数据目标端 | 当数据需要利用 FDL完成复杂场景处理时,推荐使用数据转换 | 数据处理场景覆盖范围广 | 1)针对数据量较大场景,抽数速度低于数据同步 2)消耗硬件资源配置,内存消耗高 |
数据同步 | ELT | 步骤流 | 从数据来源端抽取数据直接加载入数据目标端,然后利用数据库完成数据处理。 | 1)适用于较大数据量的同步场景,当单表数据量超过 1kw 时,推荐使用数据同步 2)适用于没有复杂处理逻辑的数据同步场景 | 抽数性能佳 | 无法进行复杂场景的数据处理 |
2. 数据转换
2.1 概念
「数据转换」包含的算子,属于数据流,「数据转换」节点本身为步骤流节点。
即从输入(Input)到输出(Output)之间的数据流动,针对的是在数据流动过程中的每一行记录、每一列数据的处理,数据流里可以完成数据的输入、转换等操作。如下图所示:
2.2 应用场景
用户希望将数据进行比较复杂的处理后再同步至数据库中。
首先进入「数据转换」节点中,根据数据源类型进行数据输入。如下图所示:
使用「连接」、「转换」等步骤对输入的数据进行处理。如下图所示:
处理好数据后使用输出步骤将数据输出至数据库中。如下图所示:
3. 数据同步
3.1 概念
「数据同步」节点属于步骤流:步骤流也叫工作流,是对步骤进行编排,每个步骤都是相对独立的,只有执行的先后顺序区别,不会存在数据行的流动,如下图所示:
当然数据同步可以与其他步骤流节点一起参与步骤编排进行数据的 ETL 处理,比如和参数赋值、循环容器等节点,如下图所示:
3.2 应用场景
用户希望将大量的数据直接抽取同步写入数据库中,且想要同步的数据不需要非常复杂的处理步骤。
通过「设置需要抽取的数据」>「设置需要写入的数据表及字段结构」>「设置数据的写入方式」将数据直接抽取并写入数据库中。