[发明专利]一种基于列式存储的时序数据库系统有效

专利信息
申请号: 201910554845.8 申请日: 2019-06-25
公开(公告)号: CN110362572B 公开(公告)日: 2022-07-01
发明(设计)人: 黄滔;王刚;高杨;刘国庆 申请(专利权)人: 浙江邦盛科技股份有限公司;中车唐山机车车辆有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/2458
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 刘静
地址: 310012 浙江省杭州市西湖*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 存储 时序 数据库 系统
【权利要求书】:

1.一种基于列式存储的时序数据库系统,其特征在于,包括:

SQL解析器:将SQL通过解析转换为抽象语法树;

逻辑计划生成器:利用抽象语法树生成逻辑查询计划,逻辑查询计划由关系代数表示;

查询优化器:利用数据库的状态信息(表中数据量,已有索引)进行查询计划的优化,输出改写后的查询计划;

执行器:以块迭代方式执行查询计划,负责与存储层进行交互,获取用户查询的数据;

存储引擎:以行+列的方式存储数据;具体为:存储引擎以行列混合的方式存储所有表的数据;

在每一列中,数据被分为若干个块,每个块包含固定数量的数据以及对应该块的统计信息,每一行分配一个rowid;对每个块中的数据进行压缩;

行存储部分采用rocksdb部分实现,每一行在rocksdb中按照kv方式存储,其中key为(数据库名,表名,主键名,主键值)组成的元组,value为该表主键之外其他列的数据。

2.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述SQL解析器的具体实现方式如下:读取用户输入的文本,根据lexyacc将文本转换为抽象语法树,其中lex负责语法分析,将用户文本转换为对应的标识符,yacc接收上述的标识符进行语义分析,将SQL转换为对应的抽象语法树。

3.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,该系统还包括元数据管理器,元数据管理器负责存储数据库中的一系列元数据,包括表名到表id的映射、表的列名到列id的映射、每个数据表的数据行数、表中列是否存在索引。

4.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询优化器的工作分为两个阶段:

阶段一:替换掉关系代数执行计划中的表名、列名,以表id与表中的列id取代;

阶段二:优先使用带有索引的列。

5.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,在存储引擎存储的表中,行存储部分用于存储最近被插入表中的数据库,在行存储部分被插入行超过阈值之后,将该表在行存储中的所有数据按照列方式划分,产出一系列列存储中的数据块,之后将这些数据块写入到磁盘,同时删除行存储部分的数据。

6.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,存储引擎支持对指定列建立索引,建立索引的列要求该列中不能出现多个相同的数据,构建索引时,数据库将扫描列存储部分该列的所有数据,在rocksdb中对每个数据插入一个kv对,key为(数据库名,表名,列名,数据),value为rowid。

7.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询计划执行器中,首先通过统计信息判断每个块是否有符合条件的元组,如果没有则不从磁盘加载该块,若不能确定没有符合条件的元组,则将对应的块加载到内存并且解压,若需要对多个列同时进行查询,执行器同时查看多个块的状态,对于每个块划分为三个状态:ALL,表示该块中所有数据均符合本次查询的条件;SOME,块中可能存在一些数据符合本次查询的条件;NONE,该块中没有数据符合本次查询的条件;执行器对多个列的块状态进行合并,合并规则如下:ALLSOME=SOME,ALLNONE=NONE,ALLALL=ALL;对于合并后状态为NONE与ALL的数据块不做处理,执行器将仅仅从磁盘读取并解压状态为SOME的块,利用这些块进行查询。

8.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询计划执行器中,依靠向量化技术加速相同数据类型的数据处理。

9.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询计划执行器针对多表查询,采用基于块的nest loop join算法,每次迭代一块数据,在两个数据块内部根据数据的不同特性采用不同块内join算法:如果join操作利用了两个join表其中一个表的主键做连接,那么在块内使用sorted merge join进行两个块内的连接,否则使用hash join进行连接。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江邦盛科技股份有限公司;中车唐山机车车辆有限公司,未经浙江邦盛科技股份有限公司;中车唐山机车车辆有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910554845.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top