CN116745757A - 替换表 - Google Patents

替换表 Download PDF

Info

Publication number
CN116745757A
CN116745757A CN202280009223.7A CN202280009223A CN116745757A CN 116745757 A CN116745757 A CN 116745757A CN 202280009223 A CN202280009223 A CN 202280009223A CN 116745757 A CN116745757 A CN 116745757A
Authority
CN
China
Prior art keywords
identified
identified table
query
materialized
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280009223.7A
Other languages
English (en)
Inventor
劳埃德·塔卜
迈克尔·托伊
康拉德·斯利默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN116745757A publication Critical patent/CN116745757A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于在刷新之前预先利用的表(140)的方法(300)包括:选择查询(120)以便在数据分析应用(204)中执行;以及识别由所述查询指定的表(140),例如物化表。另一个操作包括为所述识别出的表的至少一部分计算编码(150),例如哈希值。另一操作包括将所述计算出的编码与用于所述识别出的表的至少一部分的预存编码(170)进行比较。在所述计算出的编码与预先存储的编码相同的条件下,操作包括在执行查询时使用所述识别出的表来代替重新物化的所述识别出的表。否则,在所述计算出的编码不同于预先存储的编码的条件下,操作包括在返回查询的结果(190)之前重新物化所述识别出的表。

Description

替换表
技术领域
本公开涉及用于数据库管理的查询处理领域,并且更具体地涉及查询处理中的物化(materialized)表利用。
背景技术
传统的数据库管理系统提供程序化的用户界面,通过该用户界面可以从本地或远程的其它计算进程接收数据库查询,并且可以从该用户界面向查询计算进程提供对这些查询的结果。一种常见的查询形式选择数据库中的一组记录以供考虑,一个维度(例如,数据库的该组记录中的主要关注字段),以及一种度量(例如,用于记录的结果集合中的相应的次要关注字段的值)。除了如何对记录的结果集合的呈现进行排序的排序指令以及在响应于查询而返回的记录集合中对返回的度量进行操作的聚集函数之外,还可以指定筛选和限制准则。
一般而言,有三种通用的查询方法:菜单驱动,示例查询和查询语言公式化。在第一实例中,基于对菜单中的参数的选择来制定和发布查询。在第二实例中,信息检索系统呈现空白记录,并允许终端用户指定定义查询的字段和值。在第三实例中,最终用户利用以查询语言编写的程式化查询来定制查询。后者是最复杂的方法,因为它需要使用专用语言,但是后者也是最强大的方法,因为它是查询信息检索系统的最不受约束的模式。
执行简单的查询在计算上可以是轻度的,并且对底层数据库管理系统的资源影响很小。然而,更复杂的查询可能对数据库管理系统的资源具有显著影响,并且可能在可以提供查询的结果集合之前需要一些前置处理时间。因此,已经提出了几种技术,以减少这种前置时间和对数据库管理系统的计算资源的影响。一种这样的技术是使用物化表。
物化表是包含查询结果的数据库表。建立物化表的过程被称为物化,它是高速缓存查询结果的一种形式,类似于函数语言中函数值的计算。物化表将与视图的概念形成对比。在遵循关系模型的数据库管理系统中,视图是表示数据库查询结果的虚拟表。每当查询或更新寻址视图的虚拟表时,数据库管理系统将查询或更新转换为底层的一个或多个数据库表。物化表的不同之处在于,查询结果被高速缓存为具体的物化表,而不是可以从原始基本表不时地更新的视图。
因此,由于不会如传统视图的情况那样发生对物化表的更新,只要物化表的内容从物化时起没有改变,就可以实现对后续查询的结果集合的更有效的访问。然而,当物化表的内容自物化时间以来已经改变时,需要重新物化(re-materialization),并且将失去利用物化表所具有的优势。重要的是,确定物化表的内容是否已经改变,因为物化本身可以是消耗资源的,并且可能在处理引用物化表查询时产生额外的时间延迟。
发明内容
本公开的各方面解决了现有技术在查询处理中使用物化表方面的不足,并提供了一种新颖且非显而易见的方法、系统和计算机程序产品,用于在刷新之前预先利用物化表。本发明的一个方面提供一种用于在刷新之前预先利用表的计算机实现的方法,所述表在由数据处理硬件执行时使得所述数据处理硬件执行操作。该方法的一个操作包括选择在数据分析应用程序中执行的查询,并标识由查询指定的表,例如物化表。另一操作包括为所识别出的表的至少一部分计算编码,例如哈希值。另一操作包括将所计算的编码与用于所识别出的表的至少一部分的预存储的编码进行比较。在所计算的编码与预先存储的编码相同的条件下,操作包括在执行查询时使用所识别出的表来代替重新实现所识别出的表。否则,在所计算的编码不同于预先存储的编码的条件下,操作包括在返回查询的结果之前重新物化所识别出的表。
本公开的这一方面可以包括一个或多个以下可选特征。在本公开的一个方面,所识别出的表的至少一部分仅是所识别出的表的表结构,并且其中所识别出的表在后台过程中被重新物化,并且一旦重新物化完成,则所识别出的表被重新物化的表替换。在一个示例中,所识别出的表取决于辅助表,并且编码的计算包括计算所识别出的表以及辅助表的哈希值。这里,所述比较包括将所计算的哈希值与所识别出的表和辅助表两者的预先存储的哈希值进行比较。
在另一实现中,所述操作还包括,在所计算的哈希值不同于预存储的哈希值的条件下,将所计算的哈希值与仅针对所识别出的表而不针对辅助表的哈希值进行比较。在所计算的哈希值与仅用于所识别出的表的哈希值相同的条件下,操作包括在后台过程中同时使用所识别出的表来重新物化辅助表,但是在返回查询的结果之前重新物化所识别出的表和辅助表。
本发明的另一方面提供一种适于在刷新之前预先利用物化表的数据处理系统。该系统包括主机计算平台,该主机计算平台包括一个或多个计算机,每个计算机包括存储器和至少一个处理器,以及预先利用模块,该预先利用模块包括在主机计算平台中执行时能够执行操作的计算机程序指令。一个操作包括选择在数据分析应用程序中执行的查询并标识由查询指定的表,例如物化表。另一操作包括为所识别出的表的至少一部分计算编码,例如哈希值。另一操作包括将所计算的编码与用于所识别出的表的至少一部分的预存储的编码进行比较。在所计算的编码与预先存储的编码相同的条件下,操作包括在执行查询时使用所识别出的表来代替重新实现所识别出的表。否则,在所计算的编码不同于预先存储的编码的条件下,操作包括在返回查询的结果之前重新物化所识别出的表。
本公开的这一方面可以包括一个或多个以下可选特征。在本公开的一个方面,所识别出的表的至少一部分仅是所识别出的表的表结构,并且其中所识别出的表在后台过程中被重新物化,并且一旦重新物化完成,则所识别出的表被重新物化的表替换。在一个示例中,所识别出的表取决于辅助表,并且编码的计算包括计算所识别出的表以及辅助表的哈希值。这里,所述比较包括将所计算的哈希值与所识别出的表和辅助表两者的预先存储的哈希值进行比较。
在另一实现中,所述操作还包括,在所计算的哈希值不同于预存储的哈希值的条件下,将所计算的哈希值与仅针对所识别出的表而不针对辅助表的哈希值进行比较。在所计算的哈希值与仅用于所识别出的表的哈希值相同的条件下,操作包括在后台过程中同时使用所识别出的表来重新物化辅助表,但是在返回查询的结果之前重新物化所识别出的表和辅助表。
本发明的另一方面提供一种用于在刷新之前预先利用物化表的计算机程序产品,所述计算机程序产品包括具有用其实施的程序指令的计算机可读存储介质,所述程序指令可由装置执行以致使所述装置执行操作。
一个操作包括选择在数据分析应用程序中执行的查询并标识由该查询指定的表,例如物化表。另一操作包括为所识别出的表的至少一部分计算编码,例如哈希值。另一操作包括将所计算的编码与用于所识别出的表的至少一部分的预存储的编码进行比较。在所计算的编码与预先存储的编码相同的条件下,操作包括在执行查询时使用所识别出的表来代替重新实现所识别出的表。否则,在所计算的编码不同于预先存储的编码的条件下,操作包括在返回查询的结果之前重新物化所识别出的表。
本公开的这一方面可以包括一个或多个以下可选特征。在本公开的一个方面,所识别出的表的至少一部分仅是所识别出的表的表结构,并且其中所识别出的表在后台过程中被重新物化,并且一旦重新物化完成,则所识别出的表被重新物化的表替换。在一个示例中,所识别出的表取决于辅助表,并且编码的计算包括计算所识别出的表以及辅助表的哈希值。这里,所述比较包括将所计算的哈希值与所识别出的表和辅助表两者的预先存储的哈希值进行比较。
在另一实现中,所述操作还包括,在所计算的哈希值不同于预存储的哈希值的条件下,将所计算的哈希值与仅针对所识别出的表而不针对辅助表的哈希值进行比较。在所计算的哈希值与仅用于所识别出的表的哈希值相同的条件下,操作包括在后台过程中同时使用所识别出的表来重新物化辅助表,但是在返回查询的结果之前重新物化所识别出的表和辅助表。
本公开的一个或多个实现的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求书中,其它方面,特征和优点将是显而易见的。
附图说明
图1是用于在刷新之前预先利用物化表的过程的图示说明。
图2是被配置用于在刷新之前预先利用物化表的数据处理系统的示意图。
图3是说明用于在刷新之前预先利用物化表的过程的流程图。
在各个附图中相同的附图标记表示相同的元件。
具体实施方式
本公开的方面提供了在刷新之前预先利用物化表。根据本公开的一个方面,由于响应于数据库的相应不同的数据查询来创建不同的物化表,因此可以为每一个物化表的至少一部分生成哈希(Hash),并将其与对应的一个物化表相关联。例如,该部分可以是用于相应的一个物化表的表结构。此后,当接收到引用物化表的查询以进行处理时,可以为所引用的物化表的匹配部分生成哈希,并将其与所存储的一个哈希进行比较,所述哈希用于对应的一个物化表的一部分。在哈希匹配的范围内,可以使用所存储的物化表。否则,所引用的物化表可以在被包含在查询的结果集合中之前被重新物化。
在进一步的说明中,图1图示了用于在刷新之前预先利用物化表的过程。如图1所示,可以对照数据库110中的数据发布数据库查询120。数据库查询120包括对物化表140的引用130。然后计算关于所引用的物化表140的一部分的哈希值150,例如仅包括所引用的物化表140的结构(列标题、行数或两者),或者所引用的物化表140中的相关内容的一部分,仅举两例以示例。然后,比较器180将计算的哈希值150与预先存储的哈希值170A,170N进行比较,该预先存储的哈希值170A,170N存储在用于相应物化表的预先存储的哈希值的集合160中。在计算出的哈希150与预存的哈希值170A,170N中对应的一个匹配的程度上,可以将所引用的物化表140合并到数据库查询120的查询结果集合190中。否则,所引用的物化表140可以被重新物化以包括到查询结果集合190中。
在重新物化期间,可以确定所引用的物化表140的结构没有改变,例如通过将所引用的物化表140的结构的计算的哈希值150与所引用的物化表140的结构的预先存储的哈希值170A,170N进行比较。在这种情况下,所引用的物化表140可以被包括在未决的重新物化的查询结果集合190中。然后,在重新物化之后,可以将所引用的物化表140的重新物化形式替换到查询结果集合190中。
同样,在所引用的物化表140取决于一个或多个其它物化表140A,140B的程度上,可以为所引用的物化表140和一个或多个相关物化表140A,140B计算所计算的哈希值150。或者,可仅针对所引用的物化表140的结构和一个或一个以上相关物化表140A,140B来计算所计算的哈希值150。在任一情况下,在比较器180确定所计算的哈希值150与用于所引用的物化表140和一个或多个相关物化表140A,140B的预存值170A,170B中相应的一个不同的条件下,可以对所引用的物化表140和一个或多个相关物化表140A、140B执行完全再物化。
可选地,比较器180可以确定所计算的哈希值150不等同于预存储的哈希值170A,170B中相应的一个。在这种情况下,比较器180然后可以确定仅可归因于所引用的物化表140的结构的所计算的哈希值150的一部分与预存储的哈希值170A,170B中的相应一个的相应部分相同。结果,可以将所引用的物化表140合并到查询结果集合190中,同时将所引用的物化表140重新物化。此后,可以将所引用的物化表140的重新物化形式替换到查询结果集合190中。
结合图1描述的过程可以在数据处理系统200内实现。在进一步的说明中,图2示意性地示出了被配置用于在刷新之前预先利用物化表的数据处理系统200。系统200包括主机计算系统210,主机计算系统210包括一个或多个计算机,每个计算机具有存储器212和至少一个处理器214。主机计算系统210通过计算机通信网络220通信地耦合到通过在主机计算系统210中执行的数据库管理系统250访问的数据库260。在这点上,数据库管理系统250适于通过在每个不同的客户机计算设备230中的查询接口240从不同的客户机计算设备230接收对数据库260中的数据的数据库查询,以便在数据分析应用程序204中执行。
值得注意的是,该系统还包括物化表预用模块300。物化表预用模块300包括具有在主机计算系统210的存储器212中执行期间启用的计算机程序指令的计算机程序产品202,以接收数据库查询并从中提取对物化表的引用。程序指令还能够计算所引用的物化表的一部分的哈希值,例如所引用的物化表的包括不同列标签的结构,并且能够将所计算的哈希值与所引用的物化表的哈希数据存储器270中的预存值进行比较。程序指令还能够将所引用的物化表合并到物化表中,只要哈希值匹配,因为无论物化表的底层数据的变化如何,物化表的结构都不会改变。此后,程序指令指导所引用的物化表的重新物化,以便随后替换到查询结果集合中。
在对物化表预用模块300的操作的更进一步的说明中,图3是说明用于在刷新之前预用物化表的过程或方法302的流程图。从框310开始,接收数据库查询,并且在框320,可以从查询中提取对物化表的引用。在框330中,确定所引用的物化表的一部分,例如一组列标签,或所引用的表的内容,或者在所引用的物化表取决于第二物化表,两个表的内容的组合或仅表中的主要表的内容的程度上。在框340中,为该部分计算同期的哈希值。在框350中,从哈希值的数据存储中检索所引用的物化表的预先计算的哈希值,并且在框360中,将预先计算的哈希值与同时计算的哈希值进行比较。
在框370中,确定预先计算的哈希值是否与所引用的物化表的该部分的同时计算的哈希值相同,以便允许所引用的物化表的临时使用与所引用的物化表的重新物化同时进行。在预先计算的哈希值与同时计算的哈希值不相同的情况下,所引用的物化表不能被预先利用。在框360中,在预先计算的哈希值与同时计算的哈希值相同的条件下,所引用的物化表可以在对所接收的查询的查询结果中被预先利用。此后,在框370中,重新物化所引用的表。最后,在框380中,然后将重新物化的表包括在查询搜索结果中。
本公开可以在系统、方法、计算机程序产品或其任何组合内实现。计算机程序产品可以包括计算机可读存储介质或其上具有计算机可读程序指令的介质,用于使处理器执行本公开的各方面。计算机可读存储介质可以是能够保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如,但不限于,电子存储设备,磁存储设备,光存储设备,电磁存储设备,半导体存储设备,或前述的任何合适的组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络下载到外部计算机或外部存储设备。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上执行、部分在远程计算机上执行或者完全在远程计算机或服务器上执行。这里参考根据本公开的方面的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的方面。应当理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生机器,使得经由计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以引导计算机、可编程数据处理设备和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括一个产品,所述产品包括实现在流程图和/或框图的一个或多个块中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个或多个块中指定的功能/动作。
附图中的流程图和框图示出了根据本公开的各个方面的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个块可以表示模块、段或指令的一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替换实现中,在块中所注明的功能可以不按图中所注明的顺序发生。例如,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图说明的每个块以及框图和/或流程图说明中的块的组合,可以通过执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
最后,本文所用的术语仅用于描述特定方面的目的,而不旨在限制本公开。如本文所用,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。还应当理解,当在本说明书中使用时,术语“包括”、“包含”和/或“包括了”指定所陈述的特征,整体,步骤,操作,元件和/或组件的存在,但不排除一个或多个其它特征,整体、步骤、操作、元件、组件和/或其组的存在或添加。
在下面的权利要求书中的所有装置或步骤加上功能元件的相应结构,材料、动作和等同物旨在包括用于与具体要求保护的其它要求保护的元件组合来执行功能的任何结构、材料或动作。本公开的描述是为了说明和描述的目的而给出的,但并不旨在穷举或限于所公开的形式的公开。在不脱离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述该示例是为了最好地解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能够理解本公开用于具有各种修改的各种实现,这些修改适于所预期的特定用途。
已经描述了多种实现方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实施方式也在所附权利要求的范围内。

Claims (12)

1.一种用于在刷新之前预先利用表(140)的计算机实现的方法(302),其特征在于,所述表(140)在由数据处理硬件(214)执行时使所述数据处理硬件(214)执行以下操作:
选择在数据分析应用(204)中执行的查询(120);
识别所述查询(120)指定的表(140);
为识别出的表(140)的至少一部分计算编码(150);
将计算出的编码(150)与用于所述识别出的表(140)的至少一部分的预存储的编码(170)进行比较;
在所述计算出的编码(150)与所述预先存储的编码(170)相同的条件下,利用所述识别出的表(140)代替重新物化所述识别出的表(140)来执行所述查询(120);以及
在所述计算出的编码(150)不同于所述预先存储的编码(170)的条件下,在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)。
2.如权利要求1所述的方法(302),其特征在于,所述识别出的表(140)的所述至少一部分仅是所述识别出的表(140)的表结构,并且其中所述识别出的表(140)在后台处理中被重新物化,并且一旦所述重新物化完成,则所述识别出的表(140)被重新物化的表(140)替换。
3.如权利要求1或2所述的方法(302),其特征在于,所述识别出的表(140)取决于辅助表(140),所述编码(150)的计算包括计算所述识别出的表(140)和所述辅助表(140)两者的哈希值(150),并且其中包括将所述计算出的哈希值(150)与所述识别出的表(140)和所述辅助表(140)两者的所述预先存储的哈希值(170)进行比较。
4.如权利要求3所述的方法(302)其特征在于,所述操作还包括:
在所述计算出的哈希值(150)不同于所述预先存储的哈希值(170)的情况下,将所述计算出的哈希值(150)与仅针对所述识别出的表(140)而不针对与所述表(140)的哈希值进行比较;以及
在所述计算出的哈希值(150)与刚好用于所述识别出的表(140)的哈希值相同的条件下,利用所述识别出的表(140)同时在后台过程中同时重新物化所述辅助表(140),但是在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)和所述辅助表(140)。
5.一种适于在刷新之前预先利用物化的表(140)的数据处理系统(200),其特征在于,所述系统(200)包括:
主机计算平台(210),其包括一个或多个计算机,每个计算机包括存储器(212)和至少一个处理器(214);和
一种预先利用模块(300),其包括计算机程序指令,所述计算机程序指令在所述计算平台(210)中执行时被启用以执行以下操作:
选择在数据分析应用(204)中执行的查询(120);
识别所述查询(120)指定的表(140);
为识别出的表(140)的至少一部分计算编码(150);
将计算出的编码(150)与用于所述识别出的表(140)的至少一部分的预存储的编码(170)进行比较;
在所述计算出的编码(150)与所述预先存储的编码(170)相同的条件下,利用所述识别出的表(140)代替重新物化的所述识别出的表(140)来执行所述查询(120);以及
在所述计算出的编码(150)不同于所述预先存储的编码(170)的条件下,在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)。
6.如权利要求5所述的系统(200),其特征在于,所述识别出的表(140)的所述至少一部分仅是所述识别出的表(140)的表结构,并且其中所述识别出的表(140)在后台处理中被重新物化,并且一旦所述重新物化完成,则所述识别出的表(140)被重新物化的所述表(140)替换。
7.如权利要求5或6所述的系统(200),其特征在于,所述识别出的表(140)取决于辅助表(140),所述编码(150)的计算包括计算所述识别出的表(140)和所述辅助表(140)两者的哈希值(150),并且其中包括将所述计算出的哈希值(150)与所述识别出的表(140)和所述辅助表(140)两者的所述预先存储的哈希值(170)进行比较。
8.如权利要求7所述的系统(200),其特征在于,所述操作还包括:
在所述计算出的哈希值(150)不同于所述预先存储的哈希值(170)的情况下,将所述计算出的哈希值(150)与仅针对所述识别出的表(140)而不针对与表(140)的哈希值进行比较;以及
在所述计算出的哈希值(150)与刚好用于所述识别出的表(140)的哈希值相同的条件下,利用所述识别出的表(140)同时在后台过程中同时重新物化所述辅助表(140),但是在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)和所述辅助表(140)。
9.一种用于在刷新之前预先利用物化的表(140)的计算机程序产品(202),其特征在于,所述计算机程序产品(202)包括具有用其实现的程序指令的计算机可读存储介质,所述程序指令可由设备(210)执行以使得所述设备(210)执行以下操作:
选择在数据分析应用(204)中执行的查询(120);
识别所述查询(120)指定的表(140);
为识别出的表(140)的至少一部分计算编码(150);
将计算出的编码(150)与用于所述识别出的表(140)的至少一部分的预存储的编码(170)进行比较;
在所述计算出的编码(150)与所述预先存储的编码(170)相同的条件下,利用所述识别出的表(140)代替重新物化的所述识别出的表(140)来执行所述查询(120);以及
在所述计算出的编码(150)不同于所述预先存储的编码(170)的条件下,在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)。
10.如权利要求9所述的计算机程序产品(202),其特征在于,所述识别出的表(140)的所述至少一部分仅是所述识别出的表(140)的表结构,并且其中所述识别出的表(140)在后台处理中被重新物化,并且一旦所述重新物化完成,则所述识别出的表(140)被重新物化的所述表(140)替换。
11.如权利要求9或10所述的计算机程序产品(202),其特征在于,所述识别出的表(140)取决于辅助表(140),所述编码(150)的计算包括计算所述识别出的表(140)和所述辅助表(140)两者的哈希值(150),并且其中包括将所述计算出的哈希值(150)与所述识别出的表(140)和所述辅助表(140)两者的预先存储的哈希值(170)进行比较。
12.如权利要求11所述的计算机程序产品(202),其特征在于,所述操作还包括:
在所述计算出的哈希值(150)不同于所述预先存储的哈希值(170)的情况下,将所述计算出的哈希值(150)与仅针对所述识别出的表(140)而不针对与表(140)的哈希值进行比较;以及
在所述计算出的哈希值(150)与刚好用于所述识别出的表(140)的哈希值相同的条件下,利用所述识别出的表(140)同时在后台过程中同时重新物化所述辅助表(140),但是在返回所述查询(120)的结果(190)之前重新物化所述识别出的表(140)和所述辅助表(140)。
CN202280009223.7A 2021-01-06 2022-01-04 替换表 Pending CN116745757A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/143,104 US11531664B2 (en) 2021-01-06 2021-01-06 Stand in tables
US17/143,104 2021-01-06
PCT/US2022/011197 WO2022150313A1 (en) 2021-01-06 2022-01-04 Stand in tables

Publications (1)

Publication Number Publication Date
CN116745757A true CN116745757A (zh) 2023-09-12

Family

ID=80050883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280009223.7A Pending CN116745757A (zh) 2021-01-06 2022-01-04 替换表

Country Status (6)

Country Link
US (2) US11531664B2 (zh)
EP (1) EP4275132A1 (zh)
JP (1) JP2024502131A (zh)
KR (1) KR20230122681A (zh)
CN (1) CN116745757A (zh)
WO (1) WO2022150313A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531664B2 (en) * 2021-01-06 2022-12-20 Google Llc Stand in tables

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122828A1 (en) * 2002-12-23 2004-06-24 Sidle Richard S. Independent deferred incremental refresh of materialized views
US20050091180A1 (en) * 2003-10-22 2005-04-28 Nitzan Peleg Method and apparatus for refreshing materialized views
US20060122964A1 (en) * 2004-12-03 2006-06-08 Tsae-Feng Yu Materialized view maintenance and change tracking
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
US20140280028A1 (en) * 2013-03-14 2014-09-18 Oracle International Corporation Selective materialized view refresh
US20140280029A1 (en) * 2013-03-14 2014-09-18 Oracle International Corporation Out-of-place materialized view refresh
CN107133251A (zh) * 2016-02-29 2017-09-05 株式会社特迈数据 用于对异构数据库之间的查询结果进行同步的方法、服务器和存储于计算机可读介质中的计算机程序
CN110140026A (zh) * 2017-03-28 2019-08-16 歌乐株式会社 车载装置、地图更新系统
US20200159722A1 (en) * 2018-11-19 2020-05-21 Numetric, Inc. Presenting updated data using persisting views
US20200364222A1 (en) * 2019-05-15 2020-11-19 Sap Se Temporary materialized views

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130091266A1 (en) * 2011-10-05 2013-04-11 Ajit Bhave System for organizing and fast searching of massive amounts of data
US10223395B2 (en) * 2015-02-05 2019-03-05 Sap Se Derivation of hierarchy indexes
US9928281B2 (en) 2015-03-20 2018-03-27 International Business Machines Corporation Lightweight table comparison
GB2561660A (en) * 2017-02-10 2018-10-24 Count Tech Ltd Computer-implemented method of querying a dataset
US10754851B2 (en) * 2017-12-22 2020-08-25 Adobe Inc. Question answering for data visualizations
US20200073953A1 (en) * 2018-08-30 2020-03-05 Salesforce.Com, Inc. Ranking Entity Based Search Results Using User Clusters
US10924398B2 (en) * 2018-09-25 2021-02-16 Ebay Inc. Time-series data monitoring with sharded server
US11068493B2 (en) * 2018-11-07 2021-07-20 Adobe Inc. Guided content discovery in visual search
US11042544B2 (en) * 2018-12-05 2021-06-22 International Business Machines Corporation Derived data dictionary for optimizing transformations of encoded data
US11086840B2 (en) 2018-12-07 2021-08-10 Snowflake Inc. Transactional streaming of change tracking data
US11526769B2 (en) * 2019-03-30 2022-12-13 International Business Machines Corporation Encoding knowledge graph entries with searchable geotemporal values for evaluating transitive geotemporal proximity of entity mentions
US11633436B2 (en) * 2019-09-20 2023-04-25 The Broad Institute, Inc. Cholesterol reducing compositions and methods of use thereof
US11392566B2 (en) * 2019-11-27 2022-07-19 Oracle International Corporation Rowid decoding: an alternative to dictionary decoding
EP3849243A1 (en) * 2020-01-10 2021-07-14 BlackBerry Limited Multi-band channel discovery for wlan
US11531664B2 (en) * 2021-01-06 2022-12-20 Google Llc Stand in tables

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122828A1 (en) * 2002-12-23 2004-06-24 Sidle Richard S. Independent deferred incremental refresh of materialized views
US20050091180A1 (en) * 2003-10-22 2005-04-28 Nitzan Peleg Method and apparatus for refreshing materialized views
US20060122964A1 (en) * 2004-12-03 2006-06-08 Tsae-Feng Yu Materialized view maintenance and change tracking
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
US20140280028A1 (en) * 2013-03-14 2014-09-18 Oracle International Corporation Selective materialized view refresh
US20140280029A1 (en) * 2013-03-14 2014-09-18 Oracle International Corporation Out-of-place materialized view refresh
CN107133251A (zh) * 2016-02-29 2017-09-05 株式会社特迈数据 用于对异构数据库之间的查询结果进行同步的方法、服务器和存储于计算机可读介质中的计算机程序
CN110140026A (zh) * 2017-03-28 2019-08-16 歌乐株式会社 车载装置、地图更新系统
US20200159722A1 (en) * 2018-11-19 2020-05-21 Numetric, Inc. Presenting updated data using persisting views
US20200364222A1 (en) * 2019-05-15 2020-11-19 Sap Se Temporary materialized views

Also Published As

Publication number Publication date
EP4275132A1 (en) 2023-11-15
US20220215009A1 (en) 2022-07-07
US20230098361A1 (en) 2023-03-30
JP2024502131A (ja) 2024-01-17
US11841841B2 (en) 2023-12-12
WO2022150313A1 (en) 2022-07-14
KR20230122681A (ko) 2023-08-22
US11531664B2 (en) 2022-12-20

Similar Documents

Publication Publication Date Title
JP6998928B2 (ja) データを記憶およびクエリするための方法、装置、設備、および媒体
US9986060B2 (en) Persistent caching of map imagery and data
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
EP3608801A1 (en) Method of rapidly searching element information in a bim model
US7840603B2 (en) Method and apparatus for database change management
US20230012642A1 (en) Method and device for snapshotting metadata, and storage medium
US20120330988A1 (en) Systems And Methods For Performing Index Joins Using Auto Generative Queries
US20230098361A1 (en) Stand In Tables
US11151178B2 (en) Self-adapting resource aware phrase indexes
CN110955712A (zh) 基于多数据源的开发api处理方法及装置
CN116719794A (zh) 一种数据处理方法、装置、电子设备、介质及程序产品
CN116185389A (zh) 一种代码生成方法、装置、电子设备及介质
US11880370B2 (en) Retroreflective join graph generation for relational database queries
JPH06215037A (ja) インデックスの自動更新装置
CN110413617B (zh) 一种根据数据量的大小动态调节哈希表组的方法
EP3086244A1 (en) Database system and method of operation thereof
US20170161359A1 (en) Pattern-driven data generator
EP3667513A1 (en) Automated summarized view of multi-dimensional object in enterprise data warehousing systems
US11797579B2 (en) Data content governance for presentation layer synchronization for a version controlled underlying data model
CN115221249B (zh) 跨库数据查询方法、装置、计算机设备和存储介质
CN117573199B (zh) 一种模型差异对比分析方法、装置、设备及介质
US10915576B2 (en) High performance bloom filter
EP4195071A1 (en) Transactional multi-version control enabled update of cached graph indices
US11030168B2 (en) Parallelization of order dependent procedures during software change processes
CN109597812B (zh) 会议室批量上线方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination