EuroSys(European Conference on Computer Systems)是体系结构的顶级会议(CCF-A,录取率16%上下)。今年阿里云SLS团队与清华大学论文《LogGrep: Fast and Cheap Cloud Log Storage by Exploiting both Static and Runtime Patterns》被EuroSys 23收录。
探索压缩极限之路
在我们生活和工作中,服务器、程序、IoT设备等无时无刻在产生大量的日志。日志数据以增量大、规模大、查询慢著称,在一个中大型的数据公司,每天产生日志量可以达到PB级。开发、运维、安全和运营工作都离不开日志数据,如能够设计出一种高压缩比的算法,能够节省每年EB级的存储成本。
2021年,阿里云SLS 团队与清华大学在存储顶会FAST21上发表了《On the Feasibility of Parser-based Log Compression in Large-Scale Cloud Systems》论文,探索了面向日志数据的压缩问题,在LogReducer的方案中:
- 压缩率:和通用的gzip、LZMA、专用的LogArchive、Logzip等方法相比,LogReducer是其他四种方法中最好方法的1.11-2.87倍,是常见的gzip方法的1.54-6.78倍。
- 速度:LogReducer的压缩速度和专注于压缩率的通用压缩方法速度基本持平(0.56-3.16倍)。
在实验中,该方法将全部1.76TB的数据压缩到34.25GB的空间内,它所占的空间是gzip压缩效果所占空间的1/4.5,可以大大节省成本。
在克服了压缩问题后,我们开始考虑,有没有可能可能找到一种方法?既能够查询得快,又存得省?
是否能又快又省
2021-2022年,SLS团队与清华大学再次合作,根据数据和查询特点,提出了一种新的编码方案。在21种TB量级的阿里云真实日生产日志上,原型系统LogGrep(LG)实现了平均30倍的压缩率,并实现对千万条高密压缩的阿里云日志数据检索的秒级响应:
- 压缩率:同gzip相比,压缩率提升了1.84 – 4.54倍(平均2.61倍);和CLP(多伦多大学研发、已在Twitter系统中部署日志存储系统CLP(OSDI 22)相比)相比,压缩率提升了1.41 – 3.63倍(平均2.17倍);同ElasticSearch相比,压缩率提升了9.63 – 83.23倍(平均23.58倍)。
- 查询速度:同gzip+grep(ggrep)方法相比延迟降低了6.47 - 80.34倍(平均降低24.82倍);同直接进行grep检索的方法相比,延迟降低了1.89 – 30.40倍(平均降低了13.17倍);同CLP相比;延迟降低了7.54 – 68.33倍(平均降低了27.44倍);和Elasticsearch(ES)相比,在7种日志上延迟更低(7/20)。
结合压缩率和查询速度综合考虑:以一个典型写多读少的日志场景下(存储180天,在生命周期中查询100次),无论是阿里云的样本日志、还是公开的日志测试集,LG综合成本是其他方案的1/3,朝着又快又省迈出了坚定一步。
后续
阿里云日志服务(SLS)团队致力于为可观测数据(Log/Metric/Trace)提供大规模、低成本的存储分析能力,全面提升研发、运维、运营和安全等场景数字化能力。
我们在不断在可观测数据领域,探索“好、多、快、省”的存储与分析方案,后续会在EuroSys23和大家分享论文的相关细节,敬请期待。