帮助您进行高级数据分析的各种ETL工具的比较有意义,并且更适用于其他数据系统。通常,在面对自写代码、自建系统所带来的成本和复杂性时,企业会直接选择购买ETL工具。第一种方案:可以根据自己的情况选择各种开源的ETL工具(请参考https://www.alooma.com/blog/open-source-etl-tools-comparison)自己搭建。但是,您经常会发现您需要更多的功能、灵活性和技术支持。选项2:与现有供应商合作,选择适合当前数据源和数据流的解决方案。这里所说的现有供应商,一般都是一些大品牌的厂商。第三种选择:最新的ETL平台。这些通常是基于云的解决方案,为从现有数据源到基于云的数据仓库的各种数据提供端到端的ETL支持。它们也是为不断增长的基于Web的大数据流量而构建的。本文将深入分析现有各种ETL工具的优缺点,并快速概述各种最新的ETL平台。现有ETL工具概述现有ETL工具通常由业内知名公司(Microsoft、IBM等)设计,因此其预装客户群比较大。这些工具一般由一组工具组成,可以针对特定问题进行定制。由于许多公司将其数据存储在传统的单体数据库和系统中,因此这些工具的制造商提供了用于数据迁移的工具并支持现有的批处理方法。以下并非常见ETL工具的完整列表,但涵盖了主要工具产品。1.IBMInfoSphereInformationServer作为一个ETL工具,IBMInfoSphereInformationServer是IBMInformationPlatformsSolutions套件和IBMInfoSphere的一部分。它使用图形符号来构建数据集成解决方案,并提供各种版本(包括服务器、企业和MVS)。2.InformaticaPowerCenterInformaticaPowerCenter是ETL产品套件的总称,包括PowerCenter客户端工具、服务器和存储数据库。该软件将数据存储在存储库中,以便客户端工具和服务器可以访问它。各种操作一般都在服务器上进行,服务器分别连接到源系统和目标系统获取数据,再经过各种转换,最终将数据加载到目标系统中。3、iWay软件InformationBuilders的iWay集成套件具有集成应用程序和数据的功能。客户可以使用它们来管理结构化和非结构化信息。该套件包括iWayDataMigrator、iWayServiceManager和iWayUniversalAdapterFramework。4.MicrosoftSQLServerIntegrationServicesMicrosoftSQLServerIntegrationServices(SSIS)是一个高性能的数据集成解决方案平台,包括用于数据仓库的各种ETL包。5.OpenTextOpenTextIntegrationCenter是一个具有集成能力的平台,各种企业可以通过它提取、增强、转换、集成数据,并将数据内容从一个或多个存储库迁移到任何新的目标。6、OracleGoldenGateOracleGoldenGate是一个比较全面的软件包,可以在异构IT环境下实现实时数据集成和复制。7.Pervasive软件Pervasive的数据集成平台是一个企业级的数据集成软件解决方案,可以帮助企业在任何类型的数据源和应用程序之间建立连接。同时,它还可以支持各种实时集成场景。8.PitneyBowes软件PitneyBowes可以提供大量的数据集成工具和解决方案。其SagentDataFlow是一个灵活的集成引擎,可以从不同来源收集数据,并提供一套全面的数据转换工具,以提升其核心业务价值。9.SAPBusinessObjectsDataServicesSAPBusinessObjectsDataServices(BODS),原名BusinessObjectsDataIntegrator,是一个ETL工具,可用于数据集成、质量控制、分析和处理。它可以帮助您将可信的数据整合并转化到各种数据仓库系统中,生成分析报告。10.SAS数据管理SAS数据管理建立在SAS平台之上,是SAS进军ETL市场的工具。该平台由一大套(超过20种)SAS工具和服务组成。11.SunJavaCompositeApplicationPlatformSuiteSun的ETL和数据集成工具是大型JavaCompositeApplicationPlatformSuite(CAPS)的一部分。是Oracle公司的标准化企业服务整体套件(EnterpriseServiceBussoftwaresuite)。JavaCAPS的组件可以在面向服务的体系结构环境中集成现有的应用程序并提供新的业务服务。12.SYBASESybaseETL包括SybaseETLDevelopment和SybaseETLServer。SybaseETLDevelopment是一个用于创建和设计数据转换项目和作业的GUI工具。该工具提供了一个完整的模拟和调试环境,旨在加速ETL转换过程的开发。SybaseETLDevelopment包含一个ETL开发服务器,用于控制实际处理流程,可以连接各种数据库,执行相关流程。SybaseETLServer是一个可扩展的分布式网格引擎,它使用转换流(由SybaseETLDevelopment设计)连接到各种数据源,提取数据,然后将数据加载到目标上。13.SyncsortSyncSort的云解决方案可以访问和整合各种来源的数据,从而将数据迁移到各种云端的存储数据库中。现有ETL工具的局限性现有工具的最大局限性在于它们被设计为“批量工作”,即:收集数据、上传数据、收集更多数据并上传。这种批量加载数据在某些情况下是可行的,但个别方法存在一些问题。数据批处理和转换工具很难实现跨平台的数据源采集,尤其是涉及到变更数据捕获(CDC,ChangeDataCapture)。当上传批量数据出现问题时,您需要尽快跟踪问题、排查问题并重新提交作业。而这种批处理方式是非常致命的,因为如果API调用分配的数据仓库中有超过24小时的数据;或者传入的数据需要同时备份,那么这些CDC信息可能会丢失。或者被覆盖,造成巨大的问题。当面对越来越多的数据流和其他类型的数据源时,尤其是需要尽快提供最新数据时,这些批处理工具集就更不适合了。最新ETL工具概述最新的ETL工具套件建立在实时交通数据处理和云计算的基础上。它们与先进的云数据仓库很好地集成,能够支持不断增长的数据源和数据流。今天的趋势是:基于云的ETL服务。它们通常为实时数据、智能模式检测等提供支持。随着实时数据访问需求的出现,Kafka等最新模型可以实现基于数据流的处理和分布式消息队列。以Alooma为代表的企业通过新技术提供基于SaaS的平台和本地解决方案。面对数据流,最新的ETL平台可以在加载的数据仓库内部进行不同层次的转换,通过Python、Java等代码实现完全控制。至于数据完整性,最新的ETL平台能够通过强大的内置安全网络处理和报告各种错误。最新常见的ETL平台和工具如下:1.AloomaAlooma是一个为云服务打造的企业级数据管道(datapipeline)平台。Alooma提供了一种现代的、可扩展的、基于云的ETL解决方案,可将来自任何来源的数据实时汇集到任何数据仓库中。错误处理:处理、监控/报告、整改(restreaming)转换:支持Python转换的ETL2.ConfluentConfluent是一个基于ApacheKafka的综合数据流平台。它可以发布、订阅、存储和处理数据流中的数据。Confluent提供了其平台的开源版本。错误处理:仅监控Transformation:ETL,KafkaStreamsAPI3.FivetranFivetran是一个SaaS类型的数据集成工具。它可以从不同的云服务、数据库和商业智能(BI)工具中提取数据,并将其加载到数据仓库中。错误处理:MonitoringOnlyTransformation:LimitedELT4.FlyDataFlyData是一个SaaS类型的数据迁移工具。可用于管理MySQL、PostgreSQL、MariaDB、Percona的数据加载过程,并以CSV/TSV/JSON格式记录到Amazon的Redshift数据仓库中。错误处理:缓冲处理转换:有限ELT5.MatillionMatillion可以提供云数据集成。它是为AmazonRedshift、GoogleBigQuery和Snowflake构建的ETL工具。错误处理:仅代码支持,不内置转换:图形化构建的ETL6.SnapLogicSnapLogic提供数据集成平台即服务(dataintegrationplatform-as-a-service)的工具,可用于连接各种云数据源、SaaS应用程序和本地业务软件应用程序。错误处理:受支持,但不是内置的转换:以图形方式构建的ETL7.StitchDataStitch是一种云优先、开发人员特定的工具,用于快速移动数据。错误处理:手动,记录在拒绝表中转换:有限的准ETL8.StreamSetsStreamSets是云原生产品的集合,可用于控制数据漂移,以及与数据、数据源、数据基础设施、变更与数据处理有关。错误处理:Handlingwitherrorrecords转型:ETL9.StriimStriim(发音为“stream”)是一个实时流分析和数据集成平台,用于代码类和GUI。错误处理:仅监控转换:ETLwithBuilt-inandJavaCapabilities原标题:2018ETLToolsComparisonbyGarrettAlley
