大数跨境
0
0

zData X数据库一体机之存储压缩技术解析:应对SSD涨价危机的降本增效方案

zData X数据库一体机之存储压缩技术解析:应对SSD涨价危机的降本增效方案 云和恩墨
2025-11-26
0
导读:一场由AI引发的存储芯片涨价风暴正席卷全球,该如何应对这非理性“疯狂”?

一场由AI引发的存储芯片涨价风暴正席卷全球,CIO们不禁发问:该如何应对这非理性“疯狂”?

在人工智能应用爆发式增长的背景下,AI服务器所需的高带宽内存(HBM)需求激增,挤占了传统存储芯片(NAND闪存)的产能。这直接导致了以NAND闪存作为核心存储介质的SSD出现严重的市场供需失衡——SSD价格在短期内出现大幅上涨。针对这一挑战,zData X数据库一体机新推出的存储压缩功能就非常及时地以降本增效方案实现破局:通过在存储层实施数据压缩,使存储的空间利用率提升2-3倍,在同等存储容量需求的情况下可大幅减少SSD的部署数量,从而为企业用户有效降低存储成本。

从我的实践经验和观察来看,用户对存储压缩功能的关注点集中体现在以下四个维度:


  1. 实际压缩效率表现,即“压缩效果如何?”

  2. 性能影响程度评估,即“压缩是否会导致性能下降?”

  3. 系统资源占用分析,即“压缩是否需要使用大量的CPU和内存资源?”

  4. 比对原生压缩方案,即“一体机的压缩功能与数据库自身的压缩能力相比有何优势?”


本文将围绕上述核心关切展开详细解析。


一、存储压缩效率:2-3倍空间优化


数据库场景下的压缩,毫无疑问是必须要采用无损压缩算法以保证数据完整性。数据库一体机zData X的存储底座是云和恩墨自研的分布式块存储软件。它支持zstdlz4两种压缩算法,并支持多级压缩强度的设置。

对于结构化数据(排除图片、视频等非结构化类型),实测数据如下表所示:

(来源:https://engineering.fb.com/2016/08/31/core-infra/smaller-and-faster-data-compression-with-zstandard)

  • lz4压缩算法实现约2倍的压缩率,同时保持444.69MB/s的单核压缩速率和2165.93MB/s的单核解压速率。

  • zstd压缩算法可达成3.14倍的压缩率,对应136.18MB/s的单核压缩速率和536.36MB/s的单核解压速率。

不难看出,lz4算法的压缩率虽然较低,但具有最好的压缩和解压缩速率。经过对多场景下的多种数据进行实测,我们验证确认常规数据压缩率稳定维持在2-3倍区间。


二、性能影响控制:亚10%损耗边界


作为面向数据库场景的高性能存储,我们在zData X的研发设计之初就清楚地认识到,压缩不能以牺牲性能为代价。经过研发团队的技术攻关,当前zData X的存储压缩功能对性能的影响非常小:

①数据写入和修改的性能完全不受影响;

②热数据通常没有被压缩,所以读性能完全不受影响;

③温冷数据的读取性能损耗在10%以内。

产生这样的结果并非偶然,而是源于我们对存储压缩的精益化设计:

1

后台异步压缩

在整体方案上,zData X的分布式存储软件采用后台异步压缩的方式对数据进行处理。我们在这种压缩方案上的多项设计策略及其优势包括:

a.写入路径零影响:在写数据时不进行压缩,写I/O的端到端路径中完全没有压缩相关操作,因此写入性能不会受到任何影响。

b.专核压缩不干扰:压缩任务使用专用的CPU核,而不是与处理I/O请求的CPU核混用,从而保证压缩过程不会影响业务下发的I/O性能。

c.资源使用严格限:后台异步压缩对资源使用进行严格限制,最大程度避免对系统性能的影响。当前的做法是,对每个磁盘的后台I/O速率限流为200MB/s。主流PCIe 5.0 SSD的I/O速率为6GB-14GB/s,因此压缩最多只占用一个磁盘顺序读写带宽1.4%~3.3%。有了压缩时的速率控制,CPU和内存的消耗自然也非常有限。

有人可能会产生疑虑:这样压缩会不会太慢?我们的答案是:不会,因为我们采用的是多盘并行压缩。下面可以通过简单的计算来验证一下:

假设一个存储节点有8个SSD,那么8个盘并行压缩时,总的I/O限流速率就是1600MB/s。为了便于计算,可按读写各占50%考虑(实际压缩后容量变小,写入带宽需求会更低),那么每秒可以压缩800M数据,1天(24小时)可以压缩约66TB数据。再假设一个存储节点有16个7.68TB容量的SSD,总容量使用到80%时用户开启压缩功能以回收空间,也只需要约36小时即可压缩完成。由于压缩过程对业务零影响,且边压缩边释放空间,这样即使压缩耗时稍长也不会带来实际的负面影响。

2

冷热数据差异化处理策略

zData X的分布式存储软件只对温冷数据进行压缩,而对热数据保持非压缩状态。这样的策略带来如下优势:

a.热数据不压缩,读写零影响:频繁修改的数据即为热数据,这类数据始终保持非压缩状态,因此其写入和读取性能完全不受影响。这部分数据大约占数据总量的7%左右。

b.冷数据只读为主,压缩收益大:冷数据是指基本上不再修改也很少在交易类业务中被访问的数据,多用于备份、统计报表、历史查询这类场景,因此属于典型的只读数据。一个系统中的冷数据大约占数据总量的80%,压缩这类数据会带来正反两方面的影响。

  • 正面影响是压缩后的数据量变小,读I/O的时间显著缩短,意味着更快的磁盘访问速度;

  • 负面影响是解压需要消耗CPU和时间,为此我们选择了zstd和lz4这种解压性能突出的算法,以尽可能减少解压开销。

综合来看,正反两方面影响互相冲抵后,最终结果是数据读取的性能影响程度可控制在10%之内。在3存储节点(每节点8个SSD)+ 双100Gb/s网卡的环境下,我们对单个计算节点进行128KB随机读测试,结果为22GB/s的读带宽,已经跑满网卡带宽,此时获得的128KB顺序读延迟为1ms。

c.温数据较活跃,性能影响亦可控:温数据在交易类业务中会偶有修改,但读取较为频繁。这类数据约占数据总量的13%,修改时由于采用了后台异步压缩,故对性能完全没有影响,而读取时对性能的影响程度同样可控制在10%之内。

通过测试我们验证到,zData X的分布式存储软件在极高负载下,实现的随机I/O读延迟在0.2ms左右;在较低负载时,随机I/O的读延迟在0.1ms左右。在压缩带来的约10%的性能开销下,随机I/O的读延迟保持在0.11ms~0.22ms之间,完全能够满足对低延迟I/O的要求。

(冷热数据量占比示意)

zData X默认将超过1个月未被修改的数据定义为冷数据;而温数据则指在压缩后的数据中,仅有少量被修改且最后一次修改时间大于3天的数据。

针对一些用户可能会产生的疑问:zData X是否会记录I/O时间?答案是肯定的。zData X的分布式存储软件使用Raft协议实现多副本复制,而Raft日志本身包含时间戳。在日志落盘时,元数据会记录每个Chunk(分布式存储软件的磁盘空间分配单元,大小为4MB)的最新修改对应的Raft日志序号和时间信息。因此系统可以准确判断数据的冷热程度,并据此采用差异化的压缩策略。(完整的I/O流程可参考文章:《一篇带你彻底搞懂zStorage的IO流程和路径》


三、资源消耗优化:仅需1-2核用于压缩


为了不与处理I/O请求的CPU核混用而产生影响,zData X会为存储节点预留1-2个专用CPU核用于压缩任务。

  • 在存算分离架构中,zData X的存储节点通常配置2个物理CPU,每个CPU至少具备12个物理核,因此单存储节点至少拥有24个物理核(48个逻辑核)。通常为分布式存储软件分配的CPU一般不会超过30个逻辑核,因此剩余资源完全足够提供给压缩功能作为专用核使用。

  • 在存算融合架构中,zData X的存算融合节点配置的CPU核通常更多。以当前主流的双路服务器为例,一台机器至少可配置128个逻辑核,因此即便为压缩功能分配2个专用的CPU核,其也只占用不到2%的CPU总量,几乎不造成资源压力。

这时一定会有人产生疑问:若只分配1个专用CPU核够用吗?答案是够的。以lz4算法为例,单核的压缩能力约为400MB/s,即一天可以压缩约33TB数据。因此,即使单个节点有上百TB的数据需要压缩,也只需要3天即可完成。此外,大量数据压缩通常只发生在初始化阶段,当初始压缩完成之后,后续的增量数据的压缩所占用的资源就很少了,所以1个CPU核是完全够用的。

由于后台异步压缩本身已对带宽进行了限流,因此我们在产品设计上并未引入额外的内存需求,原本为分布式存储软件规划的内存容量即能满足压缩场景的使用需求。

这里再补充说明一点:专用的1-2个CPU核仅用于压缩任务;而在解压过程中,系统会在业务下发读I/O请求时,由负责处理I/O请求的众多CPU核来完成解压,因此整体解压吞吐量是很高的,不会形成性能瓶颈。


四、对比数据库原生方案:三大技术突破


据我们观察,数据库自身的压缩功能普遍使用率较低,只有像Oracle Exadata这类对数据压缩机制做了深度优化的产品才使用得相对较多。

造成这一现象的主要原因在于数据库自身的压缩功能通常存在以下缺点:

①压缩与解压均消耗数据库实例的CPU,这会直接影响数据库的事务处理性能。

②压缩过程通常需要对表进行类似于重建的操作,才能真正实现数据压缩,这会影响业务连续性。

③难以有效区分冷热数据。以交易记录表为例,该表需要保留10年的数据,近期数据会频繁查询,也会插入新的数据,而早期数据则很少访问。若对热数据频繁地压缩和解压,会进一步拖慢性能。

zData X数据库一体机的存储压缩功能很好地解决了上述问题。通过专用CPU核、仅压缩温冷数据、后台异步压缩等机制,zData X能够以几乎“透明”的方式提供数据压缩能力,对数据库性能的影响极为轻微,同时也提升了存储空间利用率。


总结


面对SSD供需失衡与价格持续上涨的挑战,zData X数据库一体机的存储压缩功能提供了一套成熟且高效的应对方案。它并非简单地引入压缩算法,而是基于真实的数据库场景和业务要求,进行了系统性的、工程级的创新设计:

  • 显著的降本效果:通过采用zstd与lz4无损压缩算法,实现2-3倍的存储空间节省,直接缓解存储成本持续上涨的核心压力。

  • 卓越的性能平衡:依托后台异步压缩、智能冷热数据分离与严格资源限流等机制,在确保压缩效率的同时最大化保护业务性能:数据写入完全无影响,热数据读取无影响,对温冷数据的读取性能损耗被严格控制在10%以内。

  • 极低的资源开销:压缩功能仅需1-2个专用CPU核,且无需额外增加内存,以极小的资源代价换取显著的空间效益,让部署成本可控。

综上,zData X数据库一体机的存储压缩功能有效规避了数据库自身压缩的种种不足,以一种对业务近乎“透明无感”的方式实现了“降本”与“增效”的统一。它为企业应对数据量持续快速增长、构建兼具性能与成本优势的存储基础设施提供了理想的选择。

图片


数据驱动,成就未来,云和恩墨,不负所托!


云和恩墨创立于2011年,是业界领先的“智能的数据技术提供商”公司以“数据驱动,成就未来”为使命,致力于将创新的数据技术产品和解决方案带给全球的企业和组织,帮助客户构建安全、高效、敏捷且经济的数据环境,持续增强客户在数据洞察和决策上的竞争优势,实现数据驱动的业务创新和升级发展。

自成立以来,云和恩墨专注于数据技术领域,根据不断变化的市场需求,创新研发了系列软件产品,涵盖数据库、数据库存储、数据库管理和数据智能等领域。这些产品已经在集团型、大中型、高成长型客户以及行业云场景中得到广泛应用,证明了我们的技术和商业竞争力,展现了公司在数据技术端到端解决方案方面的优势。

图片

【声明】内容源于网络
0
0
云和恩墨
云和恩墨是一家全球化数据资产端到端解决方案服务商
内容 1675
粉丝 0
认证用户
云和恩墨 云和恩墨(北京市)信息技术有限公司 云和恩墨是一家全球化数据资产端到端解决方案服务商
总阅读121
粉丝0
内容1.7k