一、ETL含义
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
二、ETL工具
离线: sqoop、DataX、Kettle
实时:StreamSets
三、数据同步方式
数据同步方式分为:直连同步、数据文件同步、日志解析
1**. 直连同步:**是指通过定义好的规范接口API和基于动态链接库的方式直接连接业务库,比如ODBC/JDBC等规定了统一的标准接口,不同的数据库基于这套标准提供规范的驱动,从而支持完全相同的函数调用和SQL实现。
注:数据库直连抽取比较适用于小批量表的数据抽取,对于大批量的数据而言,性能会比较差。
2.数据文件同步:数据文件同步通过约定后的文件编码、大小、格式等,直接从源系统生成数据的文本文件,由专门的文件服务器,如FTP服务器传输到目标系统后,加载到目标数据库系统中。
3.日志解析同步:通过解析日志文件获取发生变更的数据。比如MySQL的Binlog日志,Oracle的归档日志文件。这种读操作是在操作系统层面完成的,不需要通过数据库,因此不会给源数据库带来性能上的瓶颈。
四、数据漂移
同一业务日期下的数据包含了不属于该业务日期的数据(上一天数据漂移到当天,或者当天数据漂移到下一天)或者缺失了该业务日期数据或该业务日期下的数据非最新,这时候我们可能需要通过冗余数据来解决增量同步下传的问题。
版权归原作者 阿齐(努力打工版) 所有, 如有侵权,请联系我们删除。