提取,转换和加载(ETL)工具使组织能够在不同的数据系统中访问,有意义且可用的数据。通常情况下,企业在了解试图编写代码和构建内部解决方案的成本和复杂性时,首先会意识到对ETL工具的需求。
当选择正确的ETL工具时,您有几种选择。您可以尝试组装开源ETL工具来提供解决方案。这种方法适用于某些情况,但公司经常发现自己需要更多功能/功能,更多灵活性和更多支持。
下一个选择是与现任供应商合作:一种能够很好地处理当今流行的数据源和数据流的解决方案。现任供应商提供一个大品牌或知名品牌的稳定性和舒适度。
第三类ETL工具是现代ETL平台。这些通常是基于云的解决方案,并为ETL从现有数据源到云数据仓库的数据提供端到端支持。它们也是为了支持日益增长的基于网络的数据流列表而构建的。
对于这篇文章,我们将深入现有ETL工具的世界 - 通常的嫌疑犯,优点和缺点 - 然后快速浏览一下现代ETL平台。
现任ETL工具概述
现有的ETL工具构成了ETL工具市场的大部分 - 这是合理的。他们的时间最长,很多都是由非常大的公司设计的(微软,IBM等),所以预装的客户群非常庞大。
其中一些工具由一套一起使用的工具组成,可以根据具体问题进行定制。由于许多公司将其数据存储在传统的单一数据库和系统中,因此制造商可以提供工具来迁移该数据并支持现有的批处理方法。
流行的现任ETL工具
这不是一份完整的清单,但它确实涵盖了主要产品。
IBM InfoSphere Information Server
IBM InfoSphere Information Server是一个ETL工具,是IBM Information Platforms Solutions套件和IBM InfoSphere的一部分。它使用图形符号来构建数据集成解决方案,并提供各种版本(服务器版,企业版和MVS版)。
Informatica PowerCenter
Informatica PowerCenter是ETL产品套件的通用名称,包括PowerCenter客户端工具,服务器和存储库。
数据存储在由客户端工具和服务器访问的存储库中。操作在服务器上执行,服务器连接到源和目标以获取数据,应用所有转换并将数据加载到目标系统中。
iWay软件
Information Builders的iWay Integration Suite提供了应用程序和数据集成功能。客户使用它们来管理结构化和非结构化信息。该套件包括iWay DataMigrator,iWay服务管理器和iWay通用适配器框架。
Microsoft SQL Server集成服务
Microsoft SQL Server Integration Services(SSIS)是构建高性能数据集成解决方案的平台,包括用于数据仓库的ETL包。
OpenText公司
该OpenText的集成中心是一个整合的平台,让组织中提取,提升,改造,整合,以及一个或多个存储库迁移数据和内容,任何新的目标的能力。
Oracle GoldenGate
Oracle GoldenGate是一个全面的软件包,用于在异构IT环境中进行实时数据集成和复制。
普及软件
Pervasive的Data Integrator平台是一种企业数据集成软件解决方案,使公司能够在任何类型的数据源和应用程序之间建立连接。Data Integrator支持实时集成方案。
必能宝软件
Pitney Bowes提供大量针对数据集成的工具和解决方案。Sagent Data Flow是一个灵活的整合引擎,整合来自不同来源的数据并提供一套全面的数据转换工具,以增强其业务价值。
SAP Business Objects数据服务
以前称为Business Objects Data Integrator,SAP BusinessObjects Data Services(BODS)是用于数据集成,数据质量,数据分析和数据处理的ETL工具。它允许您整合和转换可信的数据到数据仓库系统以进行分析报告。
SAS数据管理
SAS Data Management建立在SAS平台之上,是SAS进入ETL的工具市场。该平台由大型套件(20多种)SAS工具和服务组成。
Sun Java复合应用程序平台套件
Sun的ETL和数据集成工具是大型Java复合应用程序平台套件(CAPS)的一部分。CAPS或Java CAPS是Oracle公司基于标准的企业服务总线软件套件。Java CAPS有几个组件可帮助整合现有应用程序并在面向服务的体系结构环境中提供新的业务服务。
SYBASE
Sybase ETL包括Sybase ETL Development和Sybase ETL Server。
Sybase ETL Development是用于创建和设计数据转换项目和作业的GUI工具。该工具提供了一个完整的模拟和调试环境,旨在加速ETL转换流程的开发。Sybase ETL Development包含一个ETL开发服务器,用于控制实际的处理,例如连接到数据库和执行过程。
Sybase ETL Server是一种可伸缩和分布式的网格引擎,它使用转换流(使用Sybase ETL Development设计)连接到数据源并将数据提取并加载到数据目标。
Syncsort公司
SyncSort云解决方案可访问和整合来自各种来源的数据,并有助于将数据移至云存储库。
现有ETL工具的局限性
现有工具最大的局限性在于它们被设计为批量工作:收集一些数据,上传数据,收集更多数据,上传数据等。批量加载数据在某些情况下起作用; 但是,仅使用批次方法存在问题。
批处理数据转换工具对于跨平台数据源很难实现,特别是在涉及变更数据捕获(CDC)的情况下。当批量数据上传出现问题时,您需要跟踪问题,排除故障并快速重新提交作业。这种错误处理是至关重要的,因为如果数据仓库中的数据超过了24小时API调用的分配数量,或者传入的数据得到备份以及CDC信息的情况下丢失的数据可能是一个巨大的问题丢失或被覆盖。
那么越来越多的数据流和其他类型的数据源呢?它们不太适合设计和建立在批处理过程中的工具集,尤其是在今天需要尽快提供最新数据的情况下。
现代ETL工具概述
现代的ETL工具套件是以实时流数据处理和云计算为基础构建的。这些最新的条目诞生了,能够与先进的云数据仓库良好集成,并支持日益增多的数据源和数据流。
今天的趋势继续指向云,而将IT和ETL移到云只是有道理的。基于云的ETL服务是自然而然的下一步。他们支持与他们的前辈相同的批处理模型,但他们正在将ETL带到下一个阶段,通常提供对实时数据,智能模式检测等的支持。
对ETL过程的现代要求使批处理方法几乎过时。随着公司及其客户要求最新的数据,每晚的财务或库存更新的日子一去不复返了。跟上不断增长的数据流列表的公司需要实时ETL处理。
随着对实时数据访问的需求的出现,体系结构发生了根本性的变化。今天的模型基于流处理和分布式消息队列,如Kafka。像Alooma和其他公司的现代方法将这些新技术结合起来,提供SaaS平台和内部解决方案。作为流的一部分,现代ETL平台提供不同级别的转换,从几乎没有转换(相反,转换发生在数据仓库中,加载后,AKA ELT)到通过代码(Python,Java等)完全控制。
最后一块难题是数据完整性。如果部分流程滞后或失败会发生什么?通过管道传输的数据会发生什么?任何真正现代化的ETL平台都需要内置强大的安全网络来进行错误处理和报告。
流行的现代ETL平台和工具
这里列出了最常见的现代ETL平台和工具。
Alooma
Alooma是为云构建的企业数据管道平台。Alooma为数据团队提供了一个现代的,可扩展的基于云的ETL解决方案,可以实时将来自任何数据源的数据汇集到任何数据仓库中。
错误处理:处理,监控/报告,重新定义转换:支持Python转换的ETL
Confluent
Confluent是一个基于Apache Kafka的全面数据流平台,能够在数据流中发布和订阅以及存储和处理数据。Confluent提供了其平台的开源版本。
错误处理:仅监控转换:ETL,Kafka Streams API
Fivetran
Fivetran是一款SaaS数据集成工具,可从不同的云服务,数据库和商业智能(BI)工具中提取数据,并将其加载到数据仓库中。
错误处理:仅监控转型:ELT,有限
FlyData
FlyData是一款SaaS数据迁移工具,可用于管理MySQL,PostgreSQL,MariaDB,Percona中的数据加载过程,并以CSV / TSV / JSON格式记录到Amazon Redshift数据仓库。
错误处理:是,缓冲转型:ELT,有限
Matillion
Matillion提供专门为Amazon Redshift,Google BigQuery和Snowflake构建的云数据集成ETL工具。
错误处理:通过代码支持,不是内置的转换:ETL,图形化构建器
SnapLogic
SnapLogic提供数据集成平台即服务工具,用于连接云数据源,SaaS应用程序和本地商业软件应用程序。
错误处理:支持,但不是内置转换:ETL,图形化构建器
Stitch Data
Stitch是一款云端优先开发者专用工具,用于快速移动数据。
错误处理:手动,记录记录在拒绝表中转型:准ETL,有限
StreamSets
StreamSets是云本地产品集合,用于控制数据漂移; 数据,数据源,数据基础设施和数据处理方面的变化问题。
错误处理:是(错误记录处理)转换:ETL,代码和GUI
Striim
Striim(发音为“stream”)是一个实时的流媒体分析和数据集成平台。
错误处理:仅监控转换:ETL,内置和Java功能
Wrapping Up
当今对高级数据分析的需求需要现代的数据集成方法。无论您是希望整合来自数据库,流媒体服务,文件还是其他来源的数据,选择合适的工具集都至关重要。一个内置于云中的现代化平台可以为您的企业提供所需的优势。
欢迎关注技术公众号:架构师成长营