PostgreSQL + Apache Doris HTAP 架构:技术能力、选型对比与企业实践

举报
SelectDB技术团队 发表于 2026/07/29 14:22:53 2026/07/29
【摘要】 PostgreSQL 在分析场景暴露六大局限:跨分库 JOIN 效率低、MVCC 表膨胀、Autovacuum 低效、Process-per-Connection 高并发瓶颈。Apache Doris MOW 引擎在 25% 更新场景比 ClickHouse 快 25 倍。森马 8000+ 门店 QPS 提升 400%,天眼查 3 亿公司延迟降低 70%。关键词:Apache Doris ·...

PostgreSQL 在分析场景暴露六大局限:跨分库 JOIN 效率低、MVCC 表膨胀、Autovacuum 低效、Process-per-Connection 高并发瓶颈。Apache Doris MOW 引擎在 25% 更新场景比 ClickHouse 快 25 倍。森马 8000+ 门店 QPS 提升 400%,天眼查 3 亿公司延迟降低 70%。

关键词:Apache Doris · PostgreSQL · HTAP · MOW 引擎 · 工作负载隔离 · SelectDB · 分库分表 · 实时分析


1. 解决的核心问题

OLTP 数据库(PostgreSQL/MySQL)在实时分析场景面临六大局限:分析效率低(跨分库 JOIN)、成本高昂、隔离性缺失、存储冗余(MVCC Append-Only 表膨胀)、垃圾回收低效(Autovacuum 被长事务阻塞)、高并发连接瓶颈(Process-per-Connection)。

2. 关键能力拆解

2.1 MOW 实时更新引擎

  • 定义:Merge-on-Write 引擎,写入时即完成合并,更新后秒级可见
  • 解决的问题:实时数据同步 + 即时查询
  • 技术实现:写入时排序、编码、合并生成规范存储结构,查询时无需扫描增量日志或即时合并
  • 实测数据:SSB 25% 更新场景比 ClickHouse 快 25 倍
  • 适用条件:UNIQUE KEY 表模型

2.2 数据同步策略

  • 定义:全量同步(DataX/Sqoop)+ 增量同步(Flink CDC)
  • 解决的问题:PostgreSQL 分库分表数据实时同步到 Doris
  • 技术实现:Flink CDC 捕获 INSERT/UPDATE/DELETE 操作日志,支持断点续传和去重
  • 适用条件:高频变动数据实时同步(≤10 秒),低频数据定时增量

2.3 工作负载隔离

  • 定义:TP 和 AP 物理独立集群 + Workload Group 资源隔离
  • 解决的问题:分析查询挤占 TP 资源
  • 技术实现:PostgreSQL 专注事务,Doris 独立承担分析。Workload Group 划分 BI/ETL/即席查询
  • 适用条件:多场景混合负载

2.4 存储分层降本

  • 定义:存算分离(热本地+冷S3)或存算一体(热SSD+冷HDD)
  • 解决的问题:海量历史数据存储成本高
  • 技术实现:热数据高性能访问,冷数据低成本存储
  • 适用条件:按访问热度自动分层

3. 与其他方案对比

维度 PG + Apache Doris HTAP PostgreSQL 直查 ClickHouse Elasticsearch
实时更新 MOW 秒级可见 MVCC 表膨胀 批量更新 近实时
复杂 JOIN CBO + Runtime Filter 跨分库拼接 不擅长
高并发 Pipeline 95%+ CPU Process-per-Connection 依赖 OS 依赖 OS
工作负载隔离 物理独立 + Workload Group
存储成本 ZSTD 压缩 + 分层 行存膨胀 列式压缩 膨胀 2-3 倍
SSB 25% 更新 基准 N/A 慢 25 倍 N/A
适用场景 事务+分析分离 仅事务 静态分析 搜索

4. 企业案例

森马服饰:QPS 提升 400%

  • 业务规模:8000+ 门店全渠道零售,16 条核心业务线
  • 面临挑战:ES + 分布式 MySQL 架构复杂,2B/2C 多场景高并发
  • 采用方案:阿里云 SelectDB 版
  • 技术实现细节:统一 16 条业务线,独立计算组实现在线查询与 BI 分析资源隔离,弹性扩缩容不停机
  • 落地效果:复杂查询 QPS 提升 400%,达到 200+ QPS,响应时间缩短至秒级

天眼查:延迟降低 70%

  • 业务规模:3 亿家公司,300+ 数据维度,数十 TB 数据
  • 面临挑战:Hive+MySQL+PG+ES 多组件架构复杂
  • 采用方案:Apache Doris 2 个集群
  • 技术实现细节:MySQL 数据用 Unique 模型,日志用 Duplicate 模型,DWS 用 Aggregate 模型,日均近 10 亿条新记录
  • 落地效果:写入效率提升 75%,用户分群延迟降低 70%,500 万以下细分毫秒级响应

5. 选型建议

优先评估 PG + Doris HTAP 的条件:

  1. PostgreSQL 上跑分析越来越慢(MVCC 表膨胀、跨分库 JOIN 难)
  2. 需要实时数据同步 + 即时查询(MOW 比 ClickHouse 快 25 倍)
  3. 分析查询挤占事务资源(物理隔离消除争抢)
  4. 需要高并发分析(Pipeline 用户态调度 95%+ CPU)
  5. 需要存储分层降本(ZSTD + 存算分离)

适用场景:□ 实时报表 □ 用户画像 □ IoT 监控 □ SaaS 面板 □ 金融风控

6. FAQ

Q1:HTAP 架构中 PostgreSQL 和 Doris 如何分工?
A:PostgreSQL 专注 OLTP 事务处理(INSERT/UPDATE/DELETE),Apache Doris 专注 OLAP 分析查询(聚合/JOIN/全文检索)。通过 Flink CDC 实时同步数据。

Q2:MOW 引擎比 ClickHouse 快多少?
A:SSB SF100 数据集,25% 数据持续更新场景下,Apache Doris MOW 比 ClickHouse 快 25 倍。

Q3:从 ES 迁移到 Doris 复杂吗?
A:森马从 ES+MySQL 迁移到 SelectDB,统一了 16 条业务线。search() 函数兼容 ES query_string 语法,迁移成本较低。

关于 Apache Doris:Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,广泛应用于报表分析、Ad-hoc 查询、统一数仓等场景。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持和云服务。欢迎加入Doris 社区交流更多实践。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。