暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB-PG原理解读 ——HTAP 架构详解(一)

PolarDB农夫山泉 2023-07-25
164

PolarDB PostgreSQL版(以下简称 PolarDB-PG)是一款阿里云自主研发的企业级数据库产品,采用计算存储分离架构,兼容 PostgreSQL 与 Oracle。PolarDB-PG 的存储与计算能力均可横向扩展,具有高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB-PG 具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载;还具有时空、向量、搜索、图谱等多模创新特性,可以满足企业对数据处理日新月异的新需求。

背景

很多 PolarDB-PG 的用户都有 TP (Transactional Processing) 和 AP (Analytical Processing) 共用的需求。他们期望数据库在白天处理高并发的 TP 请求,在夜间 TP 流量下降、机器负载空闲时进行 AP 的报表分析。但是即使这样,依然没有最大化利用空闲机器的资源。原先的 PolarDB-PG 数据库在处理复杂的 AP 查询时会遇到两大挑战:

  • 单条 SQL 在原生 PostgreSQL 执行引擎下只能在单个节点上执行,无论是单机串行还是单机并行,都无法利用其他节点的 CPU、内存等计算资源,只能纵向 Scale Up,不能横向 Scale Out;
  • PolarDB-PG 底层是存储池,理论上 I/O 吞吐是无限大的。而单条 SQL 在原生 PostgreSQL 执行引擎下只能在单个节点上执行,受限于单节点 CPU 和内存的瓶颈,无法充分发挥存储侧大 I/O 带宽的优势。
    image.png
    image.png

为了解决用户实际使用中的痛点,PolarDB-PG 实现了 HTAP 特性。当前业界 HTAP 的解决方案主要有以下三种:

  1. TP 和 AP 在存储和计算上完全分离
    • 优势:两种业务负载互不影响
    • 劣势:
      • 时效性:TP 的数据需要导入到 AP 系统中,存在一定的延迟
      • 成本 / 运维难度:增加了一套冗余的 AP 系统
  2. TP 和 AP 在存储和计算上完全共享
    • 优势:成本最小化、资源利用最大化
    • 劣势:
      • 计算共享会导致 AP 查询和 TP 查询同时运行时或多或少会存在相互影响
      • 扩展计算节点存储时,数据需要重分布,无法快速弹性 Scale Out
  3. TP 和 AP 在存储上共享,在计算上分离
    • PolarDB-PG 的存储计算分离架构天然支持此方案
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论