Nothing Special   »   [go: up one dir, main page]

CN110362572B - 一种基于列式存储的时序数据库系统 - Google Patents

一种基于列式存储的时序数据库系统 Download PDF

Info

Publication number
CN110362572B
CN110362572B CN201910554845.8A CN201910554845A CN110362572B CN 110362572 B CN110362572 B CN 110362572B CN 201910554845 A CN201910554845 A CN 201910554845A CN 110362572 B CN110362572 B CN 110362572B
Authority
CN
China
Prior art keywords
data
column
storage
block
query
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.)
Active
Application number
CN201910554845.8A
Other languages
English (en)
Other versions
CN110362572A (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.)
Zhejiang Bang Sheng Technology Co Ltd
CRRC Tangshan Co Ltd
Original Assignee
Zhejiang Bangsheng Technology Co ltd
CRRC Tangshan 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 Zhejiang Bangsheng Technology Co ltd, CRRC Tangshan Co Ltd filed Critical Zhejiang Bangsheng Technology Co ltd
Priority to CN201910554845.8A priority Critical patent/CN110362572B/zh
Publication of CN110362572A publication Critical patent/CN110362572A/zh
Application granted granted Critical
Publication of CN110362572B publication Critical patent/CN110362572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于列式存储的时序数据库系统,包括SQL解析器:将SQL通过解析转换为抽象语法树;逻辑计划生成器:利用抽象语法树生成逻辑查询计划,逻辑查询计划由关系代数表示;查询优化器:利用数据库的状态信息进行查询计划的优化,输出改写后的查询计划;执行器:以块迭代方式执行查询计划,负责与存储层进行交互,获取用户查询的数据;存储引擎:以行+列的方式存储数据。本发明采用列方式存储数据库中的数据,并基于列存储与rocksdb的结合实现了高速插入数据特性与传统数据库的索引功能,在执行器方面,改进了部分算子以与存储引擎的特性深度结合,同时利用现代处理器的新特性为查询加速。

Description

一种基于列式存储的时序数据库系统
技术领域
本发明属于数据存储及处理领域,尤其涉及一种基于列式存储的时序数据库系统的设计。
背景技术
目前市面上已有数款时序数据库,如influxDB等,但是该类数据库多使用基于LSMtree的存储方案,如influxDB就使用了LSMtree的变种TSM,LSMtree的优点是写入速度快,但是由于要分层查找,其读数据性能并不理想。
发明内容
考虑到时序数据的特点(多写入多读,但更新删除很少),本发明在传统数据库架构上提出基于列式存储的存储引擎与查询执行器,能够提高数据库系统的查询效率。
本发明的目的是通过以下技术方案来实现的:一种基于列式存储的时序数据库系统,包括:
SQL解析器:将SQL通过解析转换为抽象语法树;
逻辑计划生成器:利用抽象语法树生成逻辑查询计划,逻辑查询计划由关系代数表示;
查询优化器:利用数据库的状态信息(表中数据量,已有索引)进行查询计划的优化,输出改写后的查询计划;
执行器:以块迭代方式执行查询计划,负责与存储层进行交互,获取用户查询的数据;
存储引擎:以行+列的方式存储数据。
进一步地,所述SQL解析器的具体实现方式如下:读取用户输入的文本,根据lex&yacc将文本转换为抽象语法树,其中lex负责语法分析,将用户文本转换为对应的标识符,yacc接收上述的标识符进行语义分析,将SQL转换为对应的抽象语法树。
进一步地,该系统还包括元数据管理器,元数据管理器负责存储数据库中的一系列元数据,包括表名到表id的映射、表的列名到列id的映射、每个数据表的数据行数、表中列是否存在索引。
进一步地,所述查询优化器的工作分为两个阶段:
阶段一:替换掉关系代数执行计划中的表名、列名,以表id与表中的列id取代。
阶段二:优先使用带有索引的列。
进一步地,所述存储引擎以行列混合的方式存储所有表的数据;
在每一列中,数据被分为若干个块,每个块包含固定数量的数据以及对应该块的统计信息,每一行分配一个rowid;对每个块中的数据进行压缩;
行存储部分采用rocksdb部分实现,每一行在rocksdb中按照kv方式存储,其中key为(数据库名,表名,主键名,主键值)组成的元组,value为该表主键之外其他列的数据。
进一步地,在存储引擎存储的表中,行存储部分用于存储最近被插入表中的数据库,在行存储部分被插入行超过阈值之后,将该表在行存储中的所有数据按照列方式划分,产出一系列列存储中的数据块,之后将这些数据块写入到磁盘,同时删除行存储部分的数据。
进一步地,存储引擎支持对指定列建立索引,建立索引的列要求该列中不能出现多个相同的数据,构建索引时,数据库将扫描列存储部分该列的所有数据,在rocksdb中对每个数据插入一个kv对,key为(数据库名,表名,列名,数据),value为rowid。
进一步地,所述查询计划执行器中,首先通过统计信息判断每个块是否有符合条件的元组,如果没有则不从磁盘加载该块,若不能确定没有符合条件的元组,则将对应的块加载到内存并且解压,若需要对多个列同时进行查询,执行器同时查看多个块的状态,对于每个块划分为三个状态:ALL,表示该块中所有数据均符合本次查询的条件;SOME,块中可能存在一些数据符合本次查询的条件;NONE,该块中没有数据符合本次查询的条件;执行器对多个列的块状态进行合并,合并规则如下:ALL&&SOME=SOME,ALL&&NONE=NONE,ALL&&ALL=ALL;对于合并后状态为NONE与ALL的数据块不做处理,执行器将仅仅从磁盘读取并解压状态为SOME的块,利用这些块进行查询。
进一步地,所述查询计划执行器中,依靠向量化技术加速相同数据类型的数据处理。
进一步地,所述查询计划执行器针对多表查询,采用基于块的nest loop join算法,每次迭代一块数据,在两个数据块内部根据数据的不同特性采用不同块内join算法:如果join操作利用了两个join表其中一个表的主键做连接,那么在块内使用sorted mergejoin进行两个块内的连接,否则使用hash join进行连接。
本发明的有益效果是:本发明采用列方式存储数据库中的数据,并基于列存储与rocksdb的结合实现了高速插入数据特性与传统数据库的索引功能,在执行器方面,改进了部分算子以与存储引擎的特性深度结合,同时利用现代处理器的新特性为查询加速。
附图说明
图1为本发明基于列式存储的时序数据库系统结构框图;
图2为SQL语句转换为抽象语法树示例;
图3为列存储部分在存储引擎中的布局示意图;
图4为存储引擎中存储的表的完整结构图;
图5为行存储和列存储流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所述实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他实施例,都属于本发明的保护范围。
如图1所示,本发明提供的一种基于列式存储的时序数据库系统,包括用于发送SQL的客户端与执行SQL、传送查询结果到客户端的数据库服务器;本发明对数据库中的数据采用列式存储,能够减少存储占用;在执行查询时,采用经过优化的执行计划与针对列存储的算法进行加速,为查询的执行加速。具体模块设计如下:
一、SQL解析器
SQL解析器用于读取用户输入的文本,将文本转换为抽象语法树,这可以依靠lex&yacc进行,其中lex负责语法分析,将用户文本转换为对应的标识符,yacc接收上述的标识符进行语义分析,将SQL转换为对应的抽象语法树,可以借鉴MySQL的开源代码中的SQLParser部分,抽象语法树的格式并没有定式,图2给出一个SQL语句转换为抽象语法树的示例。
二、逻辑计划生成器
逻辑计划生成器负责利用SQL解析器生成的抽象语法树生成基于关系代数的执行计划,在这里不进行任何额外的处理,直接将转换后的关系代数执行计划发送到优化器。
三、元数据管理器
元数据管理器负责存储数据库中的一系列元数据,如表名到表id的映射、表的列名到列id的映射、每个数据表的数据行数、表中列是否存在索引等。主要用于为优化器提供足够的优化信息。
四、查询优化器
优化器的工作分为两个阶段:
阶段一:替换掉关系代数执行计划中的表名、列名,以表id与表中的列id取代,这一阶段的工作主要依靠元数据管理器提供的映射。
阶段二:针对元数据管理器提供的索引信息进行优化,如优先使用带有索引的列。另一方面也可以做一些已有的简单的优化,例如将选择运算符下推到连接运算符的下面,更多该方面的优化可以参考apache calcite,该优化器中拥有大量关于关系代数的优化规则。
五、查询执行器与存储引擎
该模块负责执行上述查询中经过优化的执行计划,其包括两部分:存储引擎与执行器:
1.存储引擎
该存储引擎以行列混合的方式存储所有表的数据,一个表的大部分数据被按列划分,例如一个三个列的表,其列存储部分在存储引擎中的布局如图3。
在每一列中,数据被分为若干个块,每个块包含固定数量的数据,逻辑上的每一行会分配一个rowid,假设一块中含有10000数据,那么rowid=25000指第三块数据块的第5000个数据(2*10000+5000),以及对应该块的统计信息,例如最大值、最小值、平均值、bloom filter等等。其中对于每个块中的数据会经过压缩算法处理,可以使用snappy、zstd算法等,以减小数据的磁盘占用。
行存储部分采用rocksdb部分实现,在这部分的数据不按列划分存储,而是一行一行的存储,每一行在rocksdb中按照kv方式存储,其中key为(数据库名,表名,主键名,主键值)组成的元组,value为该表主键之外其他列的数据,若数据库名为dbname,表名为tablename,主键为x,那么在rocksdb中的key即为:dbname|tablename|primary|x。该部分数据与之前所述的列数据结合,从而组成完整的一张表,所以完整的一张表结构如图4。
在这个表中,行存储部分用于存储最近被插入表中的数据库,在行存储部分被插入行超过阈值之后,将该表在行存储中的所有数据按照列方式划分,产出一系列列存储中的数据块,之后将这些数据块写入到磁盘,同时删除行存储部分的数据,其流程图如图5。
该存储引擎支持对指定列建立索引,建立索引的列要求该列中不能出现多个相同的数据,构建索引时,数据库将扫描列存储部分该列的所有数据,在rocksdb中对每个数据插入一个kv对,key为(数据库名,表名,列名,数据),value为rowid。
2.查询计划执行器
查询计划执行器不同于传统的查询计划执行器,该执行器的最小处理单元不是一行数据而是一个块,同时只获取需要的列而不是全部的列以减少磁盘的IO,另一方面,该执行器将利用每个块对应的统计信息来加速查询的执行。
执行器会先通过统计信息判断每个块是否有符合条件的元组,如果没有就不会从磁盘加载该块,以避免不必要的磁盘IO,若不能确定没有符合条件的元组,就将对应的块加载到内存并且解压,若需要对多个列同时进行查询,例如:Select*from T where T.c1>xand T.c2>y and T.c3>z。执行器将会同时查看三个块的状态,对于每个块划分为三个状态:ALL,表示该块中所有数据都符合本次查询的条件;SOME,块中可能存在一些数据符合本次查询的条件;NONE,该块中没有数据符合本次查询的条件。在每次为三个块确定状态之后,执行器将对三个状态做一个结合。
对于结合后状态为NONE与ALL的数据块将不做处理,因为我们已经知道他们符合/不符合条件,执行器将仅仅从磁盘读取并解压标记为SOME的块,利用这些块进行查询。
由于每个块只含有一列的一部分数据,所以我们可以依靠向量化技术加速相同数据类型的数据处理,例如AVX-512集可以一次处理512bit的数据,以64bit的整数为例,该指令集可以一次处理8个整数,而非传统的循环一条指令处理,从底层加快执行计划的执行速度。
以上讲述了执行器执行单表查询时的操作,现在详细描述执行器在面对多表查询的操作,只需要细描执行器的join算子即可,本发明设计的执行器针对join采用基于块的nest loop join算法,即区别于传统的每次迭代一行的nest loop join,该算法每次迭代一块数据,在两个数据块内部根据数据的不同特性采用不同块内join算法:如果join操作利用了两个join表其中一个表的主键做连接,那么由于rocksdb基于LSM tree的实现,可以推断出每个块内的数据都是按主键排序的,那么在块内使用sorted merge join进行两个块内的连接,否则使用hash join进行连接。
本发明的关键点概括如下:
1.存储方案
对于结构化的数据,本存储方案将一行数据拆散为若干列,在每一列中有若干块,每个块含有若干条记录,每个块会采用压缩算法进行压缩,并且每个块会对应存放一些统计信息(最大值,最小值,布隆过滤器等等)用于查询加速。
2.对于结构化数据写操作的实现
insert:缓存至rocksdb,由于rocksdb能保持数据一旦写入就不会丢失,我们不需要做额外的支持,在rocksdb中缓存的数据达到阈值时将数据取出,进行块压缩后存储到磁盘,同时将rocksdb的数据删除。
3.索引
基于rocksdb实现索引功能,索引在rocksdb中以<数据库名/表名/主键,rowid>格式存储在rocksdb中,由于rocksdb基于的LSMtree中的数据是天然有序的,所以相当于一个顺序的索引。
4.查询方案
对于每个查询,我们不采用传统关系型数据库的volcano模型一行行的数据流处理方式,而采用块迭代+向量化处理的方式,与传统的方式相比,不仅可以更好的发挥CPU的性能,并且减少了函数调用的开销,同时可以利用索引与前文提到的统计信息加速查询,具体方案如下:对于单一列的过滤条件考虑使用块统计信息进行过滤,每个块针对过滤条件可以有三种状态:ALL、SOME、NONE。在单一过滤条件下,简单的过滤掉所有状态NONE的块,对于状态为ALL的块也可以直接跳过等到后期一次取出所有记录即可,仅仅对于状态为SOME的块需要取出进行逐个检验。若含有多个列的过滤条件,例如:a>1and b<2,我们可以分别计算两个列的过滤条件,在将两个列的块状态合并,合并规则如下:ALL&&SOME=SOME,ALL&&NONE=NONE,ALL&&ALL=ALL等。利用这些状态即可过滤大量不满足的块,从而大量减少磁盘IO,若过滤条件针对主键或建立了索引的列,则可以直接利用之前提到的索引加速查询。

Claims (9)

1.一种基于列式存储的时序数据库系统,其特征在于,包括:
SQL解析器:将SQL通过解析转换为抽象语法树;
逻辑计划生成器:利用抽象语法树生成逻辑查询计划,逻辑查询计划由关系代数表示;
查询优化器:利用数据库的状态信息(表中数据量,已有索引)进行查询计划的优化,输出改写后的查询计划;
执行器:以块迭代方式执行查询计划,负责与存储层进行交互,获取用户查询的数据;
存储引擎:以行+列的方式存储数据;具体为:存储引擎以行列混合的方式存储所有表的数据;
在每一列中,数据被分为若干个块,每个块包含固定数量的数据以及对应该块的统计信息,每一行分配一个rowid;对每个块中的数据进行压缩;
行存储部分采用rocksdb部分实现,每一行在rocksdb中按照kv方式存储,其中key为(数据库名,表名,主键名,主键值)组成的元组,value为该表主键之外其他列的数据。
2.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述SQL解析器的具体实现方式如下:读取用户输入的文本,根据lex&yacc将文本转换为抽象语法树,其中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,该块中没有数据符合本次查询的条件;执行器对多个列的块状态进行合并,合并规则如下:ALL&&SOME=SOME,ALL&&NONE=NONE,ALL&&ALL=ALL;对于合并后状态为NONE与ALL的数据块不做处理,执行器将仅仅从磁盘读取并解压状态为SOME的块,利用这些块进行查询。
8.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询计划执行器中,依靠向量化技术加速相同数据类型的数据处理。
9.根据权利要求1所述的一种基于列式存储的时序数据库系统,其特征在于,所述查询计划执行器针对多表查询,采用基于块的nest loop join算法,每次迭代一块数据,在两个数据块内部根据数据的不同特性采用不同块内join算法:如果join操作利用了两个join表其中一个表的主键做连接,那么在块内使用sorted merge join进行两个块内的连接,否则使用hash join进行连接。
CN201910554845.8A 2019-06-25 2019-06-25 一种基于列式存储的时序数据库系统 Active CN110362572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910554845.8A CN110362572B (zh) 2019-06-25 2019-06-25 一种基于列式存储的时序数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910554845.8A CN110362572B (zh) 2019-06-25 2019-06-25 一种基于列式存储的时序数据库系统

Publications (2)

Publication Number Publication Date
CN110362572A CN110362572A (zh) 2019-10-22
CN110362572B true CN110362572B (zh) 2022-07-01

Family

ID=68217489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910554845.8A Active CN110362572B (zh) 2019-06-25 2019-06-25 一种基于列式存储的时序数据库系统

Country Status (1)

Country Link
CN (1) CN110362572B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159176A (zh) * 2019-11-29 2020-05-15 中国科学院计算技术研究所 一种海量流数据的存储和读取的方法和系统
CN111143403B (zh) * 2019-12-10 2021-05-14 跬云(上海)信息科技有限公司 Sql转换方法及装置、存储介质
CN111209321A (zh) * 2019-12-25 2020-05-29 北京永洪商智科技有限公司 一种针对复杂查询的分组入数据集市方法
CN113282578B (zh) * 2020-02-20 2024-07-09 腾讯科技(深圳)有限公司 消息处理方法、装置、消息处理设备及存储介质
CN111291235A (zh) * 2020-05-13 2020-06-16 成都四方伟业软件股份有限公司 一种基于时序数据库的元数据存储方法及装置
CN113297244B (zh) * 2020-05-29 2022-05-06 阿里巴巴集团控股有限公司 数据库操作方法、装置、设备及存储介质
CN112035257B (zh) * 2020-08-31 2022-05-31 浪潮云信息技术股份公司 基于KV存储的mergejoin异步块运算方法
CN111813801B (zh) * 2020-09-10 2021-01-05 天云融创数据科技(北京)有限公司 一种数据检索方法及装置
CN112416926B (zh) * 2020-11-02 2024-07-19 浙商银行股份有限公司 支持国产cpu simd指令的分布式数据库高性能执行器设计方法
CN112364278A (zh) * 2020-11-23 2021-02-12 浪潮云信息技术股份公司 一种基于CockroachDB底层键值数据分类优化方法
CN112632073B (zh) * 2020-12-24 2024-06-04 第四范式(北京)技术有限公司 一种时序特征数据表的存储方法及装置
CN112783927B (zh) * 2021-01-27 2023-03-17 浪潮云信息技术股份公司 一种数据库查询方法及系统
CN112632111B (zh) * 2021-03-08 2021-08-06 北京鼎石纵横科技有限公司 一种基于向量化执行引擎的数据库表达式计算的复用方法
CN113535729A (zh) * 2021-07-21 2021-10-22 浪潮云信息技术股份公司 一种基于RocksDB实现行列混合存储的方法
CN113626464B (zh) * 2021-08-02 2024-07-12 上海沄熹科技有限公司 基于ClickHouse数据库内存数据的查询支持方法及系统
CN113360551B (zh) * 2021-08-11 2021-11-16 南京赛宁信息技术有限公司 一种靶场中时序数据的存储与快速统计方法及系统
CN114706861B (zh) * 2022-06-08 2022-09-16 天津南大通用数据技术股份有限公司 一种在列存储引擎中按列动态分组存储的方法
CN115062028B (zh) * 2022-07-27 2023-01-06 中建电子商务有限责任公司 一种OLTP领域多表join查询的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133858A (zh) * 2014-07-15 2014-11-05 武汉邮电科学研究院 基于列存储的智能双引擎分析系统及方法
CN104572893A (zh) * 2014-12-24 2015-04-29 天津南大通用数据技术股份有限公司 一种数据库中的数据混合存储方法
CN105574643A (zh) * 2015-11-23 2016-05-11 江苏瑞中数据股份有限公司 一种电网实时数据中心与大数据平台融合方法
CN105718593A (zh) * 2016-01-28 2016-06-29 长春师范大学 一种数据库查询优化方法及系统
CN106383893A (zh) * 2016-09-23 2017-02-08 上海携程商务有限公司 时间序列数据管理方法及系统
CN107729410A (zh) * 2017-09-26 2018-02-23 广西电网有限责任公司电力科学研究院 一种适用于电力设备大数据的数据库引擎
CN108182244A (zh) * 2017-12-28 2018-06-19 清华大学 一种基于多层次列式存储结构的时序数据存储方法
CN109542828A (zh) * 2017-09-22 2019-03-29 国网上海市电力公司 一种电力大数据实验平台
US10783186B2 (en) * 2017-08-31 2020-09-22 Micron Technology, Inc. Heterogenous key-value sets in tree database

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996556B2 (en) * 2002-08-20 2006-02-07 International Business Machines Corporation Metadata manager for database query optimizer
US8239406B2 (en) * 2008-12-31 2012-08-07 International Business Machines Corporation Expression tree data structure for representing a database query
JP6268116B2 (ja) * 2015-03-20 2018-01-24 東芝メモリ株式会社 データ処理装置、データ処理方法およびコンピュータプログラム
EP3477559A1 (en) * 2017-10-31 2019-05-01 Tata Consultancy Services Limited Method and system for multi-core processing based time series management with pattern detection based forecasting

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133858A (zh) * 2014-07-15 2014-11-05 武汉邮电科学研究院 基于列存储的智能双引擎分析系统及方法
CN104572893A (zh) * 2014-12-24 2015-04-29 天津南大通用数据技术股份有限公司 一种数据库中的数据混合存储方法
CN105574643A (zh) * 2015-11-23 2016-05-11 江苏瑞中数据股份有限公司 一种电网实时数据中心与大数据平台融合方法
CN105718593A (zh) * 2016-01-28 2016-06-29 长春师范大学 一种数据库查询优化方法及系统
CN106383893A (zh) * 2016-09-23 2017-02-08 上海携程商务有限公司 时间序列数据管理方法及系统
US10783186B2 (en) * 2017-08-31 2020-09-22 Micron Technology, Inc. Heterogenous key-value sets in tree database
CN109542828A (zh) * 2017-09-22 2019-03-29 国网上海市电力公司 一种电力大数据实验平台
CN107729410A (zh) * 2017-09-26 2018-02-23 广西电网有限责任公司电力科学研究院 一种适用于电力设备大数据的数据库引擎
CN108182244A (zh) * 2017-12-28 2018-06-19 清华大学 一种基于多层次列式存储结构的时序数据存储方法

Also Published As

Publication number Publication date
CN110362572A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110362572B (zh) 一种基于列式存储的时序数据库系统
US10534764B2 (en) Partial merge
JP4073033B1 (ja) 結合演算の処理機能の向上を考慮した合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US9465844B2 (en) Unified table query processing
US8250044B2 (en) Byte-code representations of actual data to reduce network traffic in database transactions
CN1552032B (zh) 数据库
US8234268B2 (en) System, method, and computer-readable medium for optimizing processing of distinct and aggregation queries on skewed data in a database system
US11797509B2 (en) Hash multi-table join implementation method based on grouping vector
EP2843567B1 (en) Computer-implemented method for improving query execution in relational databases normalized at level 4 and above
JP2011530119A (ja) 列ベースのデータ符号化構造の効率的な大規模処理
JP2012504825A (ja) 列ベースデータエンコードされた構造のクエリに対する効率的な大規模フィルタリングおよび/または並べ替え
US8583655B2 (en) Using an inverted index to produce an answer to a query
EP3913494A1 (en) Data compression techniques
WO2001033436A1 (en) System for managing rdbm fragmentations
JP4071816B1 (ja) 合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US6748377B1 (en) Facilitating query pushdown in a multi-tiered database environment
Litwin et al. The bounded disorder access method
CN112835920B (zh) 基于混合存储模式的分布式sparql查询优化方法
US9129001B2 (en) Character data compression for reducing storage requirements in a database system
WO2024082881A2 (zh) 数据库查询方法和装置
CN112052240A (zh) 一种基于协处理器的HBase二级内存索引构建方法
US5918231A (en) Object-oriented database management system with improved usage efficiency of main memory
Arnold et al. HRDBMS: Combining the best of modern and traditional relational databases
CN115374121A (zh) 数据库索引的生成方法、机器可读存储介质与计算机设备
Zhu et al. Developing a dynamic materialized view index for efficiently discovering usable views for progressive queries

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191230

Address after: 310012 Xihu District, Hangzhou, West Gate Road, No., Paradise Software Park, building D, block 17, block ABCD, 3

Applicant after: Zhejiang Bang Sheng Technology Co., Ltd.

Applicant after: CRRC TANGSHAN CO., LTD.

Address before: 310012 Xihu District, Hangzhou, West Gate Road, No., Paradise Software Park, building D, block 17, block ABCD, 3

Applicant before: Zhejiang Bang Sheng Technology Co., Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room ABCD, 17th floor, building D, Paradise Software Park, No.3 xidoumen Road, Xihu District, Hangzhou City, Zhejiang Province, 310012

Applicant after: Zhejiang Bangsheng Technology Co.,Ltd.

Applicant after: CSR Tangshan Rolling Stock Co., Ltd

Address before: Room ABCD, 17th floor, building D, Paradise Software Park, No.3 xidoumen Road, Xihu District, Hangzhou City, Zhejiang Province, 310012

Applicant before: ZHEJIANG BANGSUN TECHNOLOGY Co.,Ltd.

Applicant before: CSR Tangshan Rolling Stock Co., Ltd

GR01 Patent grant
GR01 Patent grant