System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向多模数据库架构的计划优化方法及系统技术方案_技高网

面向多模数据库架构的计划优化方法及系统技术方案

技术编号:40489458 阅读:11 留言:0更新日期:2024-02-26 19:20
本发明专利技术公开了面向多模数据库架构的计划优化方法及系统,属于多模数据库技术领域,本发明专利技术要解决的技术问题为多模数据库架构的查询响应效率低,采用的技术方案为:将跨模查询的查询SQL输送到关系数据库,经过关系数据库的编译模块产生一个查询计划;将查询不同类型数据库的查询计划进行剪枝;关系数据库将从各个数据库获取来的数据进行后续的加工处理;将结果返回客户端。

【技术实现步骤摘要】

本专利技术涉及多模数据库,具体地说是一种面向多模数据库架构的计划优化方法及系统


技术介绍

1、市场上的许多应用系统的主要数据来源于数据库系统,数据库系统成为了许多主流应用系统的数据核心。较为成熟且主流的数据库系统是基于关系模型构建的关系型数据库系统,专门用于处理结构化的数据。

2、由于市场的多样化,许多非关系型的数据库被催生出来,比如常用于iot场景的时序数据库,以及常用于知识图谱、金融和电子商务等领域的图数据库,还有xml数据库,文档数据库,key-value(kv)数据库等。

3、现在的应用系统变的越来越复杂,单一的数据库已经难以满足许多场景的应用,比如物流管理系统的场景。在传统的物流管理中,需要处理和分析各种类型的数据,包括订单信息、仓库存储情况、运输路线等。这些数据通常存储在不同类型的数据库中,具体如下:

4、关系型数据库:用于存储订单信息、客户信息、供应商信息等结构化数据。

5、时序数据库:用于存储传感器数据、物流跟踪数据等时间序列数据。

6、图数据库:用于存储货物的关系网络、交通路线网络等图数据。

7、在这种情况下,使用多个独立的数据库系统存在以下问题:

8、①数据一致性差:由于数据分散存储在不同的数据库中,造成数据之间的一致性难以保证;例如,订单状态发生变化时,需要同时更新关系型数据库和时序数据库,容易导致数据不一致。

9、②数据处理效率低:当需要联合查询多个数据库时,需要进行数据导入导出或者跨系统查询,这会增加系统的复杂性和响应时间。

10、③数据安全性差:每个数据库都需要独立维护安全性控制和权限管理,增加了管理和维护的复杂性;同时,数据在导入导出过程中可能面临数据暴露的风险。

11、为解决上述问题,现有技术在关系型数据库的基础上,将其余数据类型的数据库作为关系型数据库的存储引擎来横向拓展,只需要开发一套兼容多模数据库的查询编译模块,通过拆分出每个数据库的查询部分,组织成各自的查询语句,下发到对应的数据库执行,最终在关系型数据库进行数据整合,以此联合多模数据库满足客户使用需求。相比于构建一个新品种的数据库系统而言,现有技术方案拥有能够相对快速的扩展新数据类型的处理能力,但受限于各种数据类型。

12、现有技术方案的弊端还在于,一条跨模查询的语句经过关系数据库的编译模块后,会重新生成多条查询语句,通过关系数据库的执行模块,将属于不同数据库的查询语句分发到对应的数据库中,在各自的数据库中再进行了一次编译,生成对应执行计划,经过执行模块获取结果返回关系数据库进行最终数据整合,该方案中多次编译会影响查询响应效率。


技术实现思路

1、本专利技术的技术任务是提供一种面向多模数据库架构的计划优化方法及系统,来解决多模数据库架构的查询响应效率低的问题。

2、本专利技术的技术任务是按以下方式实现的,一种面向多模数据库架构的计划优化方法,该方法具体如下:

3、将跨模查询的查询sql输送到关系数据库,经过关系数据库的编译模块产生一个查询计划;

4、将查询不同类型数据库的查询计划进行剪枝;

5、关系数据库将从各个数据库获取来的数据进行后续的加工处理,如数据汇总,后续的算子执行,如关联算子、聚合算子、过滤算子、投影算子等的执行;

6、将结果返回客户端。

7、作为优选,查询计划至少包括关系数据查询、时序数据查询、图数据查询中两种。

8、更优地,将跨模查询的查询sql输送到关系数据库,经过关系数据库的编译模块产生一个查询计划具体如下:

9、在生成查询计划过程中,对属于不同数据类型的查询计划进行标记;其中,不同类型的查询计划标记为:关系数据的查询计划标记为rd,时序数据的查询计划标记为ts,图数据的查询计划标记为ph;

10、将其余数据库执行的操作也下推去执行,减少拉取的数据量,提升查询响应效率。

11、作为优选,将查询不同类型数据库的查询计划进行剪枝具体如下:

12、对树状计划自顶向下执行,对执行到的计划层进行标记flag判别:

13、遇到标记为rd的计划层,继续执行子计划;

14、若无子计划,则直接执行本层计划;

15、遇到标记为ts的计划层,将本层及本层之后的子层裁剪下来,按照关系数据库与时序数据库既定的协议,裁剪下来编码成对应的数据流,输送给时序数据库;时序数据库根据协议解码成时序数据库的计划,通过既定接口直接输送到时序数据库的执行模块执行,获取到结果,返回关系数据库;

16、遇到标记为ph的计划层,将本层及本层之后的子层裁剪下来,按照关系数据库与图数据库既定的协议,裁剪下来编码成对应的数据流,输送给图数据库;:图数据库根据协议解码成时序数据库的计划,通过既定接口直接输送到图数据库的执行模块执行,获取到结果,返回关系数据库。

17、作为优选,查询计划的剪枝流程具体如下:

18、(1)执行投影算子时,判别标记flag:

19、若是rd,则继续执行投影的子算子;否则继续判别标记flag;

20、若是ts,则按照关系数据库与时序数据库既定的协议将投影算子以及子算子编码成对应的数据流,输送给时序数据库,否则继续判断flag;

21、若是ph,则按照关系数据库与图数据库既定的协议将投影算子以及子算子编码成对应的数据流,输送给图数据库;

22、(2)执行过滤算子时,判别标记flag:

23、若是rd,则继续执行过滤的子算子;否则继续判别标记flag;

24、若是ts,则按照关系数据库与时序数据库既定的协议将过滤算子以及子算子编码成对应的数据流,输送给时序数据库;否则继续判判别标记flag;

25、若是ph,则按照关系数据库与图数据库既定的协议将过滤算子以及子算子编码成对应的数据流,输送给图数据库;

26、(3)执行聚合算子时,判别标记flag:

27、若是rd,则继续执行聚合的子算子;否则继续判断flag;

28、若是ts,则按照关系数据库与时序数据库既定的协议将聚合算子以及子算子编码成对应的数据流,输送给时序数据库;否则继续判断flag;

29、若是ph,则按照关系数据库与图数据库既定的协议将聚合算子以及子算子编码成对应的数据流,输送给图数据库;

30、(4)执行关联算子时,判别标记flag:

31、若是rd,则继续执行关联的子算子;否则继续判别标记flag;

32、若是ts,则按照关系数据库与时序数据库既定的协议将关联算子以及子算子编码成对应的数据流,输送给时序数据库;否则继续判别flag,;

33、若是ph,则按照关系数据库与图数据库既定的协议将关联算子以及子算子编码成对应的数据流,输送给图数据库;

34、(5)依次本文档来自技高网...

【技术保护点】

1.一种面向多模数据库架构的计划优化方法,其特征在于,该方法具体如下:

2.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,查询计划至少包括关系数据查询、时序数据查询、图数据查询中两种。

3.根据权利要求1或2所述的面向多模数据库架构的计划优化方法,其特征在于,将跨模查询的查询SQL输送到关系数据库,经过关系数据库的编译模块产生一个查询计划具体如下:

4.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,将查询不同类型数据库的查询计划进行剪枝具体如下:

5.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,查询计划的剪枝流程具体如下:

6.一种面向多模数据库架构的计划优化系统,其特征在于,该系统是通过客户端向关系数据库输入一条跨模查询的SQL语句,经过关系数据库的编译模块,将SQL语句编译成数据库可执行的查询计划,编译期间将生成的查询计划进行标记;具体为:投影算子、过滤算子、聚合算子、关联算子、扫描算子被标记为rd,说明查询计划需要在关系数据库执行;标记为ts的扫描算子,说明查询计划需要被发送到时序数据库执行;标记为gp的扫描算子,说明查询计划需要被发送到图数据库执行;执行模块拿到带有标记的计划,执行时判断计划的标记属于哪种数据库,并将计划发送到对应的数据库,其他数据库接收到输送过来的计划后,不再需要进行编译,直接通过执行模块执行,将结果送回关系数据库,由关系数据库进行数据的汇总及剩余数据处理,经过关系数据库、时序数据库和图数据库的扫描算子将数据拉回关系数据库后,再进行剩余的关联算子、聚合算子、过滤算子、投影算子的后续执行,最后将最终结果返回给客户端。

7.根据权利要求6所述的面向多模数据库架构的计划优化系统,其特征在于,对查询计划进行剪枝,具体如下:

8.根据权利要求7所述的面向多模数据库架构的计划优化系统,其特征在于,查询计划的剪枝流程具体如下:

9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至6中任一项所述的面向多模数据库架构的计划优化方法。

...

【技术特征摘要】

1.一种面向多模数据库架构的计划优化方法,其特征在于,该方法具体如下:

2.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,查询计划至少包括关系数据查询、时序数据查询、图数据查询中两种。

3.根据权利要求1或2所述的面向多模数据库架构的计划优化方法,其特征在于,将跨模查询的查询sql输送到关系数据库,经过关系数据库的编译模块产生一个查询计划具体如下:

4.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,将查询不同类型数据库的查询计划进行剪枝具体如下:

5.根据权利要求1所述的面向多模数据库架构的计划优化方法,其特征在于,查询计划的剪枝流程具体如下:

6.一种面向多模数据库架构的计划优化系统,其特征在于,该系统是通过客户端向关系数据库输入一条跨模查询的sql语句,经过关系数据库的编译模块,将sql语句编译成数据库可执行的查询计划,编译期间将生成的查询计划进行标记;具体为:投影算子、过滤算子、聚合算子、关联算子、扫描算子被标记为rd,说明查询计划需要在关系数据库执行;标记为ts的扫描算...

【专利技术属性】
技术研发人员:阮志劲任艳征窦志彤
申请(专利权)人:山东浪潮数据库技术有限公司
类型:发明
国别省市:

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

1