OLTP OLAP ETL联系
ref:https://www.cloudoptimo.com/blog/how-oltp-olap-and-etl-drive-modern-cloud-data-management/

OLTP(联机事务处理)
目的: 主要用于处理日常的、实时的业务操作和事务。
工作方式: 专注于高效地执行高并发的增、删、改、查操作。它要求数据操作具有原子性、一致性、隔离性和持久性(ACID)。
应用场景:
- 电商网站的下单、支付、订单查询。
- 银行的转账、取款、账户余额查询。
- 社交媒体发布动态、点赞、评论。
数据库特点:
- 面向行存储,因为每次事务只涉及少量行的数据。
- 通常使用关系型数据库,如 MySQL、PostgreSQL、Oracle。
你可以把 OLTP 理解为:超市的收银系统,它需要快速、准确地完成每一笔交易。
OLAP(联机分析处理)
目的: 主要用于数据分析和决策支持。
工作方式: 专注于对海量的历史数据进行复杂的聚合、统计和查询。它不关心单条数据的增删改,而是通过多维度的分析来发现数据背后的规律和趋势。
应用场景:
- 市场经理分析不同地区、不同时间段的商品销售额。
- 管理层查看公司的季度利润报表。
- 数据分析师对用户行为进行深度挖掘。
数据库特点:
- 通常采用列式存储,因为分析查询通常只涉及少数几个列,这种存储方式能极大提高查询效率。
- 通常使用分析型数据库或数据仓库,如 ClickHouse、Apache Doris、Hive。
你可以把 OLAP 理解为:超市的总部管理系统,它用来分析所有门店、所有商品的销售数据,以决定未来的采购和营销策略。
ETL(提取、转换、加载)
目的: 连接 OLTP 和 OLAP 的桥梁,用于将数据从一个或多个数据源移动到数据仓库。
工作方式:
- 提取(Extract):从源数据库(通常是 OLTP 数据库)中读取数据。
- 转换(Transform):对提取的数据进行清洗、去重、格式化、聚合和计算等处理,使其符合数据仓库的模式。这是 ETL 最核心、最耗时的一步。
- 加载(Load):将转换后的数据加载到目标数据库(通常是数据仓库或分析型数据库)。
应用场景:
- 每天晚上将所有门店的收银数据从 OLTP 数据库同步到数据仓库中,以便第二天进行分析。
- 将散落在不同系统中的用户数据,整合成一个统一的用户画像,加载到数据仓库。
你可以把 ETL 理解为:超市总部的物流和库存管理团队,他们负责将所有门店的销售小票(原始数据)收集起来,整理成清晰的报表(转换),然后存放到总部的档案室(加载),供领导随时查阅。
它们之间的联系
OLTP、OLAP 和 ETL 构成了一个完整的数据处理流程:
- 数据产生:业务运营中的各种数据通过 OLTP 系统产生和记录。
- 数据流通:ETL 工具负责将 OLTP 系统中的原始数据,经过清洗和转换,定期或实时地传输到数据仓库。
- 数据消费:数据分析师和业务用户使用 OLAP 工具,在数据仓库上进行多维分析,为商业决策提供支持。
它们是不同职能的协作关系:OLTP 负责生产数据,ETL 负责处理和搬运数据,而 OLAP 则负责利用数据创造价值。

浙公网安备 33010602011771号