从ETL到API

270 阅读7分钟

在IT领域,ETL(提取,转换,加载)流程长期以来一直用于构建数据仓库和数据分析报告系统。企业使用面向商业智能化(BI)的ETL流程,从高度分布的数据源中提取各种数据,通过操作、解析和格式化转换这些数据,并将其加载到临时数据库中。然后对这些临时数据做总结、统计和分析,并用于填充企业的数据仓库。

ETL工具如何完成企业运营中的数据集成

需要肯定的是,ETL工具在IT环境中占有一席之地,众多数据库管理员利用ETL工具来促进流程并为业务提供最佳价值。

数据仓库:从历史上看,ETL工具的主要用途是实现商业智能化。ETL工具将数据库、应用数据和参考数据拖入数据仓库中,可以使企业随时了解其运营情况,并使管理层能够做出更好的决策。

数据集成:数据集成允许企业在各种系统之间快速有效地迁移,转换和整合信息。 ETL工具减少了手动输入数据的痛苦,并允许来自不同系统的数据进行交互,同时提供统一的数据视图。

领先的ETL工具,例如Informatica PowerCenter等在数据集成领域有着悠久的历史。它的成功可归功于其在不同系统间交互能力,可重用组件和自动化流程。PowerCenter针对批量方式移动大量数据进行了优化,和其他类似的ETL工具一起,已被广泛用于跨异构环境集成企业应用程序的场景中。

用于企业运营数据集成的ETL工具

企业的运营数据库中通常包含事务型数据,例如员工信息、销售、客户反馈和PoS信息等等。这些数据库为运行业务所需的运营系统和应用程序提供了基础支撑。随着企业的运营越来越需要这些系统之间能够相互集成,现有的ETL工具提供了一个明确的解决方案。 现代的ETL工具已经支持与许多流行数据库和应用程序在数据层面上的连接,成为一种快速,并且看似简单的连接和数据移动方式。在API还不够丰富的时代,ETL工具是企业运营中,实现类似场景的首选解决方案。

ETL工具变得更加复杂

ETL工具确实提供了数据库和应用程序之间的一种通信方法,但随着时间的推移,ETL工具在企业中的应用会面对越来越大的挑战。由于创建此类连接需要全面了解每个运营数据库或应用程序,因此需要实现非常具有侵入性的自定义集成方法,因此系统之间的互联将会变得更加复杂。

随着时间的推移,这种集成方法变得越来越复杂。并且互联的系统数量越多,事情也就越复杂。此外,由于这种紧密耦合,即使系统中进行了最轻微的改变,相互之间的依赖也会产生巨大的,不可预测的影响。此时,自定义的点对点数据级集成将成为一个脆弱的连接网络,很快开始看起来像一团“意大利面条代码”。

随着IT环境向云迁移,(由于安全等原因)缺乏对云数据库和应用程序内部的可见性通常使得在本地和云的混合场景中无法轻易实现基于ETL的集成。此外,向云的过渡意味着完成实时集成和更新的价值更大,而这类价值ETL工具无法轻松提供,因为它们主要是面向批处理过程的。

API简化了数据集成

API普及程度的提高使得创建连接变得更加容易。通过API,开发人员可以访问数据端点并构建连接,而无需深入了解系统本身,从而极大地简化了数据集成流程。由于ETL工具仍然更多地关注BI和大数据解决方案,并且传统的运营数据集成方法随着云计算的普及而变得过时,API成为创建连接的更好选择。

企业服务总线(ESB)以及API应用服务器软件产品可以提供基于API的连接以及实时集成。与用于数据集成的传统ETL工具不同,基于API的连接和集成方法通过提供中间服务层将应用程序和数据库彼此隔离。该抽象层通过系统解耦来减少系统之间的依赖性并提供高度的灵活性。开发人员可以利用预先构建的连接器轻松创建应用集成,而无需了解特定应用程序和数据库内部实现,并且可以快速地对系统中的某部分连接进行更改,而不需要担心整个集成系统崩溃。通过API实现的屏蔽,应用程序和数据库可以进行修改和升级,而不会产生意外后果。与使用ETL工具进行操作集成相比,基于API的连接和集成提供了更加合理,且定义明确的方法来实现此类计划。

灵长科技提供应用集成平台

灵长的核心产品CEAMS通用企业应用接口管理系统,可以帮助企业满足其应用集成需求。CEAMS系统的核心组件CDIF是一个高性能的Node.js API应用框架,以及数据交换平台。可帮助企业连接SaaS,云,移动及本地应用程序,服务和各类数据源。 CEAMS系统通过完整支持Node.js开源生态中的所有组件,为企业提供强大的集成解决方案:

应用集成:CEAMS系统通过应用提供的JSON格式的API规范,将被集成的各类外部系统自然地划分为多个服务,平台上部署的每个应用对应于一个外部系统或数据源。应用具备自己独立的CPU资源和内存空间,并支持通过高效的异步通讯模式在不同的应用之间交换JSON格式的数据。相对于传统的同步模式,这样的设计可以大大提高数据集成时的运行效率和吞吐量,并且降低了系统间的耦合性,在某个应用崩溃出错,无响应,或CPU死锁时不会影响到其他应用的正常运行。

数据转换:CEAMS系统在完成应用集成时,首先对来自不同系统和数据源的数据统一自动转换和封装成JSON格式的API。通过完整地支持整个Node.js技术生态中,全球上百万开发者正在使用的,各类基于Node.js的JSON数据转换和处理工具,开发者可以很轻松地在CEAMS系统上,在统一的JSON格式基础上完成数据转换和应用集成任务。

连接器:通过完整支持高度发达的Node.js生态,CEAMS系统可以实现与数百种流行应用程序,协议,和服务的即时API连接,从而可以轻松地将数据提取和加载到流行的数据源和端点。

文件类型支持:通过支持平面和结构化数据格式(如XML,JSON,CSV,Excel等),企业可以灵活地使用哪种数据格式。

数据库级连接:对于需要与数据库直接交互的情况,CEAMS系统提供ORM,Raw SQL等连接到各类关系型数据库的方法,同时提供Elastic Search, Solr等全文搜索引擎,以及MongoDB,Cassandra,和Hadoop等新兴的大数据平台。