简介随着数字技术的发展,网络所包含的信息量也与日俱增,如何高效存储这些数据成了很多互联网公司的一大难题。与此相关的出现了很多的压缩工具,这些算法可以使固有的资源存储的数据量大幅度提高。但是这些压缩工具都需要用户编程调用API接口或手工执行压缩命令,因此给编程和应用造成很多不便。
为此百度系统部研发了BZFS,一种实现透明压缩功能的文件系统,文件的压缩和解压由文件系统完成。这种方式可以使用户在不修改程序和应用的情况下减少磁盘空间的使用量,扩大单机存储容量。同时通过对I/O流程的优化,大大提高了文件的顺序读写性能。 BZFS和硬件压缩卡一起使用还可以大规模减少数据压缩时对系统cpu的消耗。该文件系统适用于有大规模数据压缩存储需求的地方。
功能介绍支持文件透明压缩对于存储在BZFS上的文件实现透明压缩,即不需要用户干预并且不影响用户以及程序对文件内容的访问; 支持gzip压缩算法系统采用gzip算法进行压缩加压,保证压缩过程不会膨胀; 支持不同大小的压缩窗口可以通过增加压缩窗口大小来增大文件的压缩比; 同时支持CPU压缩和硬件压缩;既可以选择使用CPU压缩,也兼容硬件压缩卡的接口函数,可以通过不同的mount选项选择使用的压缩方式,数据的读取对两种方式都兼容; 实现对ext2文件系统的兼容对于已经使用的ext2分区,可以直接挂载为BZFS使用,不需重做文件系统,原来的数据照常访问,新写入的数据进行压缩。 简要性能数据压缩比文本文件 文件平均大小 压缩比 Cpu idle 软件压缩 391754 KB 25.9% 73% 硬件压缩卡压缩 764553 KB 50.6% 98% 二进制文件暂无数据. 顺序读顺序读磁盘带宽140M/s, 平均请求450sectors。大文件顺序读完成时间为ext2的50%。顺序写 由该表可见,BZFS配合硬件压缩卡使用,有效节省了存储空间占用和读耗时。目前BZFS和硬件压缩卡已经在百度若干技术领域和产品中使用。