一种数据存储格式的转换方法及装置制造方法及图纸

技术编号:12950465 阅读:160 留言:0更新日期:2016-03-02 11:15
本发明专利技术的实施例提供一种数据存储格式的转换方法及装置,涉及数据库系统技术领域,能够使得数据库系统动态确定底层存储格式,实现系统自动调节优化功能。该方法包括:若以第一存储格式存储数据的数据库的系统性能指标满足用户设定的转换条件,则确定数据库中存储数据所需的第二存储格式;将数据的存储格式从第一存储格式转换为第二存储格式;判断存储格式转换后的数据库的压缩比是否满足第一预设条件,并对数据库中的数据进行排序,测试排序时间是否满足第二预设条件;若压缩比满足第一预设条件,且排序时间满足第二预设条件,则进行对外服务;或者,若压缩比不满足第一预设条件,和/或排序时间不满足第二预设条件,则重新确定第二存储格式。

【技术实现步骤摘要】
【国外来华专利技术】一种数据存储格式的转换方法及装置
本专利技术涉及数据库系统
,尤其涉及一种数据存储格式的转换方法及装置。
技术介绍
随着社会信息化程度的不断加深,数据库系统的使用越来越广泛,不断累积的海量数据和不断增长的数据膨胀对数据库系统提出了新的要求。在数据库中存储的数据具有一定的存储格式,不同的存储格式能够影响数据库系统的性能。行存储结构能够快速完成数据加载,对动态负载的适应较高,但行存储结构不能支持快速查询处理,同时空间利用率也不易大幅提高。尽管通过熵编码和利用列相关性能够获得一个较好的压缩比,但是复杂数据存储实现会导致解压开销增大。列存储结构则将同一个记录的不同域分散存储而这些记录的重构将带来较大开销,但是列存储能够避免读不必要的列,并且压缩一个列中的相似数据能够达到较高的压缩比。目前,综合行存储、列存储的优缺点,产生了各种行列组合存储方式,如PAX或者行列混合存储(RCFile,RecordColumnarFile)这些存储方式通过对底层存储格式的优化,使系统性能更加优化。然而,现有的数据库的行、列或者行列混合存储格式都是完全依赖于数据库初始化时的初始设定,即用户在创建数据库时所指定的数据库底层存储格式。当用户需要更改数据库存储格式时,需要数据库管理员(DBA,DatabaseAdministrator)手动离线修改。
技术实现思路
本专利技术的实施例提供一种数据存储格式的转换方法及装置,能够使得数据库系统根据负载情况,动态确定数据库底层存储格式,实现了系统自动调节优化功能,降低查询语句的吞吐量,同时提升系统的存储空间和利用率。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种控制器,包括:决策单元,用于若以第一存储格式存储数据的数据库的系统性能指标满足用户设定的转换条件,则确定所述数据库中存储数据所需的第二存储格式;存储格式转换单元,用于将所述数据库中的数据的存储格式从所述第一存储格式转换为所述第二存储格式;反馈单元,用于判断存储格式转换后的数据库的压缩比是否满足第一预设条件,并对所述存储格式转换后的数据库中的数据进行排序,测试排序时间是否满足第二预设条件;若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务,或者,若所述压缩比不满足第一预设条件,和/或所述排序时间不满足第二预设条件,则发送反馈信息至所述决策单元,以使得所述决策单元根据所述反馈信息中的用户待设定的核心指标阈值重新确定所述数据库中存储数据所需的第二存储格式。在第一方面的第一种可能实现方式中,所述方法还包括:所述决策单元,还用于在确定所述数据库中存储数据所需的第二存储格式之前,判断所述系统性能指标是否满足用户设定的核心指标阈值;若所述系统性能指标满足所述核心指标阈值,则判断所述系统性能指标是否满足所述转换条件。结合第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中,所述决策单元,还用于若所述系统性能指标不满足所述转换条件,则保持所述数据库中存储数据的格式为所述第一存储格式。结合前述的第一方面或第一方面的第一种可能的实现方式至第一方面的第二种可能的实现方式中的任一种可能实现方式,在第一方面的第三种可能的实现方式中,所述控制器还包括数据采集单元;所述数据采集单元,用于采集所述系统性能指标。结合前述的第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任一种可能实现方式,在第一方面的第四种可能的实现方式中,所述决策单元,还用于在确定所述数据库中存储数据所需的第二存储格式之后,根据用户配置信息,确定将所述数据库中的数据的存储格式从所述第一存储格式转换为所述第二存储格式的转换时刻。结合第一方面的第四种可能实现方式,在第一方面的第五种可能的实现方式中,所述存储格式转换单元,具体用于根据所述第二存储格式和所述转换时刻,在缓冲区中将所述数据库中的数据重组,若所述缓冲区中的数据量达到磁盘写阈值,则将所述缓冲区中的数据写入磁盘。结合第一方面的第五种可能实现方式,在第一方面的第六种可能的实现方式中,所述存储格式转换单元,具体用于若所述缓冲区中的数据的所述第二存储格式为单列存储,则将所述缓冲区中的数据的存储格式从所述第一存储格式转换为所述单列存储,以及压缩并存储所述缓冲区中的数据;或者,若所述缓冲区中的数据的所述第二存储格式为行列混合存储或行存储,则将所述缓冲区中的数据的存储格式从所述第一存储格式转换为所述行列混合存储或所述行存储,并存储所述缓冲区中的数据。结合第一方面的第五种可能实现方式,在第一方面的第七种可能的实现方式中,所述控制器还包括读取单元;所述读取单元,用于在所述存储格式转换单元根据所述第二存储格式和所述转换时刻,在缓冲区中将所述数据库中的数据重组之前,若所述第一存储格式为行存储,则按行读取所述数据库中的数据。结合前述的第一方面或第一方面的第一种可能实现方式至第一方面的第七种可能实现方式中的任一种实现方式,在第一方面的第八种可能实现方式中,所述数据采集单元,还用于在若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务之后,采集所述存储格式转换后的数据库的数据吞吐量及查询语句响应时间。结合前述的第一方面或第一方面的第一种可能实现方式至第一方面的第八种可能实现方式中的任一种实现方式,在第一方面的第九种可能实现方式中,所述系统性能指标至少包括数据量、查询平均访问数据量、处理行数占读取行数比例、查询平均访问的列比、以及查询语句所占比例。第二方面,本专利技术实施例提供一种控制器,包括:处理器,用于若以第一存储格式存储数据的数据库的系统性能指标满足用户设定的转换条件,则确定所述数据库中存储数据所需的第二存储格式;在格式转换器将所述数据库中的数据的存储格式从所述第一存储格式转换为所述第二存储格式后,判断存储格式转换后的数据库的压缩比是否满足第一预设条件,并对所述存储格式转换后的数据库中的数据进行排序,测试排序时间是否满足第二预设条件;若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务,或者,若所述压缩比不满足第一预设条件,和/或所述排序时间不满足第二预设条件,则根据用户待设定的核心指标阈值重新确定所述数据库中存储数据所需的第二存储格式;格式转换器,用于将所述数据库中的数据的存储格式从所述第一存储格式转换为所述处理器确定的所述第二存储格式。在第二方面的第一种可能的实现方式中,所述处理器,还用于在确定所述数据库中存储数据所需的第二存储格式之前,判断所述系统性能指标是否满足用户设定的核心指标阈值;若所述系统性能指标满足所述核心指标阈值,则判断所述系统性能指标是否满足所述转换条件。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理器,还用于若所述系统性能指标不满足所述转换条件,则保持所述数据库中存储数据的格式为所述第一存储格式。结合前述的第二方面或第二方面的第一种可能的实现方式至第二方面的第二种可能的实现方式中的任一种实现方式,在第二方面的第三种可能的实现方式中,所述控制器还包括数据采集器;所述数据采集器,用于采集所述系统性能指标。结合前述的第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能本文档来自技高网...

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种控制器,其特征在于,包括:决策单元,用于若以第一存储格式存储数据的数据库的系统性能指标满足用户设定的转换条件,则确定所述数据库中存储数据所需的第二存储格式;存储格式转换单元,用于将所述数据库中的数据的存储格式从所述第一存储格式转换为所述决策单元确定的所述第二存储格式;反馈单元,用于判断存储格式转换后的数据库的压缩比是否满足第一预设条件,并对所述存储格式转换后的数据库中的数据进行排序,测试排序时间是否满足第二预设条件;若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务,或者,若所述压缩比不满足第一预设条件,和/或所述排序时间不满足第二预设条件,则发送反馈信息至所述决策单元,以使得所述决策单元根据所述反馈信息中的用户待设定的核心指标阈值重新确定所述数据库中存储数据所需的第二存储格式。2.根据权利要求1所述的控制器,其特征在于,所述决策单元,还用于在确定所述数据库中存储数据所需的第二存储格式之前,判断所述系统性能指标是否满足用户设定的核心指标阈值;若所述系统性能指标满足所述核心指标阈值,则判断所述系统性能指标是否满足所述转换条件。3.根据权利要求2所述的控制器,其特征在于,所述决策单元,还用于若所述系统性能指标不满足所述转换条件,则保持所述数据库中存储数据的格式为所述第一存储格式。4.根据权利要求1-3中任一项所述的控制器,其特征在于,所述控制器还包括数据采集单元,所述数据采集单元,还用于采集所述系统性能指标。5.根据权利要求1-3中任一项所述的控制器,其特征在于,所述决策单元,还用于在确定所述数据库中存储数据所需的第二存储格式之后,根据用户配置信息,确定将所述数据库中的数据的存储格式从所述第一存储格式转换为所述第二存储格式的转换时刻。6.根据权利要求5所述的控制器,其特征在于,所述存储格式转换单元,具体用于根据所述决策单元确定的所述第二存储格式和所述转换时刻,在缓冲区中将所述数据库中的数据重组,若所述缓冲区中的数据量达到磁盘写阈值,则将所述缓冲区中的数据写入磁盘。7.根据权利要求6所述的控制器,其特征在于,所述存储格式转换单元,具体用于若所述缓冲区中的数据的所述第二存储格式为单列存储,则将所述缓冲区中的数据的存储格式从所述第一存储格式转换为所述单列存储,以及压缩并存储所述缓冲区中的数据;或者,若所述缓冲区中的数据的所述第二存储格式为行列混合存储或行存储,则将所述缓冲区中的数据的存储格式从所述第一存储格式转换为所述行列混合存储或所述行存储,并存储所述缓冲区中的数据。8.根据权利要求6所述的控制器,其特征在于,所述控制器还包括读取单元;所述读取单元,用于在所述存储格式转换单元根据所述第二存储格式和所述转换时刻,在缓冲区中将所述数据库中的数据重组之前,若所述第一存储格式为行存储,则按行读取所述数据库中的数据。9.根据权利要求1-3、6-8中任一项所述的控制器,其特征在于,所述数据采集单元,还用于在若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务之后,采集所述存储格式转换后的数据库的数据吞吐量及查询语句响应时间。10.根据权利要求9所述的控制器,其特征在于,所述系统性能指标至少包括数据量、查询平均访问数据量、处理行数占读取行数比例、查询平均访问的列比、以及查询语句所占比例。11.一种控制器,其特征在于,包括:处理器,用于若以第一存储格式存储数据的数据库的系统性能指标满足用户设定的转换条件,则确定所述数据库中存储数据所需的第二存储格式;在格式转换器将所述数据库中的数据的存储格式从所述第一存储格式转换为所述第二存储格式后,判断存储格式转换后的数据库的压缩比是否满足第一预设条件,并对所述存储格式转换后的数据库中的数据进行排序,测试排序时间是否满足第二预设条件;若所述压缩比满足第一预设条件,且所述排序时间满足第二预设条件,则进行对外服务,或者,若所述压缩比不满足第一预设条件,和/或所述排序时间不满足第二预设条件,则根据用户待设定的核心指标阈值重新确定所述数据库中存储数据所需的第二存储格式;格式转换器,用于将所述数据库中的数据的存储格式从所述第一存储格式转换为所述处理器确定的所述第二存储格式。12.根据权利要求11所述的控制器,其特征在于,所述处理器,还用于在确定所述数据库中存储数据所需的第二存储格式之前,判断所述系统性能指标是否满足用户设定的核心指标阈值;若所述系统性能指标满足所述核心指标阈值,则判断所述系统性能指标是否满足所述转换条件。13.根据权利要求12所述的控制器,其特征在于,所述处理器,还用于若所述系统性能指标不满足所述转换条件,则保持所述数据库中存储数据的格式为所述第一存储格式。14.根据权利要求11-13中任一项所述的控制器,其特征在于,所述控制器还包括数据采集器;所述数据采集器,用于采集所述系统性能指标。15.根据权利要求11-13中任一项所述的控制器,其特征在于,所述处理器,还用于在确定所述数据库中存储数据所需的第二存储格式...

【专利技术属性】
技术研发人员:李怀洲姜旭栋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1