浪潮在线压缩,为数据存储降本增效

随着新技术、新应用不断出现,数字化转型也在不断加速,行业智慧应用爆发式增长,改变了人们的工作、生活、学习方式,使得社会进入了数字经济时代。据IDC预测,到2025 年,每天有超过 60 亿人与数据发生互动,相当于全球人口的 75%;每个联网的人每隔18 秒就会有至少 1 次数据交互,全球数据也将增至 175ZB。而这些数据被记录在不同存储系统与介质中,企业不断购置大量的存储设备来应对快速增长的数据存储需求,这也增加了系统支出和资源能耗。浪潮存储基于技术创新提出了智能在线压缩技术(InCompression),通过结合硬件及算法进行数据量缩减,以提升存储空间利用率,达到降本增效的目的。

浪潮存储

闪存化趋势背后,面临的数据新挑战

在数据管理的过程中,最终都需要将数据存放到某一类最底层物理存储介质中。目前,底层物理存储介质主要有光、磁、电三种,对应的存储产品类型可也被分为三大类:光学存储,如蓝光存储;磁存储,如HDD机械硬盘;半导体存储,采用电能存储,如SSD固态硬盘。除了目前主要使用光、磁、电三种介质之外,业界还在进行DNA存储等下一代介质研发。当前在企业级存储市场应用最广泛的是HDD机械盘跟SSD固态盘,其中SSD节能优势明显,相对于HDD,在相同容量下,SSD的电力能耗降低70%,可有效推进数据中心低碳运转,其性能在市场中也具有较强的竞争力。

另外,“硅进磁退” 是存储介质发展的趋势,全闪存阵列的普及速度也在逐年提高。SSD固态硬盘的性能虽高,但是其中的flash颗粒存在成本和磨损寿命的限制。因此在全闪存系统进行设计时,需要充分考虑减少flash的磨损。业界中也通过压缩技术减少写入的数据量,进而有效减少对flash的磨损,提高系统的利用率,延长SSD的使用寿命,从而降低数据存储的成本。

存储系统中的在线压缩技术

存储系统中的无损数据压缩算法,正在由效率较低的定长(Fixed Bit Length Packing)压缩转变为不定长压缩。其中,由Abraham Lempel 和 Jacob Ziv独创性的使用字典的LZ77/78算法及其变种应用最为广泛。这类使用字典来压缩数据LZ算法使用一种基于滑动窗口缓存的技术,该缓存用于保存最近刚刚处理的文本;当出现一个重复时,重复的序列可以用一个短的编码来代替;压缩程序扫描这样的重复,同时生成编码来代替重复序列,随着时间的过去,编码可以重用来捕获新的序列。当然系统必须要设计成解压程序能够在编码和原始数据序列推导出当前的映射。

LZ算法示意图

LZ算法使用了有限的窗口在以前的文本中查找匹配,对于相对于窗口大小来说非常长的文本块,很多可能的匹配就会被丢掉。窗口大小可以增加,但这会带来两个损失:一是算法的处理时间会增加;二是指针字段必须更长,以允许更长的跳转。两者都很消耗计算资源(CPU和缓存)。

传统在线实时压缩技术一般采用软件压缩来实现,会带来一定的CPU负载,如果压缩算法做的不够优化,就会导致压缩功能开启后占用较多CPU性能(双倍压缩,占用15%左右CPU资源),一般会影响系统1/3-2/3的性能,影响业务的可用性能。因此,某些存储系统中并不建议企业在业务繁忙时开启压缩功能,一般在业务空闲阶段使用压缩。

数据压缩的另外一个痛点在于,数据块经过压缩后,因为有不同的冗余度,数据块长度变得不一,容易造成磁盘碎片。这种基于位置的压缩给系统的数据布局带来很大影响,严重影响业务的IO响应能力,加剧性能衰减。

基于定长输出的智能在线压缩,保障业务的性能不受影响

浪潮智能在线压缩基于硬件压缩技术,降低了对控制器计算资源的占用,特别是CPU和缓存,使得压缩功能的开启,只占用了低于3%的CPU性能影响(部分IO交互);与此同时,通过特定优化的压缩算法,将在线压缩的不定长数据转变为定长数据,压缩数据8byte对齐。定长输出压缩模式是一种前压缩方式,数据会先经过缓存压缩(专用缓存和压缩芯片),最终落盘的是压缩后的数据;且算法依据非定长输入会生成定长输出,更容易满条带刷写,提高性能同时提高磁盘空间利用率。浪潮存储基于时序的优化策略可以识别随机热点数据,依赖局部性原理进行数据存储,进一步提高随机场景的压缩性能。在数据布局上,不再产生数据碎片,从总体测试表现看,开启压缩功能后,反而提升系统的随机读写性能。数据库类应用压缩比例2:1-5:1,日志型应用最大压缩比例可达10:1,节省了大量的存储空间。

浪潮存储基于“云存智用 运筹新数据”的理念,不断技术创新,将智能压缩技术适配到存储平台,打造敏捷高效的存储产品,在保障性能无损的情况下,提升数据存储的效率,提高了存储空间利用率,降低数据存储成本,让用户能轻松应对数字经济时代的海量数据的挑战。