[发明专利]一种键-值存储系统中数据文件的合并压缩方法及装置有效

专利信息
申请号: 201310711265.8 申请日: 2013-12-20
公开(公告)号: CN103744617A 公开(公告)日: 2014-04-23
发明(设计)人: 王锋 申请(专利权)人: 北京奇虎科技有限公司;奇智软件(北京)有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 北京思睿峰知识产权代理有限公司 11396 代理人: 赵爱军
地址: 100088 北京市西城区新*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 存储系统 数据文件 合并 压缩 方法 装置
【说明书】:

技术领域

发明涉及计算机技术领域,具体涉及一种键-值(Key-Value)存储系统中数据文件的合并压缩方法及装置。

背景技术

在很多大数据存储系统中,数据块(数据记录)是以Key-Value对的方式存储,基于存储与读写性能的考虑,在实现上都采用数据添加(Append)模式,即所有的写操作都先将数据块写入内存表(Memtable),当Memtable达到一定大小时,再将Memtable中的数据块排序写入(Dump)到磁盘上的有序字符串表(SSTable)文件中。后续通过合并压缩(Compaction)机制将全部或部分SSTable文件合并形成新的SSTable文件,从而达到降低数据文件个数以提高访问性能、去除重复数据以节省磁盘空间的目的。

Cassandra系统也采用了类似的设计方式。Cassandra数据存储空间可以抽象为一个环形结构,数据块就是通过哈希(hash)分散在这个环形存储空间上。每个数据节点负责管理这个环形存储空间上的某一块连续的范围(也叫Range),落在此Range空间上的数据块就存储在这个数据节点上。

SSTable是Cassandra系统中数据处理和交换的文件存储格式。SSTable是存储一组任意有序Key-Value对的数据文件。SSTable一旦完成写入,就不可更改,只能读取。在Cassandra系统中,Compaction分为Minor Compaction(部分合并压缩)和Major Compaction(全部合并压缩)。M ajor Compaction指的是全部数据文件都参与Compaction操作,但是随着写入的数据块越来越多,磁盘剩余空间不足,Major Compaction无法实施,这样,每次Compaction只能有部分数据文件参与,也就是只能做Minor Compaction。而在大量的Minor Compaction下,如何保证既能尽量去除重复的数据块,又能避免数据文件重复参与Compation而浪费磁盘输入/输出(I/O)资源,是众多Compaction策略需要解决的问题。

现有的一种技术方案为Tiered Compaction(阶梯合并压缩),其实现原理为:

(1)首先将SSTable文件按照大小范围划分为若干级别;

(2)当Memtable刷新到磁盘SSTable文件中时,从文件较小的SSTable级别开始,逐级检查SSTable个数,发现数目超过4个就将其做一次Compaction,生成一个新的SSTable文件

(3)直到各级别的SSTable文件都少于4个为止,这样,通过对每次4个SStable进行合并压缩,达到局部减小存储空间的目的。

上述技术方案的缺点在于:

(1)对磁盘I/O性能有影响。由于一条记录的多个版本可能存在于多个SSTable文件中,最差的情况下可能某一条记录会存在于所有SSTable文件中,因此一条记录所在的SSTable文件可能多次重复参与Compaction才能将数据消除,并且参与次数无法确定,无形中浪费了I/O资源,间接也影响了读写性能。

(2)在存储空间上浪费严重。因为一个被删除记录的老版本可能会一直存在于一些老的SSTable文件中,直到这个老的SSTable文件参与Compaction才可能消除掉;或者只有进行一次Major Compaction才可以消除。由于Tiered Compaction是按照SSTable文件大小进行级别划分进而分级做Minor Compaction,这样往往导致删除操作较多(SSTable文件较小)的SSTable文件和插入操作过多(SSTable文件较大)的SSTable文件分在不同的级别中,因而对于一个经常有删除操作的应用来说会造成空间的极大浪费。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310711265.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top