olap和oltp类业务
OLAP(联机分析处理)
OLAP 面向分析型业务,主要用于复杂查询和数据挖掘,支持决策制定。
特点
- 处理历史数据,数据量大且随时间积累。
- 查询复杂,涉及多表关联、聚合计算(如 SUM、AVG)。
- 读多写少,通常批量导入数据(ETL)。
- 列式存储更常见(如 Parquet),适合压缩和快速扫描特定列。
典型场景
- 生成财务报表或销售趋势分析。
- 用户行为分析(如漏斗模型)。
- 数据仓库(如 Snowflake、Redshift、doris)。
技术选型
- 数据库:ClickHouse、Druid、Greenplum。
- 存储优化:列存储、分区、物化视图。
OLTP(联机事务处理)
OLTP 面向事务型业务,处理高并发的日常操作。
特点
- 处理当前数据,强调实时性(如订单创建)。
- 简单查询(点查、范围查),单次操作数据量小。
- 写密集,需支持 ACID 事务(如银行转账)。
- 行式存储为主(如 MySQL),适合频繁更新。
典型场景
- 电商下单、支付系统。
- 用户注册、登录验证。
- ERP 系统中的库存管理。
技术选型
- 数据库:MySQL、PostgreSQL、Oracle。
- 优化方向:索引、分库分表、读写分离。
核心区别对比
维度 | OLAP | OLTP |
---|---|---|
数据时效 | 历史数据 | 当前数据 |
查询复杂度 | 高(聚合、多表) | 低(简单读写) |
吞吐量 | 低 QPS,高延迟 | 高 QPS,低延迟 |
事务支持 | 通常弱或无 | 强(ACID) |
混合架构(HTAP)
现代数据库(如 TiDB、Oracle Exadata)尝试融合两者,通过行列混合存储或实时分析引擎满足 OLTP 和 OLAP 需求。