CN105378716A - 一种数据存储格式的转换方法及装置 - Google Patents

一种数据存储格式的转换方法及装置 Download PDF

Info

Publication number
CN105378716A
CN105378716A CN201480000190.5A CN201480000190A CN105378716A CN 105378716 A CN105378716 A CN 105378716A CN 201480000190 A CN201480000190 A CN 201480000190A CN 105378716 A CN105378716 A CN 105378716A
Authority
CN
China
Prior art keywords
data
storage
storage format
database
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480000190.5A
Other languages
English (en)
Other versions
CN105378716B (zh
Inventor
李怀洲
姜旭栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luo Sanjie
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105378716A publication Critical patent/CN105378716A/zh
Application granted granted Critical
Publication of CN105378716B publication Critical patent/CN105378716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种数据存储格式的转换方法及装置
技术领域
本发明涉及数据库***技术领域, 尤其涉及一种数据存储格式 的转换方法及装置。
背景技术
随着社会信息化程度的不断加深, 数据库***的使用越来越广 泛, 不断累积的海量数据和不断增长的数据膨胀对数据库***提出 了新的要求。
在数据库中存储的数据具有一定的存储格式, 不同的存储格式 能够影响数据库***的性能。 行存储结构能够快速完成数据加载, 对动态负载的适应较高, 但行存储结构不能支持快速查询处理, 同 时空间利用率也不易大幅提高。 尽管通过熵编码和利用列相关性能 够获得一个较好的压缩比, 但是复杂数据存储实现会导致解压开销 增大。 列存储结构则将同一个记录的不同域分散存储而这些记录的 重构将带来较大开销, 但是列存储能够避免读不必要的列, 并且压 缩一个列中的相似数据能够达到较高的压缩比。
目前, 综合行存储、 列存储的优缺点, 产生了各种行列组合存 储方式, ¾口 PAX或者行歹 'J 昆合存储 ( RCFi le, Record Columnar File )
然而, 现有的数据库的行、 列或者行列混合存储格式都是完全 依赖于数据库初始化时的初始设定, 即用户在创建数据库时所指定 的数据库底层存储格式。 当用户需要更改数据库存储格式时, 需要 数据库管理员 ( DBA, Database Administrator ) 手动离线修改。 发明内容
本发明的实施例提供一种数据存储格式的转换方法及装置, 能 够使得数据库***根据负载情况, 动态确定数据库底层存储格式, 实现了***自动调节优化功能, 降低查询语句的吞吐量, 同时提升 ***的存储空间和利用率。
为达到上述目的, 本发明的实施例釆用如下技术方案: 第一方面, 本发明实施例提供一种控制器, 包括:
决策单元, 用于若以第一存储格式存储数据的数据库的*** ' f生 能指标满足用户设定的转换条件, 则确定所述数据库中存储数据所 需的第二存储格式;
存储格式转换单元, 用于将所述数据库中的数据的存储格式从 所述第一存储格式转换为所述第二存储格式;
反馈单元, 用于判断存储格式转换后的数据库的压缩比是否满 足第一预设条件, 并对所述存储格式转换后的数据库中的数据进行 排序, 测试排序时间是否满足第二预设条件; 若所述压缩比满足第 一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服务, 或者, 若所述压缩比不满足第一预设条件, 和 /或所述排序时间不满 足第二预设条件, 则发送反馈信息至所述决策单元, 以使得所述决 策单元根据所述反馈信息中的用户待设定的核心指标阈值重新确定 所述数据库中存储数据所需的第二存储格式。
在第一方面的第一种可能实现方式中, 所述方法还包括: 所述决策单元, 还用于在确定所述数据库中存储数据所需的第 二存储格式之前, 判断所述***性能指标是否满足用户设定的核心 指标阈值; 若所述***性能指标满足所述核心指标阈值, 则判断所 述***性能指标是否满足所述转换条件。
结合第一方面的第一种可能实现方式, 在第一方面的第二种可 能的实现方式中, 所述决策单元, 还用于若所述***性能指标不满 足所述转换条件, 则保持所述数据库中存储数据的格式为所述第一 存储格式。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 一方面的第二种可能的实现方式中的任一种可能实现方式, 在第一 方面的第三种可能的实现方式中, 所述控制器还包括数据釆集单元; 所述数据釆集单元, 用于釆集所述***性能指标。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 一方面的第三种可能的实现方式中的任一种可能实现方式, 在第一 方面的第四种可能的实现方式中, 所述决策单元, 还用于在确定所 述数据库中存储数据所需的第二存储格式之后, 根据用户配置信息, 确定将所述数据库中的数据的存储格式从所述第一存储格式转换为 所述第二存储格式的转换时刻。
结合第一方面的第四种可能实现方式, 在第一方面的第五种可 能的实现方式中, 所述存储格式转换单元, 具体用于根据所述第二 存储格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组, 若所述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中的数 据写入磁盘。
结合第一方面的第五种可能实现方式, 在第一方面的第六种可 能的实现方式中, 所述存储格式转换单元, 具体用于若所述緩冲区 中的数据的所述第二存储格式为单列存储, 则将所述緩冲区中的数 据的存储格式从所述第一存储格式转换为所述单列存储, 以及压缩 并存储所述緩冲区中的数据; 或者, 若所述緩冲区中的数据的所述 第二存储格式为行列混合存储或行存储, 则将所述緩冲区中的数据 的存储格式从所述第一存储格式转换为所述行列混合存储或所述行 存储, 并存储所述緩冲区中的数据。
结合第一方面的第五种可能实现方式, 在第一方面的第七种可 能的实现方式中, 所述控制器还包括读取单元;
所述读取单元, 用于在所述存储格式转换单元根据所述第二存 储格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组之 前, 若所述第一存储格式为行存储, 则按行读取所述数据库中的数 据。
结合前述的第一方面或第一方面的第一种可能实现方式至第一 方面的第七种可能实现方式中的任一种实现方式, 在第一方面的第 八种可能实现方式中,
所述数据釆集单元,还用于在若所述压缩比满足第一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服务之后, 釆集所 述存储格式转换后的数据库的数据吞吐量及查询语句响应时间。 结合前述的第一方面或第一方面的第一种可能实现方式至第一 方面的第八种可能实现方式中的任一种实现方式, 在第一方面的第 九种可能实现方式中, 所述***性能指标至少包括数据量、 查询平 均访问数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查询语句所占比例。
第二方面, 本发明实施例提供一种控制器, 包括:
处理器, 用于若以第一存储格式存储数据的数据库的***性能 指标满足用户设定的转换条件, 则确定所述数据库中存储数据所需 的第二存储格式; 在格式转换器将所述数据库中的数据的存储格式 从所述第一存储格式转换为所述第二存储格式后, 判断存储格式转 换后的数据库的压缩比是否满足第一预设条件, 并对所述存储格式 转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预 设条件; 若所述压缩比满足第一预设条件, 且所述排序时间满足第 二预设条件, 则进行对外服务, 或者, 若所述压缩比不满足第一预 设条件, 和 /或所述排序时间不满足第二预设条件, 则根据用户待设 定的核心指标阈值重新确定所述数据库中存储数据所需的第二存储 格式;
格式转换器, 用于将所述数据库中的数据的存储格式从所述第 一存储格式转换为所述处理器确定的所述第二存储格式。
在第二方面的第一种可能的实现方式中, 所述处理器, 还用于 在确定所述数据库中存储数据所需的第二存储格式之前, 判断所述 ***性能指标是否满足用户设定的核心指标阈值; 若所述***性能 指标满足所述核心指标阈值, 则判断所述***性能指标是否满足所 述转换条件。
结合第二方面的第一种可能的实现方式, 在第二方面的第二种 可能的实现方式中, 所述处理器, 还用于若所述***性能指标不满 足所述转换条件, 则保持所述数据库中存储数据的格式为所述第一 存储格式。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 二方面的第二种可能的实现方式中的任一种实现方式, 在第二方面 的第三种可能的实现方式中, 所述控制器还包括数据釆集器;
所述数据釆集器, 用于釆集所述***性能指标。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 二方面的第三种可能的实现方式中的任一种实现方式中, 在第二方 面的第四种可能的实现方式中, 所述处理器, 还用于在确定所述数 据库中存储数据所需的第二存储格式之后, 根据用户配置信息, 确 定将所述数据库中的数据的存储格式从所述第一存储格式转换为所 述第二存储格式的转换时刻。
结合第二方面的第四种可能的实现方式, 在第二方面的第五种 可能的实现方式中, 所述格式转换器, 具体用于根据所述第二存储 格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组, 若 所述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中的数据 写入磁盘。
结合第二方面的第五种可能的实现方式, 在第二方面的第六种 可能的实现方式中, 所述格式转换器, 具体用于若所述緩冲区中的 数据的所述第二存储格式为单列存储, 则将所述緩冲区中的数据的 存储格式从所述第一存储格式转换为所述单列存储, 以及压缩并存 储所述緩冲区中的数据; 或者, 若所述緩冲区中的数据的所述第二 存储格式为行列混合存储或行存储, 则将所述緩冲区中的数据的存 储格式从所述第一存储格式转换为所述行列混合存储或所述行存 储, 并存储所述緩冲区中的数据。
结合第二方面的第五种可能的实现方式, 在第二方面的第七种 可能的实现方式中, 所述处理器, 还用于在所述存储格式转换器根 据所述第二存储格式和所述转换时刻, 在緩冲区中将所述数据库中 的数据重组之前, 若所述第一存储格式为行存储, 则按行读取所述 数据库中的数据。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 二方面的第七种可能的实现方式中的任一种实现方式, 在第二方面 的第八种可能的实现方式中,
所述数据釆集器, 还用于在若所述压缩比满足第一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服务之后, 釆集所 述存储格式转换后的数据库的数据吞吐量及查询语句响应时间。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 二方面的第八种可能的实现方式中的任一种实现方式, 在第二方面 的第九种可能的实现方式中, 所述***性能指标至少包括数据量、 查询平均访问数据量、 处理行数占读取行数比例、 查询平均访问的 列比、 以及查询语句所占比例。
第三方面, 本发明实施例提供一种数据存储格式的转换方法, 包括:
步骤 a : 若以第一存储格式存储数据的数据库的***性能指标 满足用户设定的转换条件, 则确定所述数据库中存储数据所需的第 二存储格式;
步骤 b : 将所述数据库中的数据的存储格式从所述第一存储格 式转换为所述第二存储格式;
步骤 c : 判断存储格式转换后的数据库的压缩比是否满足第一 预设条件, 并对所述存储格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条件;
步骤 d : 若所述压缩比满足第一预设条件, 且所述排序时间满 足第二预设条件, 则进行对外服务; 或者, 若所述压缩比不满足第 一预设条件, 和 /或所述排序时间不满足第二预设条件, 则根据用户 待设定的核' ^指标阈值重新执行上述步骤。
在第三方面的第一种可能的实现方式中, 所述确定所述数据库 中存储数据所需的第二存储格式之前, 所述方法还包括:
判断所述***性能指标是否满足用户设定的核心指标阈值; 若所述***性能指标满足所述核心指标阈值, 则判断所述*** 性能指标是否满足所述转换条件。
结合第三方面的第一种可能的实现方式, 在第三方面的第二种 可能的实现方式中, 若所述***性能指标不满足所述转换条件, 则 保持所述数据库中存储数据的格式为所述第一存储格式。
结合前述的第三方面或第三方面的第一种可能的实现方式至第 二种可能的实现方式的任一种实现方式, 在第三方面的第三种可能 的实现方式中, 所述方法还包括:
釆集所述***性能指标。
结合前述的第三方面或第三方面的第一种可能的实现方式至第 三种可能的实现方式的任一种实现方式, 在第三方面的第四种可能 的实现方式中, 在确定所述数据库中存储数据所需的第二存储格式 之后, 所述方法还包括:
根据用户配置信息, 确定将所述数据库中的数据的存储格式从 所述第一存储格式转换为所述第二存储格式的转换时刻。
结合第三方面的第四种可能的实现方式, 在第三方面的第五种 可能的实现方式中, 所述将所述数据库中的数据的存储格式从所述 第一存储格式转换为所述第二存储格式, 具体包括:
根据所述第二存储格式和所述转换时刻, 在緩冲区中将所述数 据库中的数据重组;
若所述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中 的数据写入磁盘。
结合第三方面的第五种可能的实现方式, 在第三方面的第六种 可能的实现方式中, 所述将所述緩冲区中的数据写入磁盘, 具体包 括:
若所述緩冲区中的数据的所述第二存储格式为单列存储, 则将 所述緩冲区中的数据的存储格式从所述第一存储格式转换为所述单 列存储, 以及压缩并存储所述緩冲区中的数据; 或者,
若所述緩冲区中的数据的所述第二存储格式为行列混合存储或 行存储, 则将所述緩冲区中的数据的存储格式从所述第一存储格式 转换为所述行列混合存储或所述行存储, 并存储所述緩冲区中的数 据。 结合第三方面的第五种可能的实现方式, 在第三方面的第七种 可能的实现方式中, 所述根据所述第二存储格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组之前, 所述方法还包括: 若所述第一存储格式为行存储, 则按行读取所述数据库中的数 据。
结合前述的第三方面或第三方面的第一种可能的实现方式至第 七种可能的实现方式中的任一种实现方式, 在第三方面的第八种可 能的实现方式中, 所述若所述压缩比满足第一预设条件, 且所述排 序时间满足第二预设条件, 则进行对外服务之后, 所述方法还包括: 釆集所述存储格式转换后的数据库的数据吞吐量及查询语句响 应时间。
结合前述的第三方面或第三方面的第一种可能实现方式至第八 种可能的实现方式中的任一种实现方式, 在第三方面的第九种可能 的实现方式中, 所述***性能指标至少包括数据量、 查询平均访问 数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查 询语句所占比例。
本发明实施例提供一种数据存储格式的转换方法及装置, 若以 第一存储格式存储数据的数据库的***性能指标满足用户设定的转 换条件, 控制器则确定数据库中存储数据所需的第二存储格式, 并 将数据库中的数据的存储格式从第一存储格式转换为第二存储格 式, 然后, 控制器判断存储格式转换后的数据库的压缩比是否满足 第一预设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条件, 若压缩比满足第一预设条件, 且排序时间满足第二预设条件, 则进行对外服务; 或者, 若压缩比 不满足第一预设条件, 和 /或排序时间不满足第二预设条件, 则根据 用户待设定的核心指标阈值重新执行确定数据库中存储数据所需的 第二存储格式。 通过该方案, 控制器通过对***实际运行数据的监 测, 不断确定数据库***中数据的最优存储格式, 即控制器能够使 数据库***根据负载情况动态确定数据库***中数据的存储格式, 解决了 目前在改变数据库存储格式时, 需要数据库管理员手动离线 修改, ***存储空间和利用率低的问题, 通过自决策数据存储格式, 降低了查询语句的吞吐量, 同时提升***的存储空间和利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下 面将对实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于 本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。
图 1为本发明实施例的控制器的结构示意图一;
图 2为本发明实施例的控制器的结构示意图二;
图 3为本发明实施例的控制器的结构示意图三;
图 4为本发明实施例的控制器的结构示意图四;
图 5 为本发明实施例的数据存储格式的转换方法流程示意图 图 6 为本发明实施例的数据存储格式的转换方法流程示意图 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术 方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明 一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本 领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
本文描述的各种技术适用于数据库领域, 例如: 数据库底层数 据存储格式的动态优化、 数据库集群中数据分布、 数据库物化策略、 数据库索引策略等。
目前, 基于数据库的应用主要分为 OLTP ( On-Line Transact ion Processing , 联机事 务处理 ) 和 0LAP ( On-Line Analytical Processing, 联机分析处理) 两类, 前者需要处理涉及频繁 "写" 操作的事物性查询, 后者侧重于处理涉及大量 "读" 操作的分析型 查询。 列存储在读操作上有着较大的优势, 非常适用于 0LAP查询, 但对写操作的支持并不理想, 因此并不适合 0LTP 查询。 行存储对 0LTP查询支持的非常好。
行存储结构的优点在于快速数据加载和动态负载的高适应能 力, 这是因为行存储保证了相同记录的所有域都在同一个节点。 但 是, 行存储的缺点也是显而易见的, 例如, 它不能支持快速查询处 理, 因为当查询仅仅针对多列表中的少数几列时, 它不能跳过不必 要的列读取; 此外, 由于混合着不同数据值的列, 行存储不易获得 一个极高的压缩比, 即空间利用率不易大幅提高。 尽管通过熵编码 和利用列相关性能够获得一个较好的压缩比, 但是复杂数据存储实 现会导致解压开销增大。
列存储将同一个记录的不同域分散存储, 而这些记录的重构将 带来较大开销。 但是列存储能够避免读不必要的列, 并且压缩一个 列中的相似数据能够达到较高的压缩比。
目前, 综合行存储、 列存储的优缺点, 产生了各种行列组合存 储方式, 如 PAX或者 RCFile这些存储方式通过对底层存储格式的优 化, 使***性能更加优化。 但是, 现有的数据库的行、 列或者行列 混合存储格式都是完全依赖于数据库初始化时的初始设定, 即用户 在创建数据库时所指定的数据库底层存储格式。 当用户需要更改数 据 库 存 储格 式 时 , 需 要数据 库 管 理 员 ( DBA , Database Administrator ) 手动离线修改, 缺少了***自动调节优化功能。
本发明提供一种数据存储格式的转换方法及装置, 能够使得数 据库***根据负载情况, 动态确定数据库底层存储格式, 实现了系 统自动调节优化功能, 降低查询语句的吞吐量, 同时提升***的存 储空间和利用率。 实施例一
本发明实施例提供一种控制器, 如图 1所示, 包括: 决策单元 10, 用于若以第一存储格式存储数据的数据库的*** 性能指标满足用户设定的转换条件, 则确定所述数据库中存储数据 所需的第二存储格式;
存储格式转换单元 11, 用于将所述数据库中的数据的存储格式 从所述第一存储格式转换为所述决策单元 10 确定的所述第二存储 格式;
反馈单元 12, 用于判断存储格式转换后的数据库的压缩比是否 满足第一预设条件, 并对所述存储格式转换后的数据库中的数据进 行排序, 测试排序时间是否满足第二预设条件; 若所述压缩比满足 第一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服 务, 或者, 若所述压缩比不满足第一预设条件, 和 /或所述排序时间 不满足第二预设条件, 则发送反馈信息至所述决策单元 10, 以使得 所述决策单元根据所述反馈信息中的用户待设定的核心指标阈值重 新确定所述数据库中存储数据所需的第二存储格式。
进一步地, 所述决策单元 10, 还用于在确定所述数据库中存储 数据所需的第二存储格式之前, 判断所述***性能指标是否满足用 户设定的核心指标阈值; 若所述***性能指标满足所述核心指标阈 值, 则判断所述***性能指标是否满足所述转换条件。
进一步地, 所述决策单元 10, 还用于若所述***性能指标不满 足所述转换条件, 则保持所述数据库中存储数据的格式为所述第一 存储格式。
进一步地, 如图 2所示, 所述控制器还包括数据釆集单元 13; 所述数据釆集单元 13, 还用于釆集所述***性能指标。
进一步地, 所述决策单元 10, 还用于在确定所述数据库中存储 数据所需的第二存储格式之后, 根据用户配置信息, 确定将所述数 据库中的数据的存储格式从所述第一存储格式转换为所述第二存储 格式的转换时刻。
进一步地, 所述存储格式转换单元 11, 具体用于根据所述决策 单元 10确定的所述第二存储格式和所述转换时刻, 在緩冲区中将所 述数据库中的数据重组, 若所述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中的数据写入磁盘。
进一步地, 所述存储格式转换单元 1 1 , 具体用于若所述緩冲区 中的数据的所述第二存储格式为单列存储, 则将所述緩冲区中的数 据的存储格式从所述第一存储格式转换为所述单列存储, 以及压缩 并存储所述緩冲区中的数据; 或者, 若所述緩冲区中的数据的所述 第二存储格式为行列混合存储或行存储, 则将所述緩冲区中的数据 的存储格式从所述第一存储格式转换为所述行列混合存储或所述行 存储, 并存储所述緩冲区中的数据。
进一步地, 如图 2所示, 所述控制器还包括读取单元 1 4 , 所述读取单元 1 4 , 用于在所述存储格式转换单元 1 1 根据所述 第二存储格式和所述转换时刻, 在緩冲区中将所述数据库中的数据 重组之前, 若所述第一存储格式为行存储, 则按行读取所述数据库 中的数据。
进一步地, 所述数据釆集单元 1 3 , 还用于在若所述压缩比满足 第一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服 务之后, 釆集所述存储格式转换后的数据库的数据吞吐量及查询语 句响应时间。
进一步地, 所述***性能指标至少包括数据量、 查询平均访问 数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查 询语句所占比例。
本发明提供了一种控制器, 主要包括决策单元、 存储格式转换 单元和反馈单元。 若以第一存储格式存储数据的数据库的***性能 指标满足用户设定的转换条件, 决策单元则确定数据库中存储数据 所需的第二存储格式, 然后, 存储格式转换单元将数据库中的数据 的存储格式从第一存储格式转换为第二存储格式, 最后, 反馈单元 判断存储格式转换后的数据库的压缩比是否满足第一预设条件, 并 对存储格式转换后的数据库中的数据进行排序, 测试排序时间是否 满足第二预设条件, 若压缩比满足第一预设条件, 且排序时间满足 第二预设条件, 则进行对外服务; 或者, 若压缩比不满足第一预设 条件, 和 /或排序时间不满足第二预设条件, 则发送反馈信息至决策 单元, 以使得决策单元根据反馈信息中的用户待设定的核心指标阈 值重新确定数据库中存储数据所需的第二存储格式。 通过该方案, 控制器通过对***实际运行数据的监测, 不断确定数据库***中数 据的最优存储格式, 即控制器能够使数据库***根据负载情况动态 确定数据库***中数据的存储格式, 解决了 目前在改变数据库存储 格式时, 需要数据库管理员手动离线修改, ***存储空间和利用率 低的问题, 通过自决策数据存储格式, 降低了查询语句的吞吐量, 同时提升***的存储空间和利用率。 实施例二
本发明实施例实施例提供一种控制器, 如图 3所示, 包括: 处理器 2 0 , 用于若以第一存储格式存储数据的数据库的***性 能指标满足用户设定的转换条件, 则确定所述数据库中存储数据所 需的第二存储格式; 在格式转换器 2 1将所述数据库中的数据的存储 格式从所述第一存储格式转换为所述第二存储格式后, 判断存储格 式转换后的数据库的压缩比是否满足第一预设条件, 并对所述存储 格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第 二预设条件; 若所述压缩比满足第一预设条件, 且所述排序时间满 足第二预设条件, 则进行对外服务, 或者, 若所述压缩比不满足第 一预设条件, 和 /或所述排序时间不满足第二预设条件, 则根据用户 待设定的核心指标阈值重新确定所述数据库中存储数据所需的第二 存储格式;
格式转换器 2 1 , 用于将所述数据库中的数据的存储格式从所述 第一存储格式转换为所述处理器 2 0确定的所述第二存储格式。
进一步地, 所述处理器 2 0 , 还用于在确定所述数据库中存储数 据所需的第二存储格式之前, 判断所述***性能指标是否满足用户 设定的核心指标阈值; 若所述***性能指标满足所述核心指标阈值, 则判断所述***性能指标是否满足所述转换条件。
进一步地, 所述处理器 2 0 , 还用于若所述***性能指标不满足 所述转换条件, 则保持所述数据库中存储数据的格式为所述第一存 储格式。
进一步地, 如图 4所示, 所述控制器还包括数据釆集器 22 ; 所述数据釆集器 22 , 用于釆集所述***性能指标。
进一步地, 所述处理器 2 0 , 还用于在确定所述数据库中存储数 据所需的第二存储格式之后, 根据用户配置信息, 确定将所述数据 库中的数据的存储格式从所述第一存储格式转换为所述第二存储格 式的转换时刻。
进一步地, 所述格式转换器 2 1 , 具体用于根据所述第二存储格 式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组, 若所 述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中的数据写 入磁盘。
进一步地, 所述格式转换器 2 1 , 具体用于若所述緩冲区中的数 据的所述第二存储格式为单列存储, 则将所述緩冲区中的数据的存 储格式从所述第一存储格式转换为所述单列存储, 以及压缩并存储 所述緩冲区中的数据; 或者, 若所述緩冲区中的数据的所述第二存 储格式为行列混合存储或行存储, 则将所述緩冲区中的数据的存储 格式从所述第一存储格式转换为所述行列混合存储或所述行存储, 并存储所述緩冲区中的数据。
进一步地, 所述处理器 2 0 , 还用于在所述存储格式转换器根据 所述第二存储格式和所述转换时刻, 在緩冲区中将所述数据库中的 数据重组之前, 若所述第一存储格式为行存储, 则按行读取所述数 据库中的数据。
进一步地, 所述数据釆集器 2 2 , 用于在若所述压缩比满足第一 预设条件, 且所述排序时间满足第二预设条件, 则进行对外服务之 后, 釆集所述存储格式转换后的数据库的数据吞吐量及查询语句响 应时间。 进一步地, 所述***性能指标至少包括数据量、 查询平均访问 数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查 询语句所占比例。
本发明实施例提供一种控制器,主要包括处理器和格式转换器。 若以第一存储格式存储数据的数据库的***性能指标满足用户设定 的转换条件, 控制器则确定数据库中存储数据所需的第二存储格式, 并将数据库中的数据的存储格式从第一存储格式转换为第二存储格 式, 然后, 控制器判断存储格式转换后的数据库的压缩比是否满足 第一预设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条件, 若压缩比满足第一预设条件, 且排序时间满足第二预设条件, 则进行对外服务; 或者, 若压缩比 不满足第一预设条件, 和 /或排序时间不满足第二预设条件, 则根据 用户待设定的核心指标阈值重新执行确定数据库中存储数据所需的 第二存储格式。 通过该方案, 控制器通过对***实际运行数据的监 测, 不断确定数据库***中数据的最优存储格式, 即控制器能够使 数据库***根据负载情况动态确定数据库***中数据的存储格式, 解决了 目前在改变数据库存储格式时, 需要数据库管理员手动离线 修改, ***存储空间和利用率低的问题, 通过自决策数据存储格式, 降低了查询语句的吞吐量, 同时提升***的存储空间和利用率。 实施例三
本发明实施例提供一种数据存储格式的转换方法,如图 5所示, 该方法包括:
S 1 0 1、 若以第一存储格式存储数据的数据库的***性能指标满 足用户设定的转换条件, 控制器则确定数据库中存储数据所需的第 二存储格式。
现有的数据库的行、 列或者行列混合存储格式都是完全依赖于 数据库初始化时的初始设定, 即用户在创建数据库时所指定的数据 库底层存储格式。 当用户需要更改数据库存储格式时, 需要 DB A 手 动离线修改, 缺少了***自动调节优化功能。
为了解决***不能自动调节优化数据库中数据的存储格式的问 题, 本发明提供一种数据存储格式的转换方法, 能够使得数据库系 统根据负载情况, 动态确定数据库底层存储格式, 实现了***自动 调节优化功能。
在实际应用中, 数据库的 0L TP应用和 0LAP应用分别在写操作 和读操作上体现优势。 为了综合行存储、 列存储的优缺点, 产生了 各种行歹 'J组合存储方式, 0LTP和 0LAP ί虫合。 在面向 0LTP和 0LAP 融合的应用环境中, 数据库初始化以行方式存在。
完成数据库***中数据存储格式的转换, 控制器需要首先确定 数据库中存储数据所需的存储格式, 即确定数据库中存储的数据需 要以哪一种格式进行存储。
具体的, 若以第一存储格式存储数据的数据库的***性能指标 满足用户设定的转换条件, 控制器则确定数据库中存储数据所需的 第二存储格式。
其中, ***性能指标为控制器在一定的时间周期内釆集到的, 至少包括数据量、 查询平均访问数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查询语句所占比例。
进一步地, 控制器在确定数据库中存储数据所需的第二存储格 式之前, 需要判断数据库的***性能指标是否满足用户设定的转换 条件, 若该***性能指标不满足用户设定的转换条件, 则控制器不 做任何处理, 数据库中的数据依旧以第一存储格式存储。
示例性的, 若用户设定的转换条件为任意一列访问频度 (访问 此列次数 /访问此表次数) 达到 8 0%即可将该列转换为列存储, 当控 制器釆集到数据库中第 η 列的访问频度达到 8 0% , 控制器则确定该 第 η列数据釆用列存储格式进行存储。
相应的, 控制器确定数据库中存储数据所需的第二存储格式的 同时, 控制器需要计算出该数据库中需要进行行列转换的表, 确定 数据库中需要聚合存储的列和数据库中需要单独存储的列。 例如, 单独访问列频率最高的列按列方式单独存储。
进一步地, 在控制器确定数据库中存储数据所需的第二存储格 式后, 控制器还需要根据用户配置信息, 确定将数据库中数据的存 储格式从第一存储格式转换为第二存储格式的转换时刻。
具体的, 控制器可以根据***性能指标, 在负载空闲时刻进行 存储格式的转换, 也可以为在确定数据库中存储数据所需的第二存 储格式后, 提示用户可进行转换并将第二存储格式显示给用户, 当 用户输入命令后控制器进行存储格式的转换。
5 1 02、 控制器将数据库中的数据的存储格式从第一存储格式转 换为第二存储格式。
在控制器确定数据库存储数据所需的第二存储格式后, 控制器 将数据库中的数据的存储格式从第一存储格式转换为第二存储格 式。
具体的, 控制器确定第二存储格式和存储格式的转换时刻后, 控制器在緩冲区中将数据库中的数据按照第二存储格式重组, 当緩 冲区中的数据量达到磁盘写阈值时, 控制器则将该緩冲区中的数据 写入磁盘。
进一步地, 控制器根据緩冲区中的数据的第二存储格式, 对緩 冲区中的数据进行不同处理。 若緩冲区中的数据的所述第二存储格 式为单列存储, 则将緩冲区中的数据的存储格式从第一存储格式转 换为单列存储, 以及压缩并存储緩冲区中的数据; 或者, 若緩冲区 中的数据的第二存储格式为行列混合存储或行存储, 则将緩冲区中 的数据的存储格式从第一存储格式转换为行列混合存储或行存储, 并存储緩冲区中的数据。
5 1 0 3、 控制器判断存储格式转换后的数据库的压缩比是否满足 第一预设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条件。
在控制器将数据库中的数据的存储格式从第一存储格式转换为 第二存储格式后, 控制器需要检测存储格式的转换是否合理, 是否 能够优化数据库。
具体的, 控制器通过对数据库中已经转换为列的表进行大小变 化的判断, 并通过简单的排序测试排序时间。 由于, 表的大小直接 体现了数据库的压缩比, 压缩比越高空间利用率越高; 排序时间的 长短体现了消耗 C P U 内存资源的多少, 列存储能够提高排序效率。 因此, 控制器检测存储格式的转换是否合理, 需要判断存储格式转 换后的数据库的压缩比是否满足第一预设条件, 并对存储格式转换 后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条 件。
其中, 第一预设条件为存储格式转换后的数据库的压缩比小于 或等于第一预设阈值, 第二预设条件为排序时间小于或等于第二预 设阈值。
5 1 04、 若压缩比满足第一预设条件, 且排序时间满足第二预设 条件, 控制器则进行对外服务。
具体的, 若压缩比满足第一预设条件, 且排序时间满足第二预 设条件, 则说明当前存储格式的转换能够使得数据库***的性能得 到提升, 控制器则进行对外服务。
进一步地, 进行对外服务后, 控制器需要进一步观察釆集相应 指标, 判断数据库***性能是否优化, 即数据库***中是否需要进 一步分拆成列, 或者避免无需分割的列被分割。
其中,控制器釆集的指标包括数据吞吐量和查询语句响应时间。 数据吞吐量体现了是否减少了冗余数据读取, 若数据吞吐量的变化 不明显则说明有可能需要进一步分拆成列; 查询语句响应时间为判 断列存储是否有效的直接指标。
5 1 0 5、 若压缩比不满足第一预设条件, 和 /或排序时间不满足第 二预设条件, 控制器则根据用户待设定的核心指标阈值重新执行下
―次数据存储格式的转换。
若压缩比不满足第一预设条件,和 /或排序时间不满足第二预设 条件, 则说明控制器确定的第二存储格式不能使得数据库***的 ' f生 能得到有效提升, 控制器需要根据用户待设定的核心指标阈值重新 执行下一次数据存储格式的转换重新确定数据的第二存储格式。
本发明实施例提供一种数据存储格式的转换方法, 若以第一存 储格式存储数据的数据库的***性能指标满足用户设定的转换条 件, 控制器则确定数据库中存储数据所需的第二存储格式, 并将数 据库中的数据的存储格式从第一存储格式转换为第二存储格式, 然 后, 控制器判断存储格式转换后的数据库的压缩比是否满足第一预 设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排 序时间是否满足第二预设条件, 若压缩比满足第一预设条件, 且排 序时间满足第二预设条件, 则进行对外服务; 或者, 若压缩比不满 足第一预设条件, 和 /或排序时间不满足第二预设条件, 则根据用户 待设定的核心指标阈值重新执行确定数据库中存储数据所需的第二 存储格式。 通过该方案, 控制器通过对***实际运行数据的监测, 不断确定数据库***中数据的最优存储格式, 即控制器能够使数据 库***根据负载情况动态确定数据库***中数据的存储格式, 解决 了 目前在改变数据库存储格式时, 需要数据库管理员手动离线修改, ***存储空间和利用率低的问题, 通过自决策数据存储格式, 降低 了查询语句的吞吐量, 同时提升***的存储空间和利用率。 实施例四
S 2 0 K 控制器釆集以第一存储格式存储数据的数据库的***性 才旨才示。
现有的数据库的行、 列或者行列混合存储格式都是完全依赖于 数据库初始化时的初始设定, 即用户在创建数据库时所指定的数据 库底层存储格式。 当用户需要更改数据库存储格式时, 需要 DBA 手 动离线修改, 缺少了***自动调节优化功能。
为了解决***不能自动调节优化数据库中数据的存储格式的问 题, 本发明提供一种数据存储格式的转换方法, 能够使得数据库系 统根据负载情况, 动态确定数据库底层存储格式, 实现了***自动 调节优化功能。
在实际应用中, 数据库的 0L TP应用和 0LAP应用分别在写操作 和读操作上体现优势。 为了综合行存储、 列存储的优缺点, 产生了 各种行歹 'J组合存储方式, 0LTP和 0LAP ί虫合。 在面向 0LTP和 0LAP 融合的应用环境中, 数据库初始化以行方式存在。
具体的, 为了实现能够动态确定数据库底层存储格式, 控制器 首先釆集以第一存储格式存储数据的数据库的***性能指标, 以使 得控制器根据釆集到的性能指标来确定数据库存储数据所需的存储 格式。
其中, ***性能指标至少包括数据量、 查询平均访问数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查询语句所 占比例。 具体的,
数据量为是否使用列存的重要指标, 数据量越大查询越多越适 合使用列存, 数据量大小为整个数据库数据量大小;
查询平均访问数据量为数据库每次查询平均使用的数据行数, 平均访问数据量很大的场景适合列存;
处理行数占读取行数比例指平均每次操作实际使用的数据行数 占全部读取行数的比例, 在读取分析数据库中的数据时, 有些数据 虽然被从磁盘读入, 但是实际上***并未进行相关分析操作, 我们 期望的是读入的所有行数都能被***所处理, 所以比值越高越适合 列存;
查询平均访问的列比指平均查询语句访问的列 占总列数的比 例, 该比值越小越适合列存;
查询语句所占比例指查询操作在所有数据库操作中所占比例, 比值越接近 1 00%越适合列存。
S 2 02、 控制器判断***性能指标是否满足用户设定的核心指标 阈值。
在控制器釆集到以第一存储格式存储数据的数据库的***性能 指标后, 控制器对该***性能指标进行分析。 具体的, 控制器判断***性能指标是否满足用户设定的核心指 标阈值, 即控制器根据用户设定的核心指标阈值和决策算法对*** 性能指标进行决策分析。
可选的, 若用户设定的核心指标阈值包括: 查询平均访问的列 比阈值 Ta, 查询语句所占比例阈值 Tq 和处理行数占读取行数比例 阈值 Τρ , 则用户设定的决策算法可以为 (查询平均访问的列比 <Ta ) 和 /或 ( 查询语句所占比例〉 Tq ) 和 /或 (处理行数占读取行数比 例 >Tp )。
S203、 若***性能指标满足核心指标阈值, 控制器则判断*** 性能指标是否满足用户设定的转换条件。
若控制器确定***性能指标满足核心阈值, 即***性能指标满 足用户设定的决策算法, 控制器则判断该性能指标是否满足用户设 定的转换条件。 只有性能指标满足用户设定的转换条件, 控制器才 能确定数据库中存储数据所需的存储格式。
示例性的, 若用户设定的转换条件为任意一列访问频度 (访问 此列次数 /访问此表次数) 达到 80%即可将该列转换为列存储, 当控 制器釆集到数据库中第 n 列的访问频度达到 80%, 控制器才可确定 该第 n列数据釆用列存储格式进行存储。
S204、 若***性能指标满足转换条件, 控制器则确定数据库中 存储数据所需的第二存储格式。
具体的, 若以第一存储格式存储数据的数据库的***性能指标 满足用户设定的转换条件, 则说明数据库中的数据的存储格式可以 转换, 控制器可确定数据库中存储数据所需的第二存储格式。
相应的, 控制器确定数据库中存储数据所需的第二存储格式的 同时, 控制器需要计算出该数据库中需要进行行列转换的表, 确定 数据库中需要聚合存储的列和数据库中需要单独存储的列。 例如, 单独访问列频率最高的列按列方式单独存储。
S205、 控制器根据用户配置信息, 确定将数据库中的数据的存 储格式从第一存储格式转换为第二存储格式的转换时刻。 在控制器确定数据库中存储数据所需的第二存储格式后, 控制 器还需要根据用户配置信息, 确定将数据库中数据的存储格式从第 一存储格式转换为第二存储格式的转换时刻。
具体的, 控制器可以根据***性能指标, 在负载空闲时刻进行 存储格式的转换, 也可以为在确定数据库中存储数据所需的第二存 储格式后, 提示用户可进行转换并将第二存储格式显示给用户, 当 用户输入命令后控制器进行存储格式的转换。
S 2 06、 控制器将数据库中的数据的存储格式从第一存储格式转 换为第二存储格式。
在控制器确定数据库存储数据所需的第二存储格式后, 控制器 将数据库中的数据的存储格式从第一存储格式转换为第二存储格 式。
具体的, 控制器确定第二存储格式和存储格式的转换时刻后, 控制器在緩冲区中将数据库中的数据按照第二存储格式重组, 当緩 冲区中的数据量达到磁盘写阈值时, 控制器则将该緩冲区中的数据 写入磁盘, 其中, 若第一存储格式为行存储, 则控制器首先按行读 取数据库中的数据, 然后才在红冲区中将数据库中的数据按照第二 存储格式重组。
进一步地, 控制器根据緩冲区中的数据的第二存储格式, 对緩 冲区中的数据进行不同处理。 若緩冲区中的数据的所述第二存储格 式为单列存储, 则将緩冲区中的数据的存储格式从第一存储格式转 换为单列存储, 以及压缩并存储緩冲区中的数据; 或者, 若緩冲区 中的数据的第二存储格式为行列混合存储或行存储, 则将緩冲区中 的数据的存储格式从第一存储格式转换为行列混合存储或行存储, 并存储緩冲区中的数据。
S 2 07、 控制器判断存储格式转换后的数据库的压缩比是否满足 第一预设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条件。
在控制器将数据库中的数据的存储格式从第一存储格式转换为 第二存储格式后, 控制器需要检测存储格式的转换是否合理, 是否 能够优化数据库。
具体的, 控制器通过对数据库中已经转换为列的表进行大小变 化的判断, 并通过简单的排序测试排序时间。 由于, 表的大小直接 体现了数据库的压缩比, 压缩比越高空间利用率越高; 排序时间的 长短体现了消耗 CPU 内存资源的多少, 列存储能够提高排序效率。 因此, 控制器检测存储格式的转换是否合理, 需要判断存储格式转 换后的数据库的压缩比是否满足第一预设条件, 并对存储格式转换 后的数据库中的数据进行排序, 测试排序时间是否满足第二预设条 件。
其中, 第一预设条件为存储格式转换后的数据库的压缩比小于 或等于第一预设阈值, 第二预设条件为排序时间小于或等于第二预 设阈值。
S 2 08、 若压缩比满足第一预设条件, 且排序时间满足第二预设 条件, 控制器则进行对外服务。
具体的, 若压缩比满足第一预设条件, 且排序时间满足第二预 设条件, 则说明当前存储格式的转换能够使得数据库***的性能得 到提升, 控制器则进行对外服务。
进一步地, 进行对外服务后, 控制器需要进一步观察釆集相应 指标, 判断数据库***性能是否优化, 即数据库***中是否需要进 一步分拆成列, 或者避免无需分割的列被分割。
其中,控制器釆集的指标包括数据吞吐量和查询语句响应时间。 数据吞吐量体现了是否减少了冗余数据读取, 若数据吞吐量的变化 不明显则说明有可能需要进一步分拆成列; 查询语句响应时间为判 断列存储是否有效的直接指标。
S 2 09、 若压缩比不满足第一预设条件, 和 /或排序时间不满足第 二预设条件, 控制器则根据用户待设定的核心指标阈值重新执行下 ―次数据存储格式的转换。
若压缩比不满足第一预设条件,和 /或排序时间不满足第二预设 条件, 则说明控制器确定的第二存储格式不能使得数据库***的 ' f生 能得到有效提升, 控制器需要根据用户待设定的核心指标阈值重新 执行下一次数据存储格式的转换重新确定数据的第二存储格式。
示例性的, 若***初始化时, 列访问比为 9 0%时, 控制器将该 列转换为单独列存储, 但是, 在转换后发现***性能无提升, 控制 器则反馈将列访问比由 9 0%提高至 9 1 % , 用户根据该反馈信息重新设 定列访问比的值, 且控制器根据用户新设定的列访问比重新确定第 二存储格式。
S 2 1 0、 若***性能指标不满足转换条件, 控制器则保持数据库 中存储数据的格式为第一存储格式。
本发明实施例提供一种数据存储格式的转换方法, 若以第一存 储格式存储数据的数据库的***性能指标满足用户设定的转换条 件, 控制器则确定数据库中存储数据所需的第二存储格式, 并将数 据库中的数据的存储格式从第一存储格式转换为第二存储格式, 然 后, 控制器判断存储格式转换后的数据库的压缩比是否满足第一预 设条件, 并对存储格式转换后的数据库中的数据进行排序, 测试排 序时间是否满足第二预设条件, 若压缩比满足第一预设条件, 且排 序时间满足第二预设条件, 则进行对外服务; 或者, 若压缩比不满 足第一预设条件, 和 /或排序时间不满足第二预设条件, 则重新根据 所述反馈信息中的用户待设定的核心指标阈值执行确定数据库中存 储数据所需的第二存储格式。 通过该方案, 控制器通过对***实际 运行数据的监测, 不断确定数据库***中数据的最优存储格式, 即 控制器能够使数据库***根据负载情况动态确定数据库***中数据 的存储格式, 解决了 目前在改变数据库存储格式时, 需要数据库管 理员手动离线修改, ***存储空间和利用率低的问题, 通过自决策 数据存储格式, 降低了查询语句的吞吐量, 同时提升***的存储空 间和利用率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据 需要而将上述功能分配由不同的功能模块完成, 即将装置的内部结 构划分成不同的功能模块, 以完成以上描述的全部或者部分功能。 上述描述的***, 装置和单元的具体工作过程, 可以参考前述方法 实施例中的对应过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的装置 和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施 例仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一种逻 辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单元或 组件可以结合或者可以集成到另一个***, 或一些特征可以忽略, 或不执行。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围 并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围 之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。

Claims (29)

  1. 权 利 要 求 书
    1、 一种控制器, 其特征在于, 包括:
    决策单元,用于若以第一存储格式存储数据的数据库的***性能 指标满足用户设定的转换条件, 则确定所述数据库中存储数据所需的 第二存储格式;
    存储格式转换单元,用于将所述数据库中的数据的存储格式从所 述第一存储格式转换为所述决策单元确定的所述第二存储格式;
    反馈单元,用于判断存储格式转换后的数据库的压缩比是否满足 第一预设条件, 并对所述存储格式转换后的数据库中的数据进行排 序, 测试排序时间是否满足第二预设条件; 若所述压缩比满足第一预 设条件, 且所述排序时间满足第二预设条件, 则进行对外服务, 或者, 若所述压缩比不满足第一预设条件, 和 /或所述排序时间不满足第二 预设条件, 则发送反馈信息至所述决策单元, 以使得所述决策单元根 据所述反馈信息中的用户待设定的核心指标阈值重新确定所述数据 库中存储数据所需的第二存储格式。
  2. 2、 根据权利要求 1所述的控制器, 其特征在于,
    所述决策单元,还用于在确定所述数据库中存储数据所需的第二 存储格式之前, 判断所述***性能指标是否满足用户设定的核心指标 阈值; 若所述***性能指标满足所述核心指标阈值, 则判断所述*** 性能指标是否满足所述转换条件。
  3. 3、 根据权利要求 2所述的控制器, 其特征在于,
    所述决策单元, 还用于若所述***性能指标不满足所述转换条 件, 则保持所述数据库中存储数据的格式为所述第一存储格式。
  4. 4、 根据权利要求 1 - 3 中任一项所述的控制器, 其特征在于, 所 述控制器还包括数据釆集单元,
    所述数据釆集单元, 还用于釆集所述***性能指标。
  5. 5、 根据权利要求 1 - 4 中任一项所述的控制器, 其特征在于, 所述决策单元,还用于在确定所述数据库中存储数据所需的第二 存储格式之后, 根据用户配置信息, 确定将所述数据库中的数据的存 储格式从所述第一存储格式转换为所述第二存储格式的转换时刻。
  6. 6、 根据权利要求 5所述的控制器, 其特征在于,
    所述存储格式转换单元,具体用于根据所述决策单元确定的所述 第二存储格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重 组, 若所述緩冲区中的数据量达到磁盘写阈值, 则将所述緩冲区中的 数据写入磁盘。
  7. 7、 根据权利要求 6所述的控制器, 其特征在于,
    所述存储格式转换单元,具体用于若所述緩冲区中的数据的所述 第二存储格式为单列存储, 则将所述緩冲区中的数据的存储格式从所 述第一存储格式转换为所述单列存储, 以及压缩并存储所述緩冲区中 的数据; 或者, 若所述緩冲区中的数据的所述第二存储格式为行列混 合存储或行存储, 则将所述緩冲区中的数据的存储格式从所述第一存 储格式转换为所述行列混合存储或所述行存储, 并存储所述緩冲区中 的数据。
  8. 8、 根据权利要求 6 所述的控制器, 其特征在于, 所述控制器还 包括读取单元;
    所述读取单元,用于在所述存储格式转换单元根据所述第二存储 格式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组之前, 若所述第一存储格式为行存储, 则按行读取所述数据库中的数据。
  9. 9、 根据权利要求 1 - 8 中任一项所述的控制器, 其特征在于, 所述数据釆集单元, 还用于在若所述压缩比满足第一预设条件, 且所述排序时间满足第二预设条件, 则进行对外服务之后, 釆集所述 存储格式转换后的数据库的数据吞吐量及查询语句响应时间。
  10. 1 0、 根据权利要求 1 - 9 中任一项所述的控制器, 其特征在于, 所 述***性能指标至少包括数据量、 查询平均访问数据量、 处理行数占 读取行数比例、 查询平均访问的列比、 以及查询语句所占比例。
  11. 1 1、 一种控制器, 其特征在于, 包括:
    处理器,用于若以第一存储格式存储数据的数据库的***性能指 标满足用户设定的转换条件, 则确定所述数据库中存储数据所需的第 二存储格式; 在格式转换器将所述数据库中的数据的存储格式从所述 第一存储格式转换为所述第二存储格式后, 判断存储格式转换后的数 据库的压缩比是否满足第一预设条件, 并对所述存储格式转换后的数 据库中的数据进行排序, 测试排序时间是否满足第二预设条件; 若所 述压缩比满足第一预设条件, 且所述排序时间满足第二预设条件, 则 进行对外服务, 或者, 若所述压缩比不满足第一预设条件, 和 /或所 述排序时间不满足第二预设条件, 则根据用户待设定的核' ^指标阈值 重新确定所述数据库中存储数据所需的第二存储格式;
    格式转换器,用于将所述数据库中的数据的存储格式从所述第一 存储格式转换为所述处理器确定的所述第二存储格式。
  12. 1 2、 根据权利要求 1 1所述的控制器, 其特征在于,
    所述处理器,还用于在确定所述数据库中存储数据所需的第二存 储格式之前, 判断所述***性能指标是否满足用户设定的核心指标阈 值; 若所述***性能指标满足所述核心指标阈值, 则判断所述***性 能指标是否满足所述转换条件。
  13. 1 3、 根据权利要求 1 2所述的控制器, 其特征在于,
    所述处理器, 还用于若所述***性能指标不满足所述转换条件, 则保持所述数据库中存储数据的格式为所述第一存储格式。
  14. 14、 根据权利要求 1 1 - 1 3 中任一项所述的控制器, 其特征在于, 所述控制器还包括数据釆集器;
    所述数据釆集器, 用于釆集所述***性能指标。
  15. 1 5、 根据权利要求 1 1 - 1 4 中任一项所述的控制器, 其特征在于, 所述处理器,还用于在确定所述数据库中存储数据所需的第二存 储格式之后, 根据用户配置信息, 确定将所述数据库中的数据的存储 格式从所述第一存储格式转换为所述第二存储格式的转换时刻。
  16. 1 6、 根据权利要求 1 5所述的控制器, 其特征在于,
    所述格式转换器,具体用于根据所述第二存储格式和所述转换时 刻, 在緩冲区中将所述数据库中的数据重组, 若所述緩冲区中的数据 量达到磁盘写阈值, 则将所述緩冲区中的数据写入磁盘。 1 7、 根据权利要求 1 6所述的控制器, 其特征在于,
    所述格式转换器,具体用于若所述緩冲区中的数据的所述第二存 储格式为单列存储, 则将所述緩冲区中的数据的存储格式从所述第一 存储格式转换为所述单列存储, 以及压缩并存储所述緩冲区中的数 据; 或者, 若所述緩冲区中的数据的所述第二存储格式为行列混合存 储或行存储, 则将所述緩冲区中的数据的存储格式从所述第一存储格 式转换为所述行列混合存储或所述行存储, 并存储所述緩冲区中的数 据。
  17. 1 8、 根据权利要求 1 6所述的控制器, 其特征在于,
    所述处理器,还用于在所述存储格式转换器根据所述第二存储格 式和所述转换时刻, 在緩冲区中将所述数据库中的数据重组之前, 若 所述第一存储格式为行存储, 则按行读取所述数据库中的数据。
  18. 1 9、 根据权利要求 1 1 - 1 8 中任一项所述的控制器, 其特征在于, 所述数据釆集器, 还用于在若所述压缩比满足第一预设条件, 且 所述排序时间满足第二预设条件, 则进行对外服务之后, 釆集所述存 储格式转换后的数据库的数据吞吐量及查询语句响应时间。
  19. 2 0、 根据权利要求 1 1 - 1 9 中任一项所述的控制器, 其特征在于, 所述***性能指标至少包括数据量、 查询平均访问数据量、 处理行数 占读取行数比例、 查询平均访问的列比、 以及查询语句所占比例。
  20. 2 1、 一种数据存储格式的转换方法, 其特征在于, 包括: 步骤 a: 若以第一存储格式存储数据的数据库的***性能指标满 足用户设定的转换条件, 则确定所述数据库中存储数据所需的第二存 储格式;
    步骤 b : 将所述数据库中的数据的存储格式从所述第一存储格式 转换为所述第二存储格式;
    步骤 c : 判断存储格式转换后的数据库的压缩比是否满足第一预 设条件, 并对所述存储格式转换后的数据库中的数据进行排序, 测试 排序时间是否满足第二预设条件;
    步骤 d : 若所述压缩比满足所述第一预设条件, 且所述排序时间 满足所述第二预设条件, 则进行对外服务; 或者, 若所述压缩比不满 足所述第一预设条件, 和 /或所述排序时间不满足所述第二预设条件, 则根据用户待设定的核心指标阈值重新执行上述步骤。
  21. 22、 根据权利要求 21 所述的数据存储格式的转换方法, 其特征 在于, 所述确定所述数据库中存储数据所需的第二存储格式之前, 所 述方法还包括:
    判断所述***性能指标是否满足用户设定的核心指标阈值; 若所述***性能指标满足所述核心指标阈值,则判断所述***性 能指标是否满足所述转换条件。
  22. 2 3、 根据权利要求 22 所述的数据存储格式的转换方法, 其特征 在于,
    若所述***性能指标不满足所述转换条件,则保持所述数据库中 存储数据的格式为所述第一存储格式。
  23. 24、根据权利要求 2 0- 2 3 中任一项所述的数据存储格式的转换方 法, 其特征在于, 所述方法还包括:
    釆集所述***性能指标。
  24. 25、根据权利要求 2 0- 24 中任一项所述的数据存储格式的转换方 法, 其特征在于, 在确定所述数据库中存储数据所需的第二存储格式 之后, 所述方法还包括:
    根据用户配置信息,确定将所述数据库中的数据的存储格式从所 述第一存储格式转换为所述第二存储格式的转换时刻。
  25. 26、 根据权利要求 25 所述的数据存储格式的转换方法, 其特征 在于, 所述将所述数据库中的数据的存储格式从所述第一存储格式转 换为所述第二存储格式, 具体包括:
    根据所述第二存储格式和所述转换时刻,在緩冲区中将所述数据 库中的数据重组;
    若所述緩冲区中的数据量达到磁盘写阈值,则将所述緩冲区中的 数据写入磁盘。
  26. 27、 根据权利要求 26 所述的数据存储格式的转换方法, 其特征 在于, 所述将所述緩冲区中的数据写入磁盘, 具体包括: 若所述緩冲区中的数据的所述第二存储格式为单列存储,则将所 述緩冲区中的数据的存储格式从所述第一存储格式转换为所述单列 存储, 以及压缩并存储所述緩冲区中的数据; 或者,
    若所述緩冲区中的数据的所述第二存储格式为行列混合存储或 行存储, 则将所述緩冲区中的数据的存储格式从所述第一存储格式转 换为所述行列混合存储或所述行存储, 并存储所述緩冲区中的数据。
  27. 28、 根据权利要求 26 所述的数据存储格式的转换方法, 其特征 在于, 所述根据所述第二存储格式和所述转换时刻, 在緩冲区中将所 述数据库中的数据重组之前, 所述方法还包括:
    若所述第一存储格式为行存储, 则按行读取所述数据库中的数 据。
  28. 29、根据权利要求 2 0- 28 中任一项所述的数据存储格式的转换方 法, 其特征在于, 所述若所述压缩比满足第一预设条件, 且所述排序 时间满足第二预设条件, 则进行对外服务之后, 所述方法还包括: 釆集所述存储格式转换后的数据库的数据吞吐量及查询语句响 应时间。
  29. 30、根据权利要求 2 0- 29 中任一项所述的数据存储格式的转换方 法, 其特征在于, 所述***性能指标至少包括数据量、 查询平均访问 数据量、 处理行数占读取行数比例、 查询平均访问的列比、 以及查询 语句所占比例。
CN201480000190.5A 2014-03-18 2014-03-18 一种数据存储格式的转换方法及装置 Active CN105378716B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/073576 WO2015139193A1 (zh) 2014-03-18 2014-03-18 一种数据存储格式的转换方法及装置

Publications (2)

Publication Number Publication Date
CN105378716A true CN105378716A (zh) 2016-03-02
CN105378716B CN105378716B (zh) 2019-03-26

Family

ID=54143626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480000190.5A Active CN105378716B (zh) 2014-03-18 2014-03-18 一种数据存储格式的转换方法及装置

Country Status (2)

Country Link
CN (1) CN105378716B (zh)
WO (1) WO2015139193A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162563A (zh) * 2019-05-28 2019-08-23 深圳市网心科技有限公司 一种数据入库方法、***及电子设备和存储介质
CN111064976A (zh) * 2018-10-17 2020-04-24 武汉斗鱼网络科技有限公司 一种直播信息的发送方法及服务器
CN111198859A (zh) * 2018-11-16 2020-05-26 北京微播视界科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN112579597A (zh) * 2020-12-15 2021-03-30 西安邮电大学 一种压缩敏感的数据库文件存储方法及***
US11682428B2 (en) 2019-05-22 2023-06-20 Xfusion Digital Technologies, Co., Ltd. Hard disk format conversion method and apparatus, and storage device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092624B (zh) * 2016-12-28 2022-08-30 北京星选科技有限公司 数据存储方法、装置及***
US10719508B2 (en) * 2018-04-19 2020-07-21 Risk Management Solutions, Inc. Data storage system for providing low latency search query responses
CN110196847A (zh) 2018-08-16 2019-09-03 腾讯科技(深圳)有限公司 数据处理方法和装置、存储介质及电子装置
CN115470235A (zh) * 2021-06-11 2022-12-13 华为技术有限公司 一种数据处理方法、装置以及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495905A (zh) * 2011-12-23 2012-06-13 天津神舟通用数据技术有限公司 一种基于行存数据库引擎的列存方法
US20120254252A1 (en) * 2011-03-31 2012-10-04 International Business Machines Corporation Input/output efficiency for online analysis processing in a relational database
CN103345518A (zh) * 2013-07-11 2013-10-09 清华大学 基于数据块的自适应数据存储管理方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254252A1 (en) * 2011-03-31 2012-10-04 International Business Machines Corporation Input/output efficiency for online analysis processing in a relational database
CN102495905A (zh) * 2011-12-23 2012-06-13 天津神舟通用数据技术有限公司 一种基于行存数据库引擎的列存方法
CN103345518A (zh) * 2013-07-11 2013-10-09 清华大学 基于数据块的自适应数据存储管理方法及***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064976A (zh) * 2018-10-17 2020-04-24 武汉斗鱼网络科技有限公司 一种直播信息的发送方法及服务器
CN111064976B (zh) * 2018-10-17 2022-01-04 武汉斗鱼网络科技有限公司 一种直播信息的发送方法及服务器
CN111198859A (zh) * 2018-11-16 2020-05-26 北京微播视界科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN111198859B (zh) * 2018-11-16 2023-11-03 北京微播视界科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
US11682428B2 (en) 2019-05-22 2023-06-20 Xfusion Digital Technologies, Co., Ltd. Hard disk format conversion method and apparatus, and storage device
CN110162563A (zh) * 2019-05-28 2019-08-23 深圳市网心科技有限公司 一种数据入库方法、***及电子设备和存储介质
CN110162563B (zh) * 2019-05-28 2023-11-17 深圳市网心科技有限公司 一种数据入库方法、***及电子设备和存储介质
CN112579597A (zh) * 2020-12-15 2021-03-30 西安邮电大学 一种压缩敏感的数据库文件存储方法及***
CN112579597B (zh) * 2020-12-15 2023-03-21 西安邮电大学 一种压缩敏感的数据库文件存储方法及***

Also Published As

Publication number Publication date
WO2015139193A1 (zh) 2015-09-24
CN105378716B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN105378716A (zh) 一种数据存储格式的转换方法及装置
CN104021161B (zh) 一种聚簇存储方法及装置
CN103488709B (zh) 一种索引建立方法及***、检索方法及***
US20150212741A1 (en) Apparatus for in-memory data management and method for in-memory data management
CN102385554B (zh) 重复数据删除***的优化方法
CN107122126B (zh) 数据的迁移方法、装置和***
CN111367469B (zh) 一种分层存储数据迁移方法和***
WO2013152678A1 (zh) 元数据查询方法和装置
CN107436813A (zh) 一种元数据服务器动态负载均衡的方法及***
CN101635651A (zh) 一种网络日志数据管理方法、***及装置
CN102073697A (zh) 一种数据处理方法及装置
CN107402926A (zh) 一种查询方法以及查询设备
CN105630810B (zh) 一种对于海量小文件在分布式存储***中上载的方法
CN102362464A (zh) 内存访问监测方法和装置
CN114138193B (zh) 一种分区命名空间固态硬盘的数据写入方法、装置及设备
CN112882663B (zh) 一种随机写的方法、电子设备及存储介质
CN105095255A (zh) 一种数据索引创建方法及装置
CN108694188A (zh) 一种索引数据更新的方法以及相关装置
CN108519987A (zh) 一种数据持久化方法和装置
CN107193494A (zh) 一种基于ssd和hdd混合存储***的rdd持久化方法
CN106598501A (zh) 用于存储自动分层的数据迁移设备及方法
CN103984507A (zh) 一种生物信息学高性能计算平台的存储配置以及优化策略
CN104376119A (zh) 一种适应超大规模列存数据库的数据访问方法及装置
CN117076466B (zh) 一种针对大型档案数据库的快速数据索引方法
CN110532228A (zh) 一种区块链数据读取的方法、***、设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201228

Address after: 518101 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20201228

Address after: 313200 No.8 Yu'an South Road, Hongfeng village, Xin'an Town, Deqing County, Huzhou City, Zhejiang Province (Zhejiang Huazhuo Electromechanical Technology Co., Ltd.)

Patentee after: Luo Sanjie

Address before: 518101 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.