Loading......

文章背景图

🌟 Doris 基础

2025-11-30
12
-
- 分钟

1. OLTP 与 OLAP 的系统架构详解

企业所有数据系统,基本离不开两大类型:
OLTP(业务数据库)
OLAP(分析数据库 / 数据仓库)

📌 1.1 OLTP(Online Transaction Processing)在线事务处理

面向业务系统,主要保证“正确、高并发、安全”的写入和更新能力。

① 设计目标

  • 保证事务完整性(ACID)

  • 高并发快速写入

  • 单条 SQL 快速响应(毫秒级)

  • 数据更新频繁

② 数据模型特征

  • 行存储(Rowstore):写入性能高

  • 强范式设计:1NF / 2NF / 3NF,避免数据冗余

  • 适用小规模查询:主键查单行、更新数据

③ 应用场景

  • 订单系统、支付系统、库存系统

  • 用户注册、登录、积分更新

  • APP / 后台 CRUD

④ 典型数据库

  • MySQL / PostgreSQL

  • Oracle / SQL Server

  • TiDB(分布式 OLTP)


📌 1.2 OLAP(Online Analytical Processing)在线分析处理

聚焦“时序分析、报表分析、多维分析、大数据量聚合”。

① 设计目标

  • 对 TB-PB 级海量数据进行分析

  • 复杂 SQL:多维聚合、窗口函数、Join

  • 高吞吐、批处理

  • 可通过增加节点来提升性能(水平扩容)

② 数据模型

  • 维度建模(Kimball)

    • 星型模型(Star Schema)

    • 雪花模型(Snowflake Schema)

    • 宽表模型(Fact + dimensions)

  • 更关注“分析效率”,而非强范式

③ 应用场景

  • 指标大屏、用户行为分析

  • 商业智能 BI 工具(Superset、FineBI)

  • 风控、增长分析、营销分析

  • 实时数仓

④ 典型系统

  • Hive(离线)

  • Kylin(预计算 MOLAP)

  • ClickHouse(列存 MPP)

  • Doris(MPP + 实时)

  • Presto/Trino(查询引擎)


2. OLAP 的三种形态:MOLAP / ROLAP / HTAP

📌 2.1 MOLAP(Multidimensional OLAP)多维分析

特点:先聚合、后查询 → 查询快如闪电

✔ 优点

  • 查询极快(秒级甚至毫秒级)

  • 非常适合固定指标(UV、GMV 等)

❌ 缺点

  • 构建成本高(Cube 非常大)

  • 灵活性差(临时指标很难支持)

  • 数据更新困难

🎯 场景

  • BI 固定看板

  • 指标不经常变化的系统

示例:Apache Kylin


📌 2.2 ROLAP(Relational OLAP)关系型分析

特点:数据明细 + SQL 实时计算结果 → 灵活但可能慢

✔ 优点

  • 灵活、实时

  • 不需要构建复杂 Cube

  • 技术门槛低

❌ 缺点

  • 性能依赖数据库能力

  • 对 CPU/IO 消耗大

🎯 场景

  • 复杂的 ad-hoc 查询

  • 实时分析(如业务实时监控)


📌 2.3 HTAP(Hybrid Transaction + Analytical)混合处理

目标:一套系统同时支持 OLTP + OLAP

但实现极其困难,需要:

  • 行存 + 列存混合引擎

  • 分布式事务

  • 优化器自动选择路径

  • 数据冷热分层存储

目前具备部分能力的系统:

  • TiDB(偏 OLTP)

  • Doris(偏 OLAP,但正在增强实时写入)

  • ClickHouse(通过 Delta 技术增强)

HTAP = 未来趋势,但难度极高。


3. MPP 大规模并行计算架构(OLAP 的核心)

MPP:Massively Parallel Processing(大规模并行处理)

📌 MPP 的核心思想

“让数据分布式存储,多节点并行执行同一条 SQL。”

即:

  • SQL → 被拆解为多个子任务

  • 每个节点负责自己数据的扫描、过滤、聚合

  • 最后合并结果

📌 MPP 相对 MR(MapReduce) 优势

对比项

MPP

MapReduce

任务调度

Executor 固定

动态 Task

数据位置

数据本地计算

shuffle 大量 IO

延迟

毫秒 ~ 秒级

分钟级

实时能力

典型系统

Doris、CH、Presto

Hadoop(Hive)

📌 MPP 优势总结

  • 极致的吞吐能力

  • 减少 Shuffle

  • 延迟低

  • 扩展性强


4. 主流 MPP 引擎对比

引擎

存储

写入方式

SQL 能力

优势

劣势

适合场景

Presto / Trino

不存储

联邦查询强

不适合大查询、昂贵

即席查询、跨源查询

Impala

-

查询很快

资源占用高

BI 即席查询

ClickHouse

✔️ 列存

批写入

强但不全

查询速度极快

运维稍复杂

日志类、报表类

Doris

✔️ 列存

实时 + 批

完整 SQL

易用、快、实时

主键模型在演进

DS + 实时分析

👉 若你的核心需求是:
实时 + 高并发 + 简化运维推荐 Doris
极致查询速度ClickHouse
跨数据源查询Presto


5. 企业常用数据链路架构(三种)


📌 模式一:传统离线数仓架构

特点

  • 全量批处理为主

  • 延迟高(小时级)

  • 堆积大量离线任务

适用于:传统企业,实时要求不高


📌 模式二:实时 + 离线混合架构(主流数仓)

特点

  • 秒级实时数据

  • 大部分企业都在使用

  • 成本适中,能覆盖 90% 分析场景

适用于:互联网、金融、新零售


📌 模式三:湖仓一体 + AI(未来趋势)

多源数据 → Kafka → Data Lake(Iceberg/Hudi) 
                           ↓
                OLAP(Doris) ↔ AI/向量检索

特点

  • 数据湖负责存储与治理

  • Doris 负责高性能分析

  • AI 模型(Embedding、RAG)可直接使用数据湖数据

  • 支持批、流、分析、训练的一体化架构

适用于:AI 驱动型大中型企业


6. 小结

  • OLTP 专注事务,OLAP 专注分析,两者目标完全不同

  • OLAP 的主要技术路线:MOLAP、ROLAP、HTAP

  • MPP 架构是现代 OLAP 引擎的核心

  • Doris 属于“计算 + 存储一体化的 MPP 列存系统”,适合实时数仓场景

  • 企业数据架构已从传统数仓 → 实时数仓 → 湖仓一体演进

评论交流