System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种文档数据库多表连接查询方法及装置制造方法及图纸_技高网

一种文档数据库多表连接查询方法及装置制造方法及图纸

技术编号:40080575 阅读:17 留言:0更新日期:2024-01-17 02:38
本发明专利技术公开了一种文档数据库多表连接查询方法及装置,涉及数据处理技术领域。该方法的一具体实施方式包括:基于数据表的连接关系确定连接模式;将上述连接模式中的数据表转换为引用表,采用连接键作为分片键,对上述引用表进行分片;将分片后的引用表分布在分布式集群中的每个节点中;将查询指令分布至上述分布式集群中的节点上,并基于查询指令进行数据查询;汇总上述分布式集群中的每个节点的查询结果,生成总查询结果并进行反馈。该实施方式通过将连接键作为引用表的分片键,具有数值接近的分片键的文档位于相同分片,将分片平均分布至不同的节点中,使得在进行查询时,每个节点只需要对本地的数据进行查询,提高了数据读取效率。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种文档数据库多表连接查询方法及装置


技术介绍

1、在进行数据查询和读取时,文档数据库作为一种非关系型数据库管理系统,由于采用了不同于关系型数据库的数据模型和查询语言,无法使用关系型数据库中的多表连接操作,且在数据以文档形成存储的文档数据库中,由于各个文档不存在预定义的模式与固定的键值关系,也导致文档数据库无法进行多表连接操作。

2、文档数据库提供了以下两种数据查询与读取功能:采用嵌套文档和数据的存储方法将相关数据嵌套在一个文档中,以在一个文档中表示多个表之间的关系;通过在文档中存储其他文档的引用,来建立文档之间的关联关系,以进行数据的查询和聚合。

3、但以上两种方法仍存在着以下问题:当较多的表存在关联时,嵌套文档和数据的方法需要在多个文档中重复存储相同数据,增加了存储空间的占用率,且为了保持数据的一致性在数据更新时需要进行更多的更新操作,操作繁琐、时间成本高;在采用文档引用的方法时,进行查询时需要根据外键或引用字段进行其他表的数据的调用,产生了额外的查询开销,且分布式集群环境中数据分布在不同节点时,节点之间数据的传输导致了进一步的网络开销,降低了查询性能。因此,目前亟需一种文档数据库的数据查询方法以解决现有技术中存在的至少一个问题。


技术实现思路

1、有鉴于此,本专利技术实施例提供一种文档数据库多表连接查询方法及装置,通过将连接键作为引用表的分片键,具有数值接近的分片键的文档位于相同分片,将分片平均分布至不同的节点中,从而使得在进行查询时,分布式集群中的每个节点只需要对本地的数据进行查询,提高了数据读取效率,并通过查询指令多线程并行执行,提高了数据查询效率。

2、为实现上述目的,根据本专利技术实施例的一个方面,提供了一种文档数据库多表连接查询方法。

3、本专利技术实施例的一种文档数据库多表连接查询方法包括:

4、基于数据表的连接关系确定连接模式;

5、将上述连接模式中的数据表转换为引用表,采用连接键作为分片键,对上述引用表进行分片;

6、将分片后的引用表分布在分布式集群中的每个节点中;

7、将查询指令分布至上述分布式集群中的节点上,并基于查询指令进行数据查询;

8、汇总上述分布式集群中的每个节点的查询结果,生成总查询结果并进行反馈。

9、可选地,在上述将分片后的引用表分布在分布式集群中的每个节点中之后,上述方法还包括:

10、采用目标配置数据库对上述每个引用表和上述分布式集群中的每个节点的分片进行配置信息的记录,并获取最大线程数。

11、可选地,上述采用目标配置数据库对上述每个引用表和上述分布式集群中的每个节点的分片进行配置信息的记录,并获取最大线程数,包括:

12、采用目标配置数据库对上述每个引用表和上述分布式集群中的每个节点的分片进行配置信息的记录;

13、基于上述目标配置数据库获取上述每个引用表的数据量;

14、比较上述每个引用表的数据量,并获取数据量最大的目标引用表;

15、获取上述目标引用表的分片信息;

16、根据上述分片信息确定最大线程数。

17、可选地,上述将查询指令分布至上述分布式集群中的节点上,并基于查询指令进行数据查询,包括:

18、基于上述最大线程数,将上述查询指令分布到上述分布式集群中的节点上,并基于查询指令进行数据查询,以使接收到查询指令的节点对本节点内引用表及分片的数据进行查询。

19、可选地,上述方法还包括:

20、在进行数据查询时,基于每个引用表的数据量和连接顺序进行当前查询结果的存入缓存操作。

21、可选地,上述将分片后的引用表分布在分布式集群中的每个节点中,包括:

22、获取上述引用表的数据量;

23、将上述引用表的数据量与第一预设数据量阈值进行对比;

24、响应于上述引用表的数据量大于上述第一预设数据量阈值,将上述引用表的分片平均分布在上述分布式集群中的每个节点中。

25、可选地,上述将分片后的引用表分布在分布式集群中的每个节点中,还包括:

26、响应于上述引用表的数据量小于上述第一预设数据量阈值,将上述引用表复制并分发至上述分布式集群中的每个节点中。

27、为实现上述目的,根据本专利技术实施例的又一方面,提供了一种文档数据库多表连接查询装置。

28、本专利技术实施例的一种文档数据库多表连接查询装置包括:确定模块,用于基于数据表的连接关系确定连接模式;

29、转换模块,用于将上述连接模式中的数据表转换为引用表,采用连接键作为分片键,对上述引用表进行分片;

30、分布模块,用于将分片后的引用表分布在分布式集群中的每个节点中;

31、查询模块,用于将查询指令分布至上述分布式集群中的节点上,并基于查询指令进行数据查询;

32、汇总模块,用于汇总上述分布式集群中的每个节点的查询结果,生成总查询结果并进行反馈。

33、为实现上述目的,根据本专利技术实施例的又一方面,提供了一种用于文档数据库多表连接查询的电子设备。

34、本专利技术实施例的一种文档数据库多表连接查询的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现本专利技术实施例的一种文档数据库多表连接查询方法。

35、为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介质。

36、本专利技术实施例的一种计算机可读存储介质,其上存储有计算机程序,上述程序被处理器执行时实现本专利技术实施例的一种文档数据库多表连接查询方法。

37、上述专利技术中的一个实施例具有如下优点或有益效果:本专利技术通过将连接键作为引用表的分片键,避免了嵌套文档重复存储数据的问题,解决了采用随机生成的数据表id作为分片键不能反映文档顺序的问题,由于连接键的有序性,在进行引用表分片分布时,具有数值接近的分片键的文档位于相同分片,将分片平均分布至不同的节点中,从而使得在进行查询时,分布式集群中的每个节点只需要对本地的数据进行查询,提高了数据读取效率,这样,通过将数据分布在不同的节点中,不同的节点同时进行本地数据查询,最后汇总查询结果,实现了查询本地化与数据查询的并行处理,减少了不同节点的数据传输引起的网络延迟,提高了查询效率。

38、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

本文档来自技高网...

【技术保护点】

1.一种文档数据库多表连接查询方法,其特征在于,包括:

2.根据权利要求1所述的文档数据库多表连接查询方法,其特征在于,在所述将分片后的引用表分布在分布式集群中的每个节点中之后,所述方法还包括:

3.根据权利要求2所述的文档数据库多表连接查询方法,其特征在于,所述采用目标配置数据库对所述每个引用表和所述分布式集群中的每个节点的分片进行配置信息的记录,并获取最大线程数,包括:

4.根据权利要求3所述的文档数据库多表连接查询方法,其特征在于,所述将查询指令分布至所述分布式集群中的节点上,并基于查询指令进行数据查询,包括:

5.根据权利要求1所述的文档数据库多表连接查询方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的文档数据库多表连接查询方法,其特征在于,所述将分片后的引用表分布在分布式集群中的每个节点中,包括:

7.根据权利要求6所述的文档数据库多表连接查询方法,其特征在于,所述将分片后的引用表分布在分布式集群中的每个节点中,还包括:

8.一种文档数据库多表连接查询装置,其特征在于,包括:

9.一种用于文档数据库多表连接查询的电子设备,其特征在于,包括:

10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。

...

【技术特征摘要】

1.一种文档数据库多表连接查询方法,其特征在于,包括:

2.根据权利要求1所述的文档数据库多表连接查询方法,其特征在于,在所述将分片后的引用表分布在分布式集群中的每个节点中之后,所述方法还包括:

3.根据权利要求2所述的文档数据库多表连接查询方法,其特征在于,所述采用目标配置数据库对所述每个引用表和所述分布式集群中的每个节点的分片进行配置信息的记录,并获取最大线程数,包括:

4.根据权利要求3所述的文档数据库多表连接查询方法,其特征在于,所述将查询指令分布至所述分布式集群中的节点上,并基于查询指令进行数据查询,包括:

5.根据权利要求1所述的文档数据...

【专利技术属性】
技术研发人员:孟江华姜栋琛董鸿毅王致茹李磊陈群刘海龙崔文辉
申请(专利权)人:凯美瑞德苏州信息科技股份有限公司
类型:发明
国别省市:

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

1