【技术实现步骤摘要】
一种基于cassandra数据库的文件合并的方法和装置
本专利技术涉及数据库领域,特别是涉及一种基于cassandra数据库的文件合并的方法和装置。
技术介绍
Cassandra数据库是一种开源的分布式混合存储的存储方案,具备去中心化、可扩展性、高可用、容错性和可配置的一致性等特性。由于cassandra将缓存的数据顺序刷入磁盘时,会生成多个1-10MB左右的数据文件(SortedStringTable,简写为:sstable)。在cassandra数据库数据处理量很大时,巨大的文件数量会严重影响数据库的稳定性,并且拖慢查询速度。为了减小需处理文件的数量,cassandra数据库提供了文件合并(Compaction)机制将多个大文件合并为少量小文件。目前常用的文件合并策略有:(1)SizeTieredCompactionStrategy基于文件大小进行多层合并,将小文件放入小文件合并线程进行合并,大文件放入大文件合并线程进行合并,最终获得需要的文件大小。每次合并文件数量由max_thresho ...
【技术保护点】
1.一种基于cassandra数据库的文件合并的方法,其特征在于:/n接受数据库生成的数据文件,生成各磁盘的合并文件列表;/n各磁盘的合并进程获取相应磁盘的合并文件列表,获取各磁盘的合并文件列表中需合并的数据文件大小;/n启动数据库的并行合并进程,计算各磁盘的合并进程获取到数据文件大小的总和;/n数据文件大小的总和达到合并文件阈值时,并行合并进程一次性合并所有磁盘中需合并的数据文件。/n
【技术特征摘要】
1.一种基于cassandra数据库的文件合并的方法,其特征在于:
接受数据库生成的数据文件,生成各磁盘的合并文件列表;
各磁盘的合并进程获取相应磁盘的合并文件列表,获取各磁盘的合并文件列表中需合并的数据文件大小;
启动数据库的并行合并进程,计算各磁盘的合并进程获取到数据文件大小的总和;
数据文件大小的总和达到合并文件阈值时,并行合并进程一次性合并所有磁盘中需合并的数据文件。
2.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:若需合并的文件总大小未达到合并文件阈值,不进行本次合并,等待接受数据库下一次生成的数据文件。
3.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:
判断每个数据文件的大小是否小于文件数据量阈值;
若小于文件数据量阈值,合并文件阈值使用第一合并文件阈值;
若大于文件数据量阈值,合并文件阈值使用第二合并文件阈值;
其中,第一合并文件阈值大于第二合并文件阈值。
4.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:接受生成的数据文件前,禁用系统自带的合并策略。
5.根据权利要求1所述的基于cassandra数据库的文件合并的方法,其特征在于:若需合并的数据文件的大小超过文件大小阈值,按...
【专利技术属性】
技术研发人员:叶志钢,王化民,张本军,王赟,谭国权,赵雨佳,
申请(专利权)人:武汉绿色网络信息服务有限责任公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。