未来的ETL是什么样子?(一)

一、背景

ETL:抽取-转换-加载(extract-transform-load)是构建数据仓库的重要一环,用户从数据源抽取出所需要的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中。目前ETL主要采取离线处理,来自各种操作型数据库的数据会议批处理的方式加载到数据仓库中,批处理的周期一般为每天一次。但是,最近几年,数据发展趋势发生了巨大的变化:

  • 单服务器的数据库正在被各种分布式数据平台取代,这种平台是公司级的通用平台

  • 数据量的急剧增加,每日产生TB级的数据

  • 数据类型的增加,处理事务型数据之外,现在有了类型更多的数据源,如日志、传感器、指标数据等

  • 数据时效性需求增加,小时级、分钟级甚至秒级的ETL需求不断产生

  • 流数据理论、技术及实践的不断进步,在速度和承载量都要巨大的提升。

二、离线ETL的困境

在数据量较小或实时性要求较低的场景下,借助Hadoop等平台,离线ETL可以满足绝大部分的需求。但是随着数据需求的变化,离线ETL面临如下困境:

  • 时效性:数据在隔日才能完成生产

  • 资源及时间密集型:离线ETL一般在凌晨开始集中生产,需要大量资源;在完成生产后(一般在7点左右),资源大量闲置

  • 数据库压力:短时间、大批量从事务性数据库中抽取数据,会对数据库产生巨大的压力

  • 数据准确性:在数据抽取过程中的数据写入会造成数据的准确性问题

你可能感兴趣的:(未来的ETL是什么样子?(一))