ETL的发展历程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
ETL是Extract(提取)、Transformation(转换)和Load(加载)的首字母缩写。简而言之,ETL就是在两个位置之间拷贝数据。Extract(提取):从不同类型的数据源(包括数据库)读取数据。
Transform(转换):将提取的数据转换成特定的格式。转换还包括使用系统中其他数据来丰富数据内容。
Load(加载):将数据写入到目标数据库、数据仓库或者另一个系统中。
根据基础设施的不同,ETL可以划分为两大类。
以前,数据通常都保存在操作系统、文件和数据仓库中。每天,数据都要在这些位置之间移动多次。ETL工具和脚本都是现写现用。
传统ETL的工作流
这个架构非常难以管理,而且非常复杂。下面是传统ETL架构的一些缺点:数据库、文件和数据仓库之间的处理以批次进行。
目前,大多数公司都需要分析并操作实时数据。但是,传统的工具不适合分析日志、传感器数据、测量数据等。
非常大的领域数据模型需要全局的结构。
传统ETL处理非常慢、非常耗时,而且需要大量资源。
传统架构仅关注已有的技术。因此,每次引入新的技术,应用程序和工具都要重新编写。
随着时间一天天过去,大数据改变了处理的顺序。数据先提取并加载到一个仓库中,并以原始格式保存。每当数据分析师或其他系统需要数据时再进行转换。这个过程叫做ELT。不过这个过程最适合在数据仓库中进行处理。如Oracle Data Integration Platform Cloud等系统提供了该功能。
与十年前相比,当今世界的数据和处理状况已经发生了巨大的变化。使用传统ETL过程处理现代数据已经力不从心。部分原因如下:现代数据处理通常包括实时数据的处理,而且组织也需要对处理过程的实时洞察。
系统需要在数据流上执行ETL,不能使用批处理,而且应该能够自动伸缩以处理更高的数据流量。
一些单服务器的数据库已经被分布式数据平台(如Cassandra、MongoDB、Elasticsearch、SAAS应用程序等)、消息传递机制(Kafka、ActiveMQ等)和几种其他类型的端点代替。

数据映射层

数据处理过程

新的数据需求是驱动组织前进的动力。许多组织中的绝大多数传统系统依然能够运行,这些系统使用的都是数据库和文件系统。这些组织也在尝试新的系统和新技术。这些技术能够处理大数据和增长和更快的数据速率(如每秒上万条记录),如Kafka、ActiveMQ等。使用流式ETL继承架构,组织不需要计划、设计并实现一个复杂的架构,就能填补传统系统和现代系统之间的空白。流式ETL架构师可伸缩的、可管理的,还能处理大容量、结构多样的实时数据。将数据提取和加载从数据转换中解耦合,就构成了源-目的地模型,该模型可以让系统与未来的新技术向前兼容。这个功能可以通过许多系统实现,如Apache Kafka(配合KSQL)、Talend、Hazelcast、Striim和WS02 Streaming Integrator(配合Siddhi IO)。如上所述,传统系统通常将所有数据都放到数据库和文件系统中,以便进行批处理。这个场景说明了为何传统的事件源(如文件、改变数据捕获(Change Data Capture,简称CDC))要与新的流式集成平台集成。我们来考虑一个工厂中的实际应用场景,它有以下功能。传统的ETL工具:
对于每个结构不同的文件和数据库。
当目标或源端点的数量增加时。
重复的业务逻辑很难管理和伸缩。
分析和监视所需的数据计算是重复的。
流式平台架构如何解决现代ETL问题:

现代流式平台的工作流
通过上述架构,我们可以看到为了ETL数据处理,流式平台与传统系统集成,如文件、CDC与使用Kafka和HTTP的现代系统的结合。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。