随着我们进入现代云数据架构时代,企业正在部署两类主要的数据集成工具来处理传统的ETL和ELT用例。
第一种类型的数据集成工具是基于gui的数据集成解决方案。
Talend、Infosphere Datastage、Informatica和Matillion都是很好的例子。这些工具利用UI来配置数据集成引擎或编译数据集成代码。GUI集成工具承诺快速、友好的用户界面,快速创建新的数据管道。此外,基于gui的数据集成工具在提高开发人员生产率方面有良好的记录。对于具备以下条件的组织来说,它们是有益的:
- 许多数据集成管道需要管理。
- 需要集成到数据管道中的复杂MDM需求和业务规则。
- 无处不在的关系数据库生态系统。
- 数据进出云平台(如AWS、Azure、GCP)的要求
第二种类型的数据集成是基于脚本/代码的数据集成解决方案。
基于脚本/代码的数据集成利用了一系列工具来开发数据管道。这种能力通常需要:
- 像Python或Scala这样的编程语言
- 数据处理框架,如Spark
- 类似于Apache气流的编排工具。
代码/脚本使用编程语言和框架在顶点或节点中构造。然后,这些顶点通过编制工具在有向无环图(dag)中结构化。dag可以扩展到处理非常大的数据管道(比如每天10兆兆字节)。在人工智能或机器学习用例中,dag对于处理定制的或复杂的处理也非常有用。
0.5:云原生
当我开始社会化两种类型的云ETL博客想法时,一个同行问道:“云原生的怎么样?”好问题!云本地选项只是两种类型的数据集成。例如,AWS胶和谷歌DataProc有生成代码的ui(例如Python和Scala)。与具有丰富UI功能的传统工具不同,这些云本地工具仍然需要编辑生成的代码(通常是Python或Scala)。原生云工具正在迅速赶上,但它们仍然需要在ui中添加重要的功能,才能获得与传统基于gui的解决方案相同的生产力收益。