千家信息网

ETL的发展历程是什么

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,ETL的发展历程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ETL是什么?ETL是Extract(提取)、Tra
千家信息网最后更新 2025年12月03日ETL的发展历程是什么

ETL的发展历程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

ETL是什么?
ETL是Extract(提取)、Transformation(转换)和Load(加载)的首字母缩写。简而言之,ETL就是在两个位置之间拷贝数据。
  • Extract(提取):从不同类型的数据源(包括数据库)读取数据。

  • Transform(转换):将提取的数据转换成特定的格式。转换还包括使用系统中其他数据来丰富数据内容。

  • Load(加载):将数据写入到目标数据库、数据仓库或者另一个系统中。

根据基础设施的不同,ETL可以划分为两大类。


传统ETL

以前,数据通常都保存在操作系统、文件和数据仓库中。每天,数据都要在这些位置之间移动多次。ETL工具和脚本都是现写现用。

传统ETL的工作流

这个架构非常难以管理,而且非常复杂。下面是传统ETL架构的一些缺点:
  • 数据库、文件和数据仓库之间的处理以批次进行。

  • 目前,大多数公司都需要分析并操作实时数据。但是,传统的工具不适合分析日志、传感器数据、测量数据等。

  • 非常大的领域数据模型需要全局的结构。

  • 传统ETL处理非常慢、非常耗时,而且需要大量资源。

  • 传统架构仅关注已有的技术。因此,每次引入新的技术,应用程序和工具都要重新编写。

随着时间一天天过去,大数据改变了处理的顺序。数据先提取并加载到一个仓库中,并以原始格式保存。每当数据分析师或其他系统需要数据时再进行转换。这个过程叫做ELT。不过这个过程最适合在数据仓库中进行处理。如Oracle Data Integration Platform Cloud等系统提供了该功能。


ETL的现状

与十年前相比,当今世界的数据和处理状况已经发生了巨大的变化。使用传统ETL过程处理现代数据已经力不从心。部分原因如下:
  • 现代数据处理通常包括实时数据的处理,而且组织也需要对处理过程的实时洞察。

  • 系统需要在数据流上执行ETL,不能使用批处理,而且应该能够自动伸缩以处理更高的数据流量。

  • 一些单服务器的数据库已经被分布式数据平台(如Cassandra、MongoDB、Elasticsearch、SAAS应用程序等)、消息传递机制(Kafka、ActiveMQ等)和几种其他类型的端点代替。

  • 系统应该能够以可管理的方式加入额外的数据源或目的地。
  • 应当避免由于"现写现用"的架构导致的重复数据处理。

  • 改变数据捕获技术的方式,从要求传统ETL与之集成,变成支持传统操作。

  • 数据源多样化,而且需要考虑新需求的可维护性。
  • 源和目标端点应该与业务逻辑解耦合。使用数据映射层,将新的源和端点无缝地衔接,而且不影响数据转换过程。

数据映射层

  • 接收到的数据应当在转换(或执行业务规则)之前进行标准化。

  • 数据应该在转换之后、发布到端点之前转换成特定的格式。

  • 数据清理并不是现代世界中唯一的数据转换过程。数据转换还需要满足组织的许多业务需求。

  • 目前的数据处理通常包含过滤、连接、聚合、序列、模式和丰富化,以执行复杂的业务逻辑。

数据处理过程

拯救世界的流式ETL

新的数据需求是驱动组织前进的动力。许多组织中的绝大多数传统系统依然能够运行,这些系统使用的都是数据库和文件系统。这些组织也在尝试新的系统和新技术。这些技术能够处理大数据和增长和更快的数据速率(如每秒上万条记录),如Kafka、ActiveMQ等。
使用流式ETL继承架构,组织不需要计划、设计并实现一个复杂的架构,就能填补传统系统和现代系统之间的空白。流式ETL架构师可伸缩的、可管理的,还能处理大容量、结构多样的实时数据。
将数据提取和加载从数据转换中解耦合,就构成了源-目的地模型,该模型可以让系统与未来的新技术向前兼容。这个功能可以通过许多系统实现,如Apache Kafka(配合KSQL)、Talend、Hazelcast、Striim和WS02 Streaming Integrator(配合Siddhi IO)。

现代ETL功能

如上所述,传统系统通常将所有数据都放到数据库和文件系统中,以便进行批处理。这个场景说明了为何传统的事件源(如文件、改变数据捕获(Change Data Capture,简称CDC))要与新的流式集成平台集成。
我们来考虑一个工厂中的实际应用场景,它有以下功能。
传统系统:
  • 将所有生产数据放到文件系统和数据库中,数据的格式各异。

  • 每小时或每天对数据进行处理。

  • 处理来自CDC的事件。

  • 处理新系统通过HTTP收到的以事件为中心的数据。

  • 将处理过的事件发送到多个目的地。

  • 监视当前的库存,在需要新库存的时候发送通知。

  • 使用库存数量查看分析结果。

传统的ETL工具:

  • 下述处理的ETL逻辑是重复的:

  • 对于每个结构不同的文件和数据库。

  • 当目标或源端点的数量增加时。

  • 重复的业务逻辑很难管理和伸缩。

  • 分析和监视所需的数据计算是重复的。

流式平台架构如何解决现代ETL问题:

现代流式平台的工作流

  • 源(例如文件、CDC、HTTP)和目标端点(如Kafka、Elasticsearch、Email)从处理过程中解耦合:

  • 目标、源和存储API连接到多个数据源。

  • 即使源和目标中的数据结构不同,数据映射(如data mapper)层和流SQL(如Query1)也会把从多个源接收到的事件转换成通用的源定义(如Stream1),以便以后进行处理。

  • 流平台架构可以连接传统类型的数据源(如文件和CDC),和广泛应用的现代数据源(如HTTP)。

  • 传统系统和现代系统生成的事件都用同一个工作流进行接收和分析。

  • 聚合(如Aggregation1)按照每分钟、每小时等频率针对需要的属性进行计算。

  • 数据随时按需进行汇总,不需要对整个数据集进行处理和汇总。应用程序和可视化、监视工具可以通过提供的API访问汇总后的数据。

  • 可以无缝地添加并改变一个或多个业务逻辑(如BusinessRule1)。

  • 可以添加任何逻辑,而无需改变已有组件。如上例中,根据BusinessRule1,当紧急程度升高时,就会触发一条Email消息。

通过上述架构,我们可以看到为了ETL数据处理,流式平台与传统系统集成,如文件、CDC与使用Kafka和HTTP的现代系统的结合。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

数据 系统 处理 传统 文件 架构 数据库 过程 业务 事件 平台 数据源 目标 端点 逻辑 分析 仓库 工具 数据处理 应用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发北方大专 11g去连接12G的数据库 西门子服务器报表数据异常 河南服务器防火墙报价 网络安全保障包括的要素有 数据库创建表注释怎么看 为什么很多服务器都用linux 图书馆微数据库设计 中国网络技术有限公司做什么的 海康视频图像信息数据库平台 西安软件开发怎么样 惠州服务软件开发服务费 西安电子科技网络安全大赛 软件开发甲方配合措施 数据库到处的文件格式 宁波招聘网络安全实习生 金融行业看网络安全法 软件开发服务缴纳税费 什么是服务器名称 川内大学网络安全技能 云数据库 价格 vbnet与数据库接口 中国的时间同步服务器地址 阿里云最新版本数据库 手机我的世界无政府服务器 西安软件开发怎么样 电商系统软件开发哪家靠谱 多多直播显示服务器开小差 甘肃网络软件开发定制大概价格 计算机网络技术专业搜题软件
0