System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种时序数据库加速聚合查询的方法技术_技高网

一种时序数据库加速聚合查询的方法技术

技术编号:40309118 阅读:6 留言:0更新日期:2024-02-07 20:52
本发明专利技术提供一种时序数据库加速聚合查询的方法,属于数据库技术领域,本发明专利技术包括1)对表按照时间进行分区,比如按照每天进行分区,这样可以减少检索表数据量;2)对表中敏感列进行简单的聚合信息统计,如统计sum、count、max等信息;这样可以快速计算聚合函数。

【技术实现步骤摘要】

本专利技术涉及数据库,尤其涉及一种时序数据库加速聚合查询的方法


技术介绍

1、随着流式数据库数据量的不断增加,针对一个需求仅提供一种计算方法已无法满足实时性能要求,这就要求数据库实现者根据不同的需求以及硬件条件采用不同的计算方法以满足性能需求。

2、聚合函数是查询中经常用到的信息,往往包含大量的计算和原始数据的扫描工作,如何减少扫描数据量和计算量就成为聚合函数查询效率优化的关键,针对扫描量和计算量分别提出了不同的优化方案。


技术实现思路

1、为了解决以上技术问题,本专利技术提供了一种时序数据库加速聚合查询的方法。在目前kaiwudb数据库方法的基础上,增加统计信息与数据分区信息,统计信息意在减少计算量,数据分区信息意在减少数据扫描量。

2、本专利技术的技术方案是:

3、一种时序数据库加速聚合查询的方法,

4、1)对表按照时间进行分区,比如按照每天进行分区,这样可以减少检索表数据量;

5、2)对表中敏感列进行简单的聚合信息统计,如统计sum、count、max等信息;这样可以快速计算聚合函数。

6、进一步的,

7、步骤如下

8、1)client端发送sql语句;

9、2)server端接收到sql;

10、3)进行sql改写

11、4)对改写后的sql进行分段设计;

12、5)merge最终结果,返回client。

13、其中,

14、1)针对流式数据,按照时间列对数据进行分区处理,按每天一个分区划分;可根据具体的业务逻辑采用不同划分方式。

15、2)对原始数据表建立对应的统计信息表,记录热点信息;

16、3)对client端发来sql,server端需要先查询sql中是否存在聚合函数,同时查询原始表是否存在对应的统计信息表,如果符合要求,则进行sql转换,原则为使用统计信息表对原表进行等价替换;

17、4)计算步骤3)给出的sql结果并返回client,流程结束。

18、再进一步的,

19、针对表inverter创建对应的统计信息,记录为统计信息表inverter_info。

20、记录信息为每小时统计first(date_create_time)as a,sum(pac)as b,count(pac)as c信息,主键为统计的起始时间。

21、server端接收到sql语句后,首先根据表inverter的元数据信息找到对应的统计信息表,根据信息表的元数据信息判断可以使用统计信息,则做拆分处理。

22、本专利技术的有益效果是

23、本专利技术可以根据对应的统计信息和数据分区减少计算量以及扫描数据量,可以有效提供聚合函数查询的效率,数据量越大效果越明显。

本文档来自技高网...

【技术保护点】

1.一种时序数据库加速聚合查询的方法,其特征在于,

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,

4.根据权利要求3所述的方法,其特征在于,

5.根据权利要求3所述的方法,其特征在于,

6.根据权利要求3所述的方法,其特征在于,

7.根据权利要求6所述的方法,其特征在于,

8.根据权利要求7所述的方法,其特征在于,

【技术特征摘要】

1.一种时序数据库加速聚合查询的方法,其特征在于,

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,

4.根据权利要求3所述的方法,其特征在于,

【专利技术属性】
技术研发人员:李国亮
申请(专利权)人:山东浪潮数据库技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1