前瞻性技术通常具有创新性,并受到早期采用者的欢迎,从而提供一定的商业价值。
说到数据集成,有人可能会质疑这有什么好讨论的——这不就是简单的 ETL 吗?从各种数据库中提取数据,进行转换,最后加载到不同的数据仓库中。
随着大数据、数据湖、实时数仓、大规模模型等的兴起,数据集成架构从数据仓库时代的ETL,发展到大数据时代的ELT,再到目前的EtLT阶段。
无论你是大数据工程师还是数据领域的专业人士,基于数据集成领域的近期技术变化和未来趋势都至关重要。
ETL 架构
大多数数据领域的专家都熟悉 ETL
一词。在数据仓库的鼎盛时期,IBM DataStage、Informatica、Talend 和 Kettle 等 ETL 工具被广泛使用。
许多公司仍然依赖这些工具从各种数据库中提取数据、进行转换并将其加载到不同的数据仓库中进行报告和分析。
ETL 架构的优点和缺点如下:
ETL架构的优点
-
确保数据的一致性和质量
-
整合复杂数据源
-
提供清晰的技术架构
-
促进业务规则的实施
ETL 架构的缺点
-
没有实时处理
-
硬件成本高
-
灵活性有限
-
维护费用昂贵
-
对非结构化数据处理不当
ELT 架构
在大数据时代,ETL 在处理复杂数据源方面的局限性以及较差的实时性导致了 ETL 架构的变体 ELT 的出现。
企业开始采用来自各种数据仓库供应商的 ELT 工具,例如 Teradata 的 BETQ/Fastload/TPT 和 Hadoop Hive 的 Apache Sqoop。
ELT 架构的特点是直接将数据加载到数据仓库或大数据平台中,而无需进行复杂的转换,然后使用 SQL 或 H-SQL 来处理数据。
ELT架构的优缺点如下:
ELT 架构的优势
-
高效处理大量数据
-
提高开发和运营效率
-
成本效益
-
灵活性和可扩展性
-
与新技术的无缝集成
ELT 架构的缺点
-
有限的实时处理支持
-
数据存储成本高
-
潜在的数据质量问题
-
依赖于目标系统功能
EtLT 架构
随着数据湖和实时数据仓库的兴起,ELT 架构在实时处理和处理非结构化数据方面的局限性变得显而易见。
这导致了新架构 EtLT 的开发。
EtLT 通过整合来自 SaaS、Binlog 和云组件等来源的实时数据提取,以及在将数据加载到目标存储之前执行小规模转换来增强 ELT。
这种演变刺激了全球专业公司的成长,包括 StreamSets、Attunity(被 Qlik 收购)、Fivetran、WhaleStudio 和 Apache 基金会的 SeaTunnel。
以下是EtLT架构的优点和缺点:
EtLT架构的优点
-
实时数据处理能力
-
支持复杂数据源
-
降低成本的好处
-
增强灵活性和可扩展性
-
优化性能
-
改善数据质量和治理
EtLT架构的缺点
-
技术复杂性增加
-
依赖于目标系统功能
-
管理和监控方面的挑战
-
复杂数据变更管理
-
依赖特定工具和平台
近年来,随着数据、实时数据仓库和大规模模型的增长,EtLT 架构逐渐成为数据集成领域的标准。
在这个总体趋势中,有四个不同的方向
-
随着 ETL 向 EtLT 转型,数据集成的重点已从传统批处理转向实时数据捕获和混合批流集成。重点已从单数据库批处理场景转移到跨混合云和 SaaS 环境集成多个数据源。
-
数据复杂性转换已经超越了传统的 ETL 工具,能够处理数据仓库中的复杂转换。在实时数据集成过程中,管理自动模式变更(模式演进)的能力也在不断增强,包括在 DDL(字段定义)修改过程中适应轻量级转换。
-
数据源类型支持从文件和传统数据库扩展到新兴数据源、开源大数据生态、非结构化数据系统、云数据库等。这些场景在企业中越来越常见,实时数据仓库、数据湖、云环境和大规模模型在不同的用例中发挥着关键作用。
-
核心能力和性能指标(例如数据源多样性、准确性和故障排除的简易性)对大多数企业而言至关重要。相反,高吞吐量和实时性能等能力则较少受到关注。
离线数据同步
数据集成的这一基本要求对于每个企业都至关重要,但其性能在不同的架构中有所不同。通常,ETL 架构工具的性能低于 ELT 和 EtLT 工具,尤其是在处理大规模数据时。
实时数据同步随着实时数据仓库和数据湖的普及,实时数据同步已成为每个企业数据集成策略中的一个重要考虑因素。越来越多的公司正在采用实时同步解决方案。
批处理流式集成
现代数据集成引擎专为无缝集成批处理和流式工作流程而设计,可提供针对不同企业需求而定制的增强同步方法。
相比之下,传统引擎通常优先考虑实时或离线场景,这通常会导致批量数据同步性能不佳。批处理和流式集成的统一方法在需要高效数据初始化和混合批处理流式环境的场景中表现出色。
云原生
国际数据集成工具以激进的策略引领该领域,采用按量付费的计费模式,使企业能够快速获取和释放每个任务的响应式计算资源,构成核心竞争力和利润来源。
数据类型和常见用例
- 文件收集
作为每个集成工具的基础,该功能现已超越标准文本文件,包括 Parquet 和 ORC 等格式,反映了数据收集标准不断发展。
-
大数据收集
随着 Snowflake、Redshift、Hudi、Iceberg、ClickHouse、Doris 和 StarRocks 等新数据源的兴起,传统数据集成工具越来越落后。中国和美国的用户都在同样采用大数据技术,促使供应商转向并支持这些新兴数据平台。
-
Binlog 采集
在中国,Binlog 采集已经成为一个新兴行业,在信息化过程中逐渐取代了 DataStage、Informatica 等传统工具。但 Oracle、DB2 等数据库的转型速度较慢,因此海外出现了专门的 Binlog 数据采集公司,以应对 CDC 挑战。
-
数字化数据收集
快速数字化催生了众多国内数据库。调整这些数据库以进行批量和实时收集对供应商提出了重大挑战。
-
分片
许多大型企业广泛采用分片技术来减轻数据库负载。因此,支持分片已成为专业数据集成工具的基本要求。
-
消息队列
随着数据湖和实时数据仓库的激增,实时技术正在经历显着增长。消息队列作为企业实时数据交换的重要组成部分,现已成为先进企业的必备选择。数据集成工具支持多种基于内存和磁盘的消息队列类型的能力已成为需求的关键功能。
-
非结构化数据
企业越来越依赖 MongoDB 和 Elasticsearch 等非关系数据源。数据集成工具已适应支持这些类型的数据源。
-
SaaS 集成
虽然在海外广受欢迎,但在中国尚未获得显著的发展。
-
统一数据调度
将数据集成与调度系统结合起来,特别是通过调度系统协调实时数据以便进行后续的数据仓库任务,对于建立实时数据仓库至关重要。
-
实时数据仓库/数据湖:
这些是目前企业最青睐的场景之一。实现实时数据进入仓库/数据湖可充分利用下一代数据基础设施的优势。
-
数据灾备
随着数据集成能力(包括实时能力和 CDC 支持)的提升,传统灾备领域的集成也开始出现。
然而,由于灾备和集成场景在细节上存在很大差异,进入彼此领域的供应商可能会遇到功能上的差距,需要随着时间的推移不断迭代改进。
操作和监控
在数据集成中,运维与监控是至关重要的功能,高效的运维与监控对于减少系统运维与开发人员在处理数据问题时的工作量具有至关重要的作用。
流量控制
现代数据集成工具通过各种方法管理流量,包括任务并行、单任务 JDBC 并行以及控制从单个 JDBC 源读取的数据量。这可确保对源系统的干扰最小。
任务和表级指标
任务和表级别的统计数据对于指导整个数据集成过程的操作和维护人员至关重要。
增量试运行
随着对实时数据、SaaS 和轻量级转换的支持,直接执行复杂的数据流变得更具挑战性。因此,先进的公司已经实施了增量试运行功能,以有效地简化开发和运营。
表变化事件捕获
这一实时数据处理领域的新兴功能,让用户能够在源系统内的表发生变化时以预定义的方式触发操作或警报,从而增强实时数据操作的稳定性。
批流集成调度
实时 CDC 和流处理之后,与传统批量数据仓库任务的集成变得必不可少。然而,在不中断数据流操作的情况下确保批量数据的准确启动仍然是一项重大挑战,凸显了集成和批流调度的相互关联性。
智能诊断、调优和资源优化
在集群和云原生环境中,优化资源利用率和提供准确的问题解决方案是领先数据集成公司关注的关键问题。
然而,在这个领域开发可用于生产的智能应用程序可能需要大量的时间和精力。
主要功能
虽然数据集成包含许多基本功能,但以下几点至关重要。缺乏这些功能可能会对企业运营产生深远影响。
完整/增量同步
完整和增量同步已成为每个数据集成工具的必备功能。从完整模式到增量模式的自动转换在中小型供应商中仍然不常见,通常需要用户手动切换。
变更数据捕获 (CDC)
随着企业对实时数据的需求不断增长,CDC 已成为数据集成中的关键竞争优势。支持跨多个数据源的 CDC 并有效管理其需求和对源数据库的影响的能力通常决定了数据集成工具的核心竞争力。
数据源多样性
支持多种数据源的能力加剧了数据集成工具之间的竞争。为用户现有的系统数据源提供更好的支持通常会在商业竞争中获得战略优势。
检查点恢复
实时和批量数据集成以支持检查点恢复的能力对于许多场景中快速从错误中恢复以及在特殊情况下促进恢复至关重要。但是,目前只有有限的工具支持此功能。
并发性和速度限制
在数据集成中,工具必须处理高并发性以获得最佳速度,并在操作较慢时有效减轻对源系统的影响。此功能已成为现代集成工具的必备功能。
多表同步和全库迁移
该功能不仅包括用户友好的选择界面,还包括在引擎级别重用 JDBC 连接或现有集成任务的能力。这种方法优化了资源利用率并加速了数据集成过程。
性能优化
除了核心功能之外,性能通常还决定着用户是否需要额外的资源,以及与数据集成工具相关的硬件和云成本是否可控。
然而,目前认为实现极致性能不那么重要,通常排在界面支持和核心功能之后,作为第三考虑因素。
-
时效性
分钟级集成已不再重要,秒级集成越来越受追捧,但毫秒级集成场景仍然比较少见,主要见于专业的容灾场景。
-
数据规模
目前场景下数据集成一般在TB级别,PB级别集成多由互联网巨头开源工具处理,EB级别集成预计短期内不会出现。
-
高吞吐量
实现高吞吐量很大程度上取决于集成工具能否有效利用网络和 CPU 资源以接近理论数据集成极限。在这方面,基于 ELT 和 EtLT 架构的工具比传统 ETL 工具具有明显的优势。
-
分布式集成
在大规模数据集成中,动态容错的重要性超过了动态扩展和云原生功能。自动承受硬件和网络故障的能力对于管理广泛的数据集成任务至关重要。可扩展性和云原生功能是在此背景下衍生的要求。
-
准确性
确保数据集成中的数据一致性是一项多方面的挑战。除了采用多种技术进行“精确一次”处理和 CRC 验证外,第三方数据质量检查工具对于稳健验证至关重要,而不仅仅依靠自我认证。因此,数据集成工具经常与数据调度工具协作以确保和验证数据的准确性。
-
稳定性
实现稳定性涉及几个关键功能。它包括确保可用性、任务隔离、数据隔离、权限和加密控制方面的单个任务的可靠性。至关重要的是,一个任务或部门的问题不会影响其他任务或部门。
-
技术生态
顶级的数据集成工具拥有完善的生态,可以实现多数据源同步,与上下游调度、监控系统无缝对接。此外,工具的易用性也是影响企业人员成本的重要指标。
趋势
未来几年,EtLT架构的广泛采用将为新的数据集成场景铺平道路。
-
多云集成
这一趋势在全球普遍存在,大多数数据集成都具有跨云集成功能。然而,在云采用仍然有限的中国,这方面仍处于早期孵化阶段。
-
ETL 集成
随着传统 ETL 周期的缩短,许多企业正在从 Kettle、Informatica 和 Talend 等工具过渡到新兴的 EtLT 架构。这些架构支持批流集成数据集成,并可容纳各种新兴数据源。
-
ELT
目前主流大数据架构大多依赖ELT,随着实时数据仓库、数据湖的兴起,ELT工具也向EtLT架构演进,以增强对实时数据的支持。
-
EtLT
全球范围内,JPMorgan、Shein、Shoppe等企业都在拥抱EtLT架构。越来越多的企业将内部数据集成工具融入EtLT架构,并搭配批流一体化调度系统,满足DataOps相关需求。
-
自动化治理
随着数据源和实时数据需求的激增,传统治理流程难以满足实时分析的及时性要求。自动化治理解决方案有望在未来几年在企业中得到广泛应用。
-
ZeroETL
亚马逊提出了 ZeroETL 的概念,主张各种引擎直接访问存储在 S3 上的数据,而无需中间 ETL 过程。
虽然对于不太复杂且数据量较小的数据场景而言是可行的,但有限的场景支持和性能挑战可能会阻碍更广泛的采用。
从大趋势来看,全球数据的指数级增长,加上大规模模型的出现和各种应用的数据引擎的多样化,使得实时数据集成成为数据格局的最前沿。
如果说数据是新能源,那么数据集成就是至关重要的管道,数据引擎的普及,意味着对管道效率、数据源兼容性、可用性的要求越来越高。
本文由 白鲸开源 提供发布支持!