一种基于cassandra数据库的文件合并的方法和装置制造方法及图纸

技术编号:26222605 阅读:44 留言:0更新日期:2020-11-04 10:53
本发明专利技术涉及数据库领域,特别是涉及一种基于cassandra数据库的文件合并的方法和装置。主要包括:接受数据库生成的数据文件,生成各磁盘的合并文件列表;各磁盘的合并进程获取相应磁盘的合并文件列表,获取各磁盘的合并文件列表中需合并的数据文件大小;启动;数据库的并行合并进程,计算各磁盘的合并进程获取到数据文件大小的总和数据文件大小的总和达到合并文件阈值时,并行合并进程一次性合并所有磁盘中需合并的数据文件。本发明专利技术可以在使用较少合并层次和临时文件的情况下及时对小文件进行合并,减少合并次数、减少磁盘中文件占用空间、减少磁盘IO次数和磁盘IO争抢,提高了文件合并的性能,提高了数据库的读写稳定性。

【技术实现步骤摘要】
一种基于cassandra数据库的文件合并的方法和装置
本专利技术涉及数据库领域,特别是涉及一种基于cassandra数据库的文件合并的方法和装置。
技术介绍
Cassandra数据库是一种开源的分布式混合存储的存储方案,具备去中心化、可扩展性、高可用、容错性和可配置的一致性等特性。由于cassandra将缓存的数据顺序刷入磁盘时,会生成多个1-10MB左右的数据文件(SortedStringTable,简写为:sstable)。在cassandra数据库数据处理量很大时,巨大的文件数量会严重影响数据库的稳定性,并且拖慢查询速度。为了减小需处理文件的数量,cassandra数据库提供了文件合并(Compaction)机制将多个大文件合并为少量小文件。目前常用的文件合并策略有:(1)SizeTieredCompactionStrategy基于文件大小进行多层合并,将小文件放入小文件合并线程进行合并,大文件放入大文件合并线程进行合并,最终获得需要的文件大小。每次合并文件数量由max_threshold参数决定,理论上本文档来自技高网...

【技术保护点】
1.一种基于cassandra数据库的文件合并的方法,其特征在于:/n接受数据库生成的数据文件,生成各磁盘的合并文件列表;/n各磁盘的合并进程获取相应磁盘的合并文件列表,获取各磁盘的合并文件列表中需合并的数据文件大小;/n启动数据库的并行合并进程,计算各磁盘的合并进程获取到数据文件大小的总和;/n数据文件大小的总和达到合并文件阈值时,并行合并进程一次性合并所有磁盘中需合并的数据文件。/n

【技术特征摘要】
1.一种基于cassandra数据库的文件合并的方法,其特征在于:
接受数据库生成的数据文件,生成各磁盘的合并文件列表;
各磁盘的合并进程获取相应磁盘的合并文件列表,获取各磁盘的合并文件列表中需合并的数据文件大小;
启动数据库的并行合并进程,计算各磁盘的合并进程获取到数据文件大小的总和;
数据文件大小的总和达到合并文件阈值时,并行合并进程一次性合并所有磁盘中需合并的数据文件。


2.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:若需合并的文件总大小未达到合并文件阈值,不进行本次合并,等待接受数据库下一次生成的数据文件。


3.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:
判断每个数据文件的大小是否小于文件数据量阈值;
若小于文件数据量阈值,合并文件阈值使用第一合并文件阈值;
若大于文件数据量阈值,合并文件阈值使用第二合并文件阈值;
其中,第一合并文件阈值大于第二合并文件阈值。


4.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:接受生成的数据文件前,禁用系统自带的合并策略。


5.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:若需合并的数据文件的大小超过文件大小阈值,按...

【专利技术属性】
技术研发人员:叶志钢王化民张本军王赟谭国权赵雨佳
申请(专利权)人:武汉绿色网络信息服务有限责任公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1