数据库条目查询和更新的方法技术

技术编号:14759555 阅读:69 留言:0更新日期:2017-03-03 07:57
本发明专利技术涉及一种用于查询和更新数据库条目的方法,所述数据库包括用于存储数据库条目的主数据结构和用于存储新条目的增量数据结构,所述方法包括以下步骤:接收(101)多个数据库查询;聚合(103)所述接收的多个数据库查询以获得批量数据库查询;使用所述批量数据库查询执行(105)所述主数据结构的共享扫描,其中所述主数据结构中的所述数据库条目结合所述批量数据库查询中的每个数据库查询进行查询;在所述执行(105)所述共享扫描的步骤之后,合并(107)所述主数据结构与所述增量数据结构以随着所述接收的新条目更新所述主数据结构。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
已经开发用来查询数据库条目的技术和系统有很多。最重要的是,自八十年代以来,已经对主内存数据库系统进行了大量研究。代表性的例子有:微软的Hekaton【1】、甲骨文的TimesTen【2】和SAP的Hana【3】产品。这些系统通常在点查询和点更新方面或者在复杂查询方面表现很好,但是很少在这两方面都表现很好。例如,Hekaton和TimesTen在复杂查询方面可能表现不好。近来,很多技术已经在研究文献中提出,用来专门解决混合工作负载。其中一个例子是超级系统【4】,其采用“写时拷贝”硬件原语以有效地分离更新和查询处理同时实现良好隔离。另一方法是ClockScan【5】。ClockScan方法以共享扫描为基础,这些共享扫描已经在数据仓库【6】中的复杂查询处理的环境中广泛探讨过。然而,迄今为止,以共享扫描为基础的系统在点查询和更新方面表现不好。另一种常用来处理复杂查询的技术是垂直分区。这一技术已经在设计诸如MonetDBm【8】和C-Store【9】等所谓的列存储时采用。
技术实现思路
本专利技术的目标是提供一种查询和更新数据库的有效概念。该目的由独立权利要求的特征来实现。其它实施方式从从属权利要求、描述内容和附图中显而易见。根据第一方面,本专利技术涉及一种用于查询和更新数据库条目的方法,所述数据库包括用于存储数据库条目的主数据结构和用于存储和/或接收新条目的增量数据结构,所述方法包括以下步骤:接收多个数据库查询;聚合所述接收的多个数据库查询以获得批量数据库查询;使用所述批量数据库查询执行所述主数据结构的共享扫描,其中所述主数据结构中的所述数据库条目结合所述批量数据库查询中的每个数据库查询进行查询;以及,在所述执行所述共享扫描的步骤之后,合并所述主数据结构与所述增量数据结构以随着所述新条目更新所述主数据结构。根据所述第一方面,在所述方法的第一可能实施形式中,所述方法包括接收又一多个数据库查询,其中在所述合并所述主数据结构与所述增量数据结构以随着所述新条目更新所述主数据结构的步骤之后执行以下步骤:聚合所述接收的又一多个数据库查询以获得又一批量数据库查询;使用所述又一批量数据库查询执行所述主数据结构的又一共享扫描,其中所述主数据结构中的所述数据库条目结合所述又一批量数据库查询中的每个查询进行查询;在执行所述又一共享扫描之后,合并所述主数据结构与所述增量数据结构以随着所述增量数据结构中存储的或所述增量数据结构接收的新条目更新所述主数据结构。根据所述第一方面,在所述方法的第二可能实施形式中,所述执行所述共享扫描和合并所述主数据结构与所述增量数据结构的步骤在不同的时间点执行。根据所述第一方面,在所述方法的第三可能实施形式中,所述执行所述共享扫描和合并所述主数据结构与所述增量数据结构的步骤在预定时间点执行。根据所述第一方面,在所述方法的第四可能实施形式中,所述方法包括建立不同类别的数据库查询的队列,尤其是建立点查询或分析查询的队列。根据所述第四可能实施形式,在所述方法的第五可能实施形式中,所述方法包括根据每类数据库查询的响应时间需求调度所述批量数据库查询中的所述类别的数据库查询。根据所述第一方面,在所述方法的第六可能实施形式中,所述方法包括接收多个新条目,聚合接收的多个新条目以获得批量新条目,以及在更新步骤中随着所述批量新条目更新所述增量数据结构。根据所述第一方面,在所述方法的第七可能实施形式中,通过使用索引或至少一个哈希表执行:所述共享扫描或所述主数据结构与所述增量数据结构的所述合并或随着新条目更新所述增量数据结构。根据所述第一方面,在所述方法的第八可能实施形式中,所述方法包括接收数据库查询,确定所述接收的数据库查询的一个类别,以及根据所述确定的类别,将所述数据库查询包括在所述批量批数据库查询中,或根据哈希表使用所述接收的数据库查询直接查询所述主数据结构。根据所述第八可能实施形式,在所述方法的第九可能实施形式中,所述方法包括:执行所述批量数据库查询以及以交叉方式或以共享方式直接查询所述主数据结构。根据所述第一方面,在所述方法的第十可能实施形式中,所述方法包括执行所述批量数据库查询的快照隔离。根据所述第一方面,在所述方法的第十一可能实施形式中,所述方法包括接收新条目用于更新所述增量数据结构。根据第二方面,本专利技术涉及一种计算机程序,所述计算机程序在计算机上运行时用于执行所述第一方面或所述第一方面的所述实施形式之一的所述方法。根据第三方面,本专利技术涉及一种数据处理系统,包括:数据库,所述数据库包括用于存储数据库条目的主数据结构和用于存储和/或接收新条目的增量数据结构;通信接口,用于接收多个数据库查询以及用于接收新条目;以及处理器,其中所述处理器用于:聚合所述接收的多个数据库查询以获得批量数据库查询;使用所述批量数据库查询执行所述主数据结构的共享扫描,其中所述主数据结构中的所述数据库条目结合所述批量数据库查询中的每个数据库查询进行查询;以及,在所述执行所述共享扫描的步骤之后,合并所述主数据结构与所述增量数据结构以随着所述新条目更新所述主数据结构。所述数据处理系统可执行所述方法。所述数据处理系统的更多特征可直接由所述方法的功能产生。根据所述第二方面,在所述系统的第一可能实施形式中,所述处理器用于在不同时间点或在预定时间点执行所述共享扫描以及合并所述主数据结构与所述增量数据结构。根据所述第二方面,在所述系统的第二可能实施形式中,所述数据处理系统,尤其是所述处理器,可编程地用于执行所述第二方面的所述计算机程序。根据一些实施形式,所述系统,尤其是所述处理器,用于执行根据所述第一方面或根据所述第一方面的任一实施形式的所述方法。所述方法步骤以电子方式自动执行。本专利技术可以在硬件和/或软件中实施。附图说明更多实施形式将结合以下附图进行描述,其中:图1所示为根据一实施形式的一种用于查询和更新数据库条目的方法的图;图2所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图3a所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图3b所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图4所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图5所示为根据一实施形式的数据库更新的图;图6所示为根据一实施形式的数据库更新和查询的图;图7所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图8所示为根据一实施形式的哈希表的图;图9所示为根据一实施形式的数据库更新和查询的图;图10所示为根据一实施形式的单指令流多数据流(singleinstructionmultipledata,SIMD)处理方案的图;图11所示为根据一实施形式的一种用于查询和更新数据库条目的系统的图;图12所示为根据一实施形式的一种用于查询和更新数据库条目的系统的性能图;图13所示为根据一实施形式的一种用于查询和更新数据库条目的系统的性能图;以及图14所示为根据一实施形式的一种用于查询和更新数据库条目的系统的性能图。具体实施方式图1所示为一种用于查询和更新数据库条目的方法的图。所述数据库包括用于存储数据库条目的主数据结构和用于存储新条目的增量数据结构。所述方法包括以下步骤:接收101多个数据库查询;聚合103所接收的多个数据库查本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201480077224.html" title="数据库条目查询和更新的方法原文来自X技术">数据库条目查询和更新的方法</a>

【技术保护点】
一种用于查询和更新数据库(201)条目的方法,所述数据库(201)包括用于存储数据库条目的主数据结构(203)和用于存储和/或接收新条目的增量数据结构(205),其特征在于,所述方法包括以下步骤:接收(101)多个数据库查询;聚合(103)所述接收的多个数据库查询以获得批量数据库查询;使用所述批量数据库查询执行(105)所述主数据结构(203)的共享扫描,其中所述主数据结构(203)中的所述数据库条目结合所述批量数据库查询中的每个数据库查询进行查询;在所述执行(105)所述共享扫描的步骤之后,合并(107)所述主数据结构(203)与所述增量数据结构(205)以随着所述新条目更新所述主数据结构(203)。

【技术特征摘要】
【国外来华专利技术】2014.04.01 EP 14163009.51.一种用于查询和更新数据库(201)条目的方法,所述数据库(201)包括用于存储数据库条目的主数据结构(203)和用于存储和/或接收新条目的增量数据结构(205),其特征在于,所述方法包括以下步骤:接收(101)多个数据库查询;聚合(103)所述接收的多个数据库查询以获得批量数据库查询;使用所述批量数据库查询执行(105)所述主数据结构(203)的共享扫描,其中所述主数据结构(203)中的所述数据库条目结合所述批量数据库查询中的每个数据库查询进行查询;在所述执行(105)所述共享扫描的步骤之后,合并(107)所述主数据结构(203)与所述增量数据结构(205)以随着所述新条目更新所述主数据结构(203)。2.根据权利要求1所述的方法,包括接收又一多个数据库查询,其特征在于,在所述合并(107)所述主数据结构(203)与所述增量数据结构(205)以更新所述主数据结构(203)的步骤之后执行以下步骤:聚合所述接收的又一多个数据库查询以获得又一批量数据库查询;使用所述又一批量数据库查询执行所述主数据结构(203)的又一共享扫描,其中所述主数据结构(203)中的所述数据库条目结合所述又一批量数据库查询中的每个查询进行查询;在执行所述又一共享扫描之后,合并所述主数据结构(203)与所述增量数据结构(205)以随着所述增量数据结构(205)中存储的或由所述增量数据结构(205)接收的新条目更新所述主数据结构(203)。3.根据任一前述权利要求所述的方法,其特征在于,所述执行(105)所述共享扫描以及合并(107)所述主数据结构(203)与所述增量数据结构(205)的步骤在不同的时间点执行。4.根据任一前述权利要求所述的方法,其特征在于,所述执行(105)所述共享扫描以及合并(107)所述主数据结构(203)与所述增量数据结构(205)的步骤在预定时间点执行。5.根据任一前述权利要求所述的方法,其特征在于,包括建立不同类别的数据库查询的队列,尤其是建立点查询或分析查询的队列。6.根据权利要求5所述的方法,其特征在于,包括根据每类数据库查询的响应时间要求调度所述批量数据库查询中的所述类别的数据库查询。7.根据任一前述权利要求所述的方法,其...

【专利技术属性】
技术研发人员:埃利泽·利维唐纳德·科斯曼卢卡斯·布劳恩托马斯·埃特乔治斯·加斯帕里斯丹尼尔·威徳默阿哈龙·埃威佐马丁·考夫曼安东尼·利奥普洛斯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1