CN114297227B - 时序数据库的架构方法、查询方法和时序数据库 - Google Patents

时序数据库的架构方法、查询方法和时序数据库 Download PDF

Info

Publication number
CN114297227B
CN114297227B CN202111597106.0A CN202111597106A CN114297227B CN 114297227 B CN114297227 B CN 114297227B CN 202111597106 A CN202111597106 A CN 202111597106A CN 114297227 B CN114297227 B CN 114297227B
Authority
CN
China
Prior art keywords
layer
chunk
data
time
hour
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
CN202111597106.0A
Other languages
English (en)
Other versions
CN114297227A (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.)
Chengdu Sobey Digital Technology Co Ltd
Original Assignee
Chengdu Sobey Digital Technology 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 Chengdu Sobey Digital Technology Co Ltd filed Critical Chengdu Sobey Digital Technology Co Ltd
Priority to CN202111597106.0A priority Critical patent/CN114297227B/zh
Publication of CN114297227A publication Critical patent/CN114297227A/zh
Application granted granted Critical
Publication of CN114297227B publication Critical patent/CN114297227B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种时序数据库的架构方法、查询方法和时序数据库,属于数据库技术领域,包括步骤:S1,根据时序数据本身自带顺序的特点,保留顺序写;S2,按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。本发明可以有效减少I/O,显著提高数据库查询性能。

Description

时序数据库的架构方法、查询方法和时序数据库
技术领域
本发明涉及时序数据库技术领域,更为具体的,涉及一种时序数据库的架构方法、查询方法和时序数据库。
背景技术
目前时序数据库存储结构主要采用B-Tree、B+Tree、LSM-stree。以LSM-tree为例,LSM-tree其核心思想是充分利用了磁盘批量的顺序写远比随机写性能高很多的原理设计的,这种结构的写入全部是以Append的模式追加,不存在删除和修改,这种结构虽然大大弥补了B+tree的数据写入能力,但却是以牺牲部分读取性能为代价。
发明内容
本发明的目的在于克服现有技术的不足,提供一种时序数据库的架构方法、查询方法和时序数据库,可以有效减少I/O操作,提高数据库查询性能等。
本发明的目的是通过以下方案实现的:
一种时序数据库的架构方法,包括步骤:
S1,根据时序数据本身自带顺序的特点,保留顺序写;
S2,按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。
进一步地,步骤S2基于如下框架实现:
最底层为Data-page层,每个数据块中有多条记录;按颗粒度从小到大依次往上排列为Second-Chunk层、Minute-Chuck层、Hour-Chunk层、Root层、Partition层;在Second-Chunk层、Minute-Chuck层和Hour-Chunk层,记录分别以第一时间和第二时间为单位进行统计,统计出第一时间和第二时间内每个字段的特征值信息;同时,每条Minute-Chunk的记录会记下对应的第一时间内第一条Data-page层记录所在的数据块的数据块号Block No;每条Hour-Chunk记录也会记下对应的第二时间内第一条Minute-Chunk层记录所在的Minute-Chunk层数据块的数据块号Block No;在Root层,每一个Hour-Chunk Block对应一条Root记录,每条Root记录只存放对应Hour-Chunk Block中的第一条记录的时间最小值和这个Hour-Chunk Block的数据块号Block No。
进一步地,所述Partition层的颗粒度根据需求调整。
进一步地,所述特征值信息包括最大值、最小值、平均值、数据量以及根据用户需求自定义聚合函数信息中的任一种或多种。
进一步地,所述第一时间设为分钟,所述第二时间设为小时。
一种基于如上所述架构方法的时序数据库查询方法,包括步骤:依据用户SQL语句在框架对应层中快速抓取所需信息,针对不同颗粒度做的统计信息在数据写入时就已经形成,完成降采样查询。
一种基于如上所述架构方法的时序数据库查询方法,包括步骤:当要查询数据中是否存在异常值时,直接根据最上层的记录即可判断下层是否有满足条件的,完成异常值查询。该实施方案可以快速定位异常值所在范围,降低查询所需时长,提高用户使用效率。
一种基于如上所述架构方法的时序数据库,包括可读存储介质和程序,基于可读存储介质运行程序实现所述框架。
本发明的有益效果是:
1、本发明实施例,可以有效减少I/O,提高数据库查询性能。
2、本发明实施例中,可以提高查询速度,可以实现按需返回;具体的,例如要获取分钟级的统计数据,应用本发明实施例可以直接从分钟级去拉取数据,不必下到源数据层,这样可以大大提升数据查询的速度。
3、应用本发明实施例的查询方案,在查询某个向量或几个向量出现异常值的数据,主要用于异常值快读定位,即所有数据都有可能查询,普通索引无法解决此类问题。
4、应用本发明实施例的查询方案,查询某个时间段内设备平均小时间段(时分秒)的平均值、最小值、最大值等,可以用于曲线图的绘制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的时序数据库框架图;
图2为本发明实施例的步骤流程图;
Data-page:原始数据层;
Second-Chunk:秒级层;
Minute-Chuck:分钟层;
Hour-Chunk:小时层;
partition:数据库会按照维度字段分为多个Partition,每个Partition中包含相同维度的不同数据;
Chunk:一个Partition分为多个Chunk,每一个Chunk都会记录相应时间范围内所有数据字段的范围及统计信息;
Root:每一个Hour-Chunk Block对应一条Root记录,即Root层管理着Hour-Chunk;
BLOCK-No:数据块号,快速定位数据所处位置;
Tags:维度字段,用户在创建表时可以指定哪些字段为维度字段。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
下面根据附图1~图2,对本发明解决的技术问题、技术构思、工作原理、工作过程和有益效果作进一步详细说明。
如图1~图2所示,本发明提出了一种时序数据库的架构方法、查询方法和时序数据库,至少解决如下技术问题:减少I/O操作,有效提高查询性能。
在本发明方法实施例中,可以面向专用于存储管理时序的时序数据库,提出一种支持异常值快速查询的分层统计时序数据库架构方法。根据时序数据本身自带顺序的特点,保留了顺序写,并且按时间颗粒度进行统计信息分层,每一层之间可直接访问,无需返回根节点,或上层节点。统计信息按统一的块来进行管理,以此有效减少I/O操作。这样既解决了B+tree写入性能低的问题,也解决了LSM-tree查询性能不足的问题。
在本发明的实施例中,具体可设计如下框架:
最底层为Data-page层,每个数据块中有若干条记录。按颗粒度从小到大依次往上排列为Second-Chunk层,Minute-Chuck层,Hour-Chunk层,Root层,Partition层,上述层级颗粒度可根据需求调整。在Second-Chunk层,Minute-Chuck层,Hour-Chunk层,记录分别以分钟和小时为单位进行统计,统计出每分钟每小时内每个字段的最大值、最小值、平均值、数据量等信息(可根据用户需求自定义聚合函数)。同时,每条Minute-Chunk层的记录会记下对应的分钟内第一条Data-page层记录所在的数据块的Block No。每条Hour-Chunk记录也会记下对应的小时内第一条Minute-Chunk记录所在的Minute-Chunk层数据块的BlockNo。在Root层,每一个Hour-Chunk Block对应一条Root记录,每条Root记录只存放对应Hour-Chunk Block中的第一条记录的时间最小值和这个Hour-Chunk Block的Block No。
为证实本发明实施例提出的时序数据库框架,针对基于时间序列的数据的查询有性能上的明显提升,故在以下环境中进行了测试验证:
表1
Figure BDA0003430708410000051
表2
Figure BDA0003430708410000061
Figure BDA0003430708410000071
Figure BDA0003430708410000081
由上表的测试数据可以看出,在该架构方法下执行查询基于时间序列的数据,性能非常棒的。在本发明提供的架构方法之下,每次抓取数据,并非直接抓取原始数据,而是根据数据块中的第一条记录直接判定数据块所在位置,后直接获得数据所处位置,不会出现全部数据从头遍历的情况,查询统计信息则更加快速,可以根据每层的统计信息,直接获得数据,例如使用COUNT(*)语句时,只需在Houre-Chunk层就可获得结果。
在进行降采样查询时,可以依据用户SQL语句在框架对应层中快速抓取所需信息,针对不同颗粒度做的统计信息在数据写入时就已经形成,完成降采样查询,降低复杂度,提升查询性能。
在进行异常值查询时,要查询数据中是否存在异常值时,可以直接根据最上层的记录即可判断下层是否有满足条件的,快速定位异常值所在范围,降低查询所需时长,提高用户使用效率。
实施例1:一种时序数据库的架构方法,包括步骤:
S1,根据时序数据本身自带顺序的特点,保留顺序写;
S2,按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。
实施例2:在实施例1的基础上,步骤S2基于如下框架实现:
最底层为Data-page层,每个数据块中有多条记录;按颗粒度从小到大依次往上排列为Second-Chunk层、Minute-Chuck层、Hour-Chunk层、Root层、Partition层;在Second-Chunk层、Minute-Chuck层和Hour-Chunk层,记录分别以第一时间和第二时间为单位进行统计,统计出第一时间和第二时间内每个字段的特征值信息;同时,每条Minute-Chunk的记录会记下对应的第一时间内第一条Data-page层记录所在的数据块的数据块号Block No;每条Hour-Chunk记录也会记下对应的第二时间内第一条Minute-Chunk层记录所在的Minute-Chunk层数据块的数据块号Block No;在Root层,每一个Hour-Chunk Block对应一条Root记录,每条Root记录只存放对应Hour-Chunk Block中的第一条记录的时间最小值和这个Hour-Chunk Block的数据块号Block No。
实施例3:在实施例2的基础上,所述Partition层的颗粒度根据需求调整。
实施例4:在实施例2的基础上,所述特征值信息包括最大值、最小值、平均值、数据量以及根据用户需求自定义聚合函数信息中的任一种或多种。
实施例5:在实施例2的基础上,所述第一时间设为分钟,所述第二时间设为小时。
实施例6:在实施例2的基础上,一种基于如上所述架构方法的时序数据库查询方法,包括步骤:依据用户SQL语句在框架对应层中快速抓取所需信息,针对不同颗粒度做的统计信息在数据写入时就已经形成,完成降采样查询。
实施例7:在实施例2的基础上,一种基于如上所述架构方法的时序数据库查询方法,包括步骤:当要查询数据中是否存在异常值时,直接根据最上层的记录即可判断下层是否有满足条件的,完成异常值查询,可以快速定位异常值所在范围,降低查询所需时长,提高用户使用效率。
实施例8:在实施例2的基础上,一种基于如上所述架构方法的时序数据库,包括可读存储介质和程序,基于可读存储介质运行程序实现所述框架。
本发明功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,在一台计算机设备(可以是个人计算机,服务器,或者网络设备等)以及相应的软件中执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、或者光盘等各种可以存储程序代码的介质,进行测试或者实际的数据在程序实现中存在于只读存储器(Random Access Memory,RAM)、随机存取存储器(Random Access Memory,RAM)等。

Claims (7)

1.一种时序数据库的架构方法,其特征在于,包括步骤:
S1,根据时序数据本身自带顺序的特点,保留顺序写;
S2,按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理;步骤S2基于如下框架实现:
最底层为Data-page层,每个数据块中有多条记录;按颗粒度从小到大依次往上排列为Second-Chunk层、Minute-Chuck层、Hour-Chunk层、Root层、Partition层;在Second-Chunk层、Minute-Chuck层和Hour-Chunk层,记录分别以第一时间和第二时间为单位进行统计,统计出第一时间和第二时间内每个字段的特征值信息;同时,每条Minute-Chunk的记录会记下对应的第一时间内第一条Data-page层记录所在的数据块的数据块号Block No;每条Hour-Chunk记录也会记下对应的第二时间内第一条Minute-Chunk层记录所在的Minute-Chunk层数据块的数据块号Block No;在Root层,每一个Hour-Chunk Block对应一条Root记录,每条Root记录只存放对应Hour-Chunk Block中的第一条记录的时间最小值和这个Hour-Chunk Block的数据块号Block No;
Data-page:原始数据层;
Second-Chunk:秒级层;
Minute-Chuck:分钟层;
Hour-Chunk:小时层;
partition:数据库会按照维度字段分为多个Partition,每个Partition中包含相同维度的不同数据;
Chunk:一个Partition分为多个Chunk,每一个Chunk都会记录相应时间范围内所有数据字段的范围及统计信息;
Root:每一个Hour-Chunk Block对应一条Root记录,即Root层管理着Hour-Chunk;
BLOCK-No:数据块号,快速定位数据所处位置;
Tags:维度字段,用户在创建表时指定哪些字段为维度字段。
2.根据权利要求1所述的时序数据库的架构方法,其特征在于,所述Partition层的颗粒度根据需求调整。
3.根据权利要求1所述的时序数据库的架构方法,其特征在于,所述特征值信息包括最大值、最小值、平均值、数据量以及根据用户需求自定义聚合函数信息中的任一种或多种。
4.根据权利要求1所述的时序数据库的架构方法,其特征在于,所述第一时间设为分钟,所述第二时间设为小时。
5.一种基于权利要求1所述架构方法的时序数据库查询方法,其特征在于,包括步骤:依据用户SQL语句在框架对应层中快速抓取所需信息,针对不同颗粒度做的统计信息在数据写入时就已经形成,完成降采样查询。
6.一种基于权利要求1所述架构方法的时序数据库查询方法,其特征在于,包括步骤:当要查询数据中是否存在异常值时,直接根据最上层的记录即可判断下层是否有满足条件的,完成异常值查询。
7.一种基于权利要求1所述架构方法的时序数据库,其特征在于,包括可读存储介质和程序,基于可读存储介质运行程序实现所述框架。
CN202111597106.0A 2021-12-24 2021-12-24 时序数据库的架构方法、查询方法和时序数据库 Active CN114297227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111597106.0A CN114297227B (zh) 2021-12-24 2021-12-24 时序数据库的架构方法、查询方法和时序数据库

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111597106.0A CN114297227B (zh) 2021-12-24 2021-12-24 时序数据库的架构方法、查询方法和时序数据库

Publications (2)

Publication Number Publication Date
CN114297227A CN114297227A (zh) 2022-04-08
CN114297227B true CN114297227B (zh) 2023-06-20

Family

ID=80969855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111597106.0A Active CN114297227B (zh) 2021-12-24 2021-12-24 时序数据库的架构方法、查询方法和时序数据库

Country Status (1)

Country Link
CN (1) CN114297227B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460094A (zh) * 2018-01-30 2018-08-28 上海天旦网络科技发展有限公司 存储统计数据的方法和系统
CN109783495A (zh) * 2019-01-11 2019-05-21 华青融天(北京)软件股份有限公司 一种多维度数据处理方法、装置及计算机设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298854B2 (en) * 2010-05-14 2016-03-29 Hitachi, Ltd. Time-series data management device, system, method, and program
CN104184568B (zh) * 2014-09-05 2017-09-29 中国电子科技集团公司第七研究所 通信系统的数据传输方法及系统
US20170185273A1 (en) * 2015-12-27 2017-06-29 Sap Se Time Axis Responsiveness In Charts
CN106406759B (zh) * 2016-09-13 2019-12-31 苏州浪潮智能科技有限公司 一种数据存储方法及装置
US10073888B1 (en) * 2017-02-27 2018-09-11 Timescacle, Inc. Adjusting partitioning policies of a database system in view of storage reconfiguration
CN110019085A (zh) * 2017-10-31 2019-07-16 上海宝信软件股份有限公司 一种基于HBase的分布式时序数据库
US11030189B2 (en) * 2019-04-19 2021-06-08 Timescale, Inc. Maintaining up-to-date materialized views for time-series database analytics
CN111858676B (zh) * 2020-07-24 2024-08-13 政采云有限公司 一种数据处理的方法及装置
CN113760847A (zh) * 2021-01-28 2021-12-07 北京沃东天骏信息技术有限公司 日志数据处理方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460094A (zh) * 2018-01-30 2018-08-28 上海天旦网络科技发展有限公司 存储统计数据的方法和系统
CN109783495A (zh) * 2019-01-11 2019-05-21 华青融天(北京)软件股份有限公司 一种多维度数据处理方法、装置及计算机设备

Also Published As

Publication number Publication date
CN114297227A (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
US7496584B2 (en) Incremental cardinality estimation for a set of data values
US10657116B2 (en) Create table for exchange
US8712972B2 (en) Query optimization with awareness of limited resource usage
CN109656958B (zh) 数据查询方法以及系统
CN107526550B (zh) 一种基于日志结构合并树的两阶段合并方法
CN110196847A (zh) 数据处理方法和装置、存储介质及电子装置
US8375012B1 (en) Computer indexes with multiple representations
CN112783901B (zh) 一种基于物联网中间件的物联网时序大数据处理方法
CN111061758B (zh) 数据存储方法、装置及存储介质
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN110413631B (zh) 一种数据查询方法及装置
US20190340272A1 (en) Systems and related methods for updating attributes of nodes and links in a hierarchical data structure
CN110597805B (zh) 一种内存索引结构处理方法
CN113934713A (zh) 一种订单数据索引方法、系统、计算机设备以及存储介质
CN114297227B (zh) 时序数据库的架构方法、查询方法和时序数据库
CN116756253B (zh) 关系型数据库的数据存储、查询方法、装置、设备和介质
CN114020713A (zh) 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质
CN110990340A (zh) 一种大数据多层次存储架构
CN110069575A (zh) 一种基于多维数据标注的动态数据统计方法及系统
CN117171209A (zh) 一种缓存数据清理方法、装置、存储介质和电子设备
CN115543195A (zh) 一种适用于时序存储的block落盘方法及系统
CN114218277A (zh) 一种关系数据库的高效查询方法和装置
CN112667859A (zh) 基于内存的数据处理方法及装置
CN104765656A (zh) 一种冷数据的备份方法及装置
RU2389066C2 (ru) Многомерная база данных и способ управления многомерной базой данных

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
GR01 Patent grant
GR01 Patent grant