[论文] PolarStore:面向大规模云原生数据库的高性能数据压缩

发布: (2025年11月25日 GMT+8 13:55)
7 min read
原文: arXiv

Source: arXiv - 2511.19949v1

概览

本文介绍了 PolarStore,一种云原生存储层,在不牺牲性能的前提下大幅降低数据库存储成本。通过将专用硬件压缩器(PolarCSD)与轻量级软件层相结合,系统在处理大规模工作负载时实现了高压缩比,同时保持足够快的 I/O 路径,以满足生产级关系型数据库的需求。

主要贡献

  • 双层压缩架构 – 将存储内部的硬件压缩与薄软件压缩相结合,取长补短。
  • 面向数据库的 I/O 优化 – 重新设计关键的读写路径,避免压缩带来的典型延迟惩罚。
  • 硬件稳定性改进 – 为 PolarCSD 芯片添加主机级安全防护,在数千台服务器的部署中得到验证。
  • 压缩感知的集群调度 – 调度器依据数据块的可压缩性进行放置,提升整体空间利用率。
  • 真实场景验证 – 在 PolarDB 的生产集群(约 100 PB 数据)上部署,实现 3.55 倍压缩率和约 60 % 成本降低,性能与未压缩集群持平。

方法论

  1. 两阶段压缩流水线

    • 阶段 1(硬件):数据流向存储节点中嵌入的 PolarCSD ASIC,这些芯片使用针对关系数据模式定制的字典,进行快速无损压缩。
    • 阶段 2(软件):在数据进入网络栈之前,由轻量级 CPU 压缩器处理硬件无法高效处理的边缘情况(例如小行、特定模式的编码)。
  2. I/O 路径重新设计

    • 当请求的块已经以“热”压缩形式存在时,读取可直接跳过软件阶段,在存储节点上完成解压,从而实现快速读取。
    • 写入时将小行批量合并,以提升硬件压缩器的利用率,降低每行的开销。
  3. 稳定性增强

    • 在 PolarCSD 内部加入看门狗逻辑和纠错缓冲区,防止因罕见硬件故障导致的主机崩溃。
  4. 压缩感知调度器

    • 调度器监控每个表的可压缩性指标,并将高度可压缩的表共同放置在同一物理磁盘上,最大化每个节点的有效存储密度。
  5. 评估

    • 基准测试在生产规模的 PolarDB 集群上进行(数千节点,总计 100 PB)。
    • 工作负载包括 OLTP(TPC‑C)、OLAP(TPC‑DS)以及典型 SaaS 应用的混合查询。

结果与发现

指标未压缩基线PolarStoreΔ
压缩比1.0×3.55×+255 %
存储成本100 %≈ 40 %–60 %
平均读取延迟1.2 ms1.3 ms≈ +8 %
平均写入延迟1.5 ms1.6 ms≈ +7 %
吞吐量(查询/秒)12,00011,800≈ –1.7 %
  • 空间效率:双层方案实现了 3.55 倍的原始存储使用量削减,直接转化为更低的 SSD/HDD 配置需求和云存储费用。
  • 性能影响:延迟和吞吐量的惩罚均在个位数百分比内,对大多数应用几乎不可感知。
  • 可扩展性:系统线性扩展;增加更多支持 PolarCSD 的节点可保持压缩比和性能特性。

实际意义

  • 成本效益扩容:云原生 DBaaS 提供商可以在不成比例增加存储支出的情况下,为客户提供更大的数据库容量。
  • 运维简化:压缩对数据库引擎透明,开发者无需改写查询或管理独立的压缩层。
  • 硬件加速工作负载:PolarCSD ASIC 可集成到现有存储服务器(NVMe‑over‑Fabric、解耦存储)中,仅需少量固件改动,即可实现改造。
  • 更好的多租户隔离:更高的压缩率为同一物理集群上的额外租户释放空间,提高整体利用率。
  • 边缘云潜力:轻量级软件阶段使得相同架构能够部署在硬件压缩器不可行的较小边缘节点上。

局限性与未来工作

  • 工作负载依赖:压缩收益随数据熵而异;高度随机或已压缩的二进制大对象(如媒体文件)收益有限。
  • 硬件可获得性:PolarCSD 为定制 ASIC,广泛采用仍依赖于开源设计或作为商品加速器提供。
  • 动态再压缩:当前系统不会在访问模式变化时自动重新压缩数据,未来可加入自适应再压缩触发机制。
  • 安全考虑:虽然压缩是无损的,但将加密(如 TLS‑offload)与硬件阶段结合仍是未解难题。

PolarStore 证明了硬件与软件的深度协同设计能够突破传统的性能‑压缩权衡,为云原生数据库带来真实的成本节约,同时不影响开发者体验。

作者

  • 胡庆达
  • 杨新军
  • 李菲菲
  • 李俊儒
  • 林雅
  • 周宇奇
  • 朱一聪
  • 张俊伟
  • 谢荣标
  • 周玲
  • 吴斌
  • 周文超

论文信息

  • arXiv ID: 2511.19949v1
  • 分类: cs.DC, cs.DB
  • 发布日期: 2025年11月25日
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »