用于自适应分区数据以加快分布式并行数据库系统中连接查询的系统和方法技术方案

技术编号:21958962 阅读:23 留言:0更新日期:2019-08-24 22:16
一种数据库系统中实施的方法,包括:响应于多个数据请求,所述数据库系统的处理器生成针对具有共同字段的至少两个数据库表的多个连接请求;所述处理器采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;所述处理器创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段;耦合至所述处理器的存储器存储所述影子表;所述处理器采用所述影子表中存储的数据生成针对后续数据请求的响应。

Systems and Methods for Adaptive Partitioning Data to Accelerate Connection Queries in Distributed Parallel Database Systems

【技术实现步骤摘要】
【国外来华专利技术】用于自适应分区数据以加快分布式并行数据库系统中连接查询的系统和方法相关申请案交叉申请本申请要求于2016年12月15日递交的专利技术名称为“一种用于自适应分区数据以加快分布式并行数据库系统中连接查询的系统和方法”的第15/380,647号美国申请案的在先申请优先权,该在先申请的内容以引用的方式并入本文。
技术介绍
数据库是信息的集合。通常,关系型数据库阐述为一个或多个二维表。每个表中按行和列排列各项及其属性。每个表行对应一个项(或称为记录),每个表列对应该项的属性(或称为字段)。在关系型数据库中,一组表可以通过共同的属性或“连接键”相互关联。共同键使得一个表中的信息可以自动地与另一个表中的对应信息交叉引用。为了从关系型数据表中提取数据,可以根据标准数据库查询语言(例如,结构化查询语言SQL)进行查询。例如,SQL语句包括INSERT、SELECT、UPDATE和DELETE。SELECT语句用于从数据库中检索信息并组织信息,以便呈现给用户或应用程序。SELECT语句还可以指定连接操作,从而将多个表的行进行连接。常见的连接操作是简单连接(或相等连接),该操作使用“等于(=)”比较运算符将来自多个表的行进行连接。另一种类型的连接为不等连接,该连接基于“等于”比较运算符之外的其他运算符(例如,>和<等)。
技术实现思路
并行或分布式数据库系统中的表是横向进行分区的,且存储在多个网元(networkelement,简称NE)。当一个NE接收到针对存储在多个NE中的数据的查询时,需要从所有网元中获取或者重排与查询数据相关的记录,以便能够轻松地访问以及合并查询数据,正确地响应该查询。每次接收到查询时都跨多个NE重排记录这一过程占查询响应的很大一部分时间。此处公开的概念通过将跨NE重排后的记录的副本存储至影子表中来解决该问题,使得NE能够使用影子表中记录的副本进行查询,无需重排相同的记录以回复后续查询。另外,因为新纪录跨NE进行了重排,所以可以通过添加新记录更新存储在影子表中的记录的副本。这样,NE存储了在多个NE中存储的记录的至少一个可适应影子表,从而更有效地采用数据库系统响应查询。在一个实施例中,本专利技术包括一种数据库系统中实施的方法,包括:响应于多个数据请求,所述数据库系统的处理器生成针对具有共同字段的至少两个数据库表的多个连接请求;所述处理器采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;所述处理器创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段;耦合至所述处理器的存储器存储所述影子表;所述处理器采用所述影子表中存储的数据生成针对后续数据请求的响应。在一些实施例中,本专利技术还包括:所述共同字段为所述至少两个数据库表中每一个数据库表中的包括同一类型数据的列;和/或所述影子表中包括的多个字段是基于至少一个所述数据请求所指示的至少一种类型数据选择的;和/或所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间和所述第二区间不连续;和/或所述方法还包括:所述处理器识别所述影子表中的冷数据,以及所述处理器从所述影子表中删除所述冷数据;和/或所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间包括多个第一记录,所述第二区间包括多个第二记录,所述第一记录包括基于所述连接请求中的第一连接请求所选的多个第一字段,所述第二记录包括基于所述连接请求中的第二连接请求所选的多个第二字段,所述字段包括所述第一字段和所述第二字段;和/或还包括:响应于另一后续数据请求,所述处理器更新所述影子表以进一步包括具有所述共同字段的下一区间数据;和/或还包括:耦合至所述处理器的发送器向主网元发送描述所述至少两个区间以及所述影子表中字段的元数据,其中,所述主网元中维护着描述所述网元中存储的影子表的元数据表;和/或所述至少两个区间数据存储在多个其他网元和所述至少两个数据库中。在一个实施例中,本专利技术包括一种数据库系统,包括:存储器;以及处理器,耦合至所述存储器且用于:响应于多个数据请求,生成针对具有共同字段的至少两个数据库表的多个连接请求;采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段,所述存储器用于存储所述影子表;采用所述影子表中存储的数据生成针对后续数据请求的响应。在一些实施例中,本专利技术还包括:所述共同字段为所述至少两个数据库表中每一个数据库表中的包括同一类型数据的列;和/或所述影子表中包括的字段是基于至少一个所述数据请求所指示的至少一种类型数据选择的;和/或所述处理器还用于从所述影子表中删除冷数据;和/或所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间包括多个第一记录,所述第二区间包括多个第二记录,所述第一记录包括基于所述连接请求中的第一连接请求所选的多个第一字段,所述第二记录包括基于所述连接请求中的第二连接请求所选的多个第二字段,所述字段包括所述第一字段和所述第二字段。在一个实施例中,本专利技术包括一种装置,包括:存储器;以及处理器,耦合至所述存储器且用于:响应于多个数据请求,生成针对具有共同字段的至少两个数据库表的多个连接请求;采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段,所述存储器用于存储所述影子表;采用所述影子表中存储的数据生成针对后续数据请求的响应。在一些实施例中,本专利技术还包括:发送器,耦合至所述处理器且用于:向主网元发送描述所述至少两个区间以及所述影子表中字段的元数据,其中,所述主网元中维护着描述所述网元中存储的影子表的元数据表;和/或所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间包括多个第一记录,所述第二区间包括多个第二记录,所述第一记录包括基于所述连接请求中的第一连接请求所选的多个第一字段,所述第二记录包括基于所述连接请求中的第二连接请求所选的多个第二字段,所述字段包括所述第一字段和所述第二字段;和/或所述处理器还用于:响应于另一后续数据请求,更新所述影子表以进一步包括具有所述共同字段的下一区间数据;和/或所述至少两个区间数据存储在多个其他网元和所述至少两个数据库表中;和/或所述共同字段为所述至少两个数据库表中每一个数据库表中的包括同一类型数据的列,所述影子表中包括的字段是基于至少一个所述数据请求所指示的至少一种类型数据选择的。为表述清楚,在不脱离本专利技术范围的前提下,任何一个前述实施例都可以与任何一个或多个其他前述实施例结合以创建新的实施例。通过以下结合附图和权利要求的详细描述,这些以及其它特征将会被更清楚地理解。附图说明为了更透彻地理解本专利技术,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。图1为数据库系统的实施例的示意图;图2为存储并更新数据库系统中各表的影子表的网元的实施例的示意图;图3为数据库系统中本文档来自技高网...

【技术保护点】
1.一种数据库系统中实施的方法,其特征在于,包括:响应于多个数据请求,所述数据库系统的处理器生成针对具有共同字段的至少两个数据库表的多个连接请求;所述处理器采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;所述处理器创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段;耦合至所述处理器的存储器存储所述影子表;所述处理器采用所述影子表中存储的数据生成针对后续数据请求的响应。

【技术特征摘要】
【国外来华专利技术】2016.12.15 US 15/380,6471.一种数据库系统中实施的方法,其特征在于,包括:响应于多个数据请求,所述数据库系统的处理器生成针对具有共同字段的至少两个数据库表的多个连接请求;所述处理器采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;所述处理器创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段;耦合至所述处理器的存储器存储所述影子表;所述处理器采用所述影子表中存储的数据生成针对后续数据请求的响应。2.根据权利要求1所述的方法,其特征在于,所述共同字段为所述至少两个数据库表中每一个数据库表中的包括同一类型数据的列。3.根据权利要求1所述的方法,其特征在于,所述影子表中包括的多个字段是基于至少一个所述数据请求所指示的至少一种类型数据选择的。4.根据权利要求1所述的方法,其特征在于,所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间和所述第二区间不连续。5.根据权利要求1所述的方法,其特征在于,还包括:所述处理器识别所述影子表中的冷数据;所述处理器从所述影子表中删除所述冷数据。6.根据权利要求1所述的方法,其特征在于,所述共同字段的至少两个区间包括第一区间和第二区间,其中,所述第一区间包括多个第一记录,所述第二区间包括多个第二记录,所述第一记录包括基于所述连接请求中的第一连接请求所选的多个第一字段,所述第二记录包括基于所述连接请求中的第二连接请求所选的多个第二字段,所述字段包括所述第一字段和所述第二字段。7.根据权利要求1所述的方法,其特征在于,还包括:响应于另一后续数据请求,所述处理器更新所述影子表以进一步包括具有所述共同字段的下一区间数据。8.根据权利要求1所述的方法,其特征在于,还包括:耦合至所述处理器的发送器向主网元发送描述所述至少两个区间以及所述影子表中字段的元数据,其中,所述主网元中维护着描述所述网元中存储的影子表的元数据表。9.根据权利要求1所述的方法,其特征在于,所述至少两个区间数据存储在多个其他网元和所述至少两个数据库表中。10.一种数据库系统,其特征在于,包括:存储器;处理器,耦合至所述存储器且用于:响应于多个数据请求,生成针对具有共同字段的至少两个数据库表的多个连接请求;采用所述多个连接请求识别具有所述共同字段的至少两个区间数据;创建包括所述具有共同字段的至少两个区间数据的影子表,其中,所述影子表包括来自所述至少两个数据库表的多个字段,基于至少一个所述连接请求识别所述多个字段,所...

【专利技术属性】
技术研发人员:胡荣中施广宇邱敏马苏德·莫塔扎维朱佳峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1