[发明专利]一种构建列存储数据库的方法和系统有效
申请号: | 201580050100.8 | 申请日: | 2015-09-15 |
公开(公告)号: | CN107077480B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 胡荣中;施广宇;马苏德·莫塔扎维;古志勇;陈萌萌 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/21;G06F16/28;G06F16/23;G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 构建 存储 数据库 方法 系统 | ||
一种从行存储数据库中动态构建列存储数据库的方法。所述方法包括:构建存储数据的行存储数据库,其中,每行包括多个属性,且行存储数据库中的数据相对于当前时间点是最新的。所述方法包括:构建列存储数据库,其包括为满足接收到的分析查询而构造的数据。所述方法包括:从列存储数据库的初始状态开始,对于每个后续接收的分析查询,将目标量数据从处于对应当前时间状态下的行存储数据库导入到列存储数据库中,以满足相应的后续接收的分析查询。
技术领域
本发明涉及计算机领域,尤其涉及一种构建列存储数据库的方法和系统。
背景技术
基于数据记录的存储格式,关系数据库系统中,可用行存储或列存储来保存数据记录。在行存储数据库中,数据记录以行格式排列。在通常包含INSERT/DELETE/UPDATE操作的联机事务处理(online transaction processing,OLTP)事务中,行存储通常表现出良好的性能。例如,可为涉及一个磁盘I/O操作的整行更改信息。另一方面,在列存储数据库中,数据记录以列格式排列。列存储在联机分析处理(online analytical processing,OLAP)查询方面性能良好,因为它只需要读取处理查询所需的那些列,大大减少了磁盘I/O操作。
由于行存储和列存储适用于不同类型的查询,因此已提出在数据库系统中同时包含行存储和列存储,即混合行/列存储,来处理混合工作负载。目标是在单个数据库系统实现良好的OLTP性能并输出实时(或几乎实时)的分析结果。从行存储数据库中构建列存储数据库的常见方法是:从行存储中提取数据记录,并转换它们,再将数据加载到各自列的属性向量中。即,在接收或执行任何分析查询前,列存储是静态构建的。例如,在数据库不可用于联机访问的非高峰期,执行ETL(Extract-Transform-Load,抽取-转换-加载)流程,以向列存储数据库转移数据。
然而,构建列存储数据库的典型方法是有问题的,因为根据所述方法,必须过度构建数据库以包括与任何后续查询无关的数据。特别地,哪些查询会在数据库上运行,这些查询又针对哪些数据,都是很难预见的。因此,列存储最可能被过度构建以便涵盖所有可能的查询(例如,为行存储数据库中的每个属性都构建属性向量或列)。
同时,随着世界各地的客户和公司对数据库记录不断访问的需求的日益增长,可能没有足够长的好时间窗来执行ETL流程,以将数据从行存储转移至列存储。即,不再有任何非高峰期,也没有足够的时间来构建列存储数据库而又不会严重影响数据库系统的可访问性。
此外,传统的混合行/列存储数据库系统不能提供实时分析。即,分析查询不能实时执行,因为查询必须等ETL操作在查询执行前的调度时间期间完成后进行。
因此,现有的混合行/列存储数据库系统仍然依赖于猜测查询执行期间会访问哪些属性的预测方法,并倾向于在接收或执行任何查询前过度构建其列存储数据库。此外,为了加快访问速度,这些传统的列存储数据库构建在如随机存取存储器(random accessmemory,RAM)等主存储器中,但是当整个列存储数据库被擦除时,在系统崩溃期间会遭受巨大性能损失。因此,在重建整个列存储数据库的系统恢复过程中,系统仍然宕机。
从行存储数据库构建列存储数据库将是有利的,该行存储数据库不是对于需要访问数据的查询而被过度构建的,并且提供实时查询分析执行。
发明内容
在本发明的一些实施例中,公开了一种从行存储数据库中动态构建列存储数据库的计算机系统。该计算机系统包括存储器,存储计算机可执行指令和处理器,执行该计算机可执行指令。该指令包括构建存储数据的行存储数据库,其中,该行存储数据库的每行包括多个属性。该行存储数据库中的数据相对于当前时间点是最新的。该指令包括:构建列存储数据库,其包括为满足接收到的分析查询而构造的数据。该指令包括:从该列存储数据库的初始状态开始,对于每个后续接收的分析查询,将目标量数据从处于对应当前时间状态下的行存储数据库导入到列存储数据库中,以满足后续接收的分析查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580050100.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种先进制造设备辅助维修装置
- 下一篇:木工修光、扩孔钻