CN102687124A - 分析查询优化器性能的设备和方法 - Google Patents

分析查询优化器性能的设备和方法 Download PDF

Info

Publication number
CN102687124A
CN102687124A CN201080059390XA CN201080059390A CN102687124A CN 102687124 A CN102687124 A CN 102687124A CN 201080059390X A CN201080059390X A CN 201080059390XA CN 201080059390 A CN201080059390 A CN 201080059390A CN 102687124 A CN102687124 A CN 102687124A
Authority
CN
China
Prior art keywords
analysis
executable instruction
query
optimizer
analyze
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.)
Granted
Application number
CN201080059390XA
Other languages
English (en)
Other versions
CN102687124B (zh
Inventor
布莱恩·哈根布赫
西瓦拉姆克里斯南·纳拉亚南
威廉·C·惠普奇
弗洛里安·瓦斯
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.)
Go Bi Weituo Co.
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Priority to CN201510468387.8A priority Critical patent/CN105138597B/zh
Publication of CN102687124A publication Critical patent/CN102687124A/zh
Application granted granted Critical
Publication of CN102687124B publication Critical patent/CN102687124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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/24537Query rewriting; Transformation of operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种分析查询优化器性能的方法包括识别事件触发。构造表征事件触发时用户计算机的运行参数的再现对象。将该再现对象从用户计算机传送到测试计算机。在测试计算机上分析该再现对象来表征查询优化器的性能。

Description

分析查询优化器性能的设备和方法
技术领域
本发明涉及数字数据处理。更具体地,本发明涉及分析查询优化器的性能。
背景技术
查询优化包括将数据库查询转化为在存储于数据库中的数据上执行的高效的程序或者查询方案。数据库查询通常以查询语言表述,如结构化查询语言(SQL)、通用查询语言(CQL)或者多维表达式(MDX)等等,数据库查询被转化为一种或多种可行的查询方案。查询方案列明了一组步骤,用来访问或者修改与查询有关的数据。诸如如何访问给定的数据关系、以何种顺序连接数据关系、排序顺序等详情都有可能形成查询方案的一部分。
对于给定的查询,查询方案的各个不同的组成部分,如访问路径、连接方法和排序顺序,可以产生很多查询方案。典型的数据仓库查询可以形成数亿种可行的方案。可以根据不同的参数,包括例如访问磁盘的次数和取回数据所需的响应时间,来建立查询方案的成本模型。查询优化器可估计已给定查询的所有可行的查询方案的成本,并确定最佳方案,也就是执行该查询的最有效的方案。
一般来说,用户不能直接访问查询优化器。因此,用户看不到优化过程。然而,用户能识别任意多个的情形中的次优性能,包括优化器进程崩溃、优化器产生的查询方案产生错误的结果、低效率的查询方案或者相较于系统改造前的系统操作的次等方案。不能访问查询优化器限制了用户对在不同情况下方案在何处产生的假设分析能力。
评估查询优化器的性能包括对多个参数的理解。通常,查询优化器的用户不愿意让查询优化器的供应商看见自己的系统,尤其是用户的数据。即使能够访问数据,获取正确的数据也很难。此外,用户通常也不愿允许任何形式的评估干扰正在进行的业务流程。所以,尽管需要了解所使用的系统中查询优化器的性能,但是这么做的机会很有限。因此,就需要提供技术来评估所部署的查询优化器的性能。
发明内容
分析查询优化器的性能的方法包括识别事件触发。构造表征事件触发时用户计算机的运行参数的再现对象。将该再现对象从用户计算机传输到测试计算机。在测试计算机中分析该再现对象以表征查询优化器的性能。
用户计算机具有连接到处理器的存储器。该存储器存储采集模块,该采集模块包括指令,该指令使处理器识别事件触发,构造表征事件触发时用户计算机的运行参数的再现对象,并将再现对象从用户计算机传输到测试计算机。
测试计算机具有连接到处理器的存储器。该存储器存储包括指令的分析模块,以使处理器分析表征事件触发时用户计算机的运行参数的再现对象,以表征查询优化器的性能。
附图说明
通过以下结合附图的详细描述能够更充分地理解本发明,其中:
图1示出根据本发明一实施例配置的计算机系统。
图2示出根据本发明一实施例配置的再现对象。
图3示出与本发明一实施例相关的运行过程。
在所有图中相同的参考标号表示对应的部分。
具体实施方式
图1示出根据本发明一实施例配置的系统100。系统100包括用通信信道106连接起来的用户计算机102-1和测试计算机104-1,该通信信道可以是有线或者无线信道。用户计算机102-1包括标准构件,例如通过总线114连接的中央处理单元110和输入/输出设备112。所述输入/输出设备可以包括键盘、鼠标、显示器和打印机等等。总线114还连接到网络接口卡116,网络接口卡116提供与其他计算机如计算机104-1的连接。存储器120也连接到总线114。该存储器存储数据和可执行模块,以执行本发明的操作。特别地,存储器120存储数据库122和一组相关的数据库应用程序或者工具124。数据库应用程序或者工具124用于构建数据库查询。每个数据库查询被施加到查询优化器126,所述查询优化器生成查询方案,该查询方案被施加到数据库122以产生数据结果。这些构件是现有技术中已知的。
本发明集中在采集模块128和再现对象130上。采集模块128包括可执行指令,用于在预定情形下采集查询、数据库和系统信息。所述预定情形可以包括优化过程崩溃、被跟踪的优化过程和假设分析等等。采集模块128将该查询、数据库和系统信息加载到再现对象130中。然后再现对象130会被传送到测试计算机104-1。所以,采集模块128可以包括用来加载和传送再现对象130的可执行的指令。
图1示出用户计算机102-1至102-N。在典型的实施例中,存储器120中的数据库122和其他模块分布在多个机器中。类似地,测试计算机104-1可以是单个机器或者它的功能可以分布在多个机器104-1至104-N中。
测试计算机104-1包括标准构件,该标准构件包括通过总线162连接到输入/输出设备164和中央处理单元160的网络接口卡166。存储器170也连接到总线162。存储器170存储从用户计算机102-1接收到的再现对象130。此外,存储器170还存储分析模块174,该分析模块包括用来分析再现对象130的可执行指令。可以将任意数目的分析编码为分析模块174,下面提供其例子。
因此,本发明提供一种分析查询优化器性能的技术。优势在于,所述分析的执行是与用户计算机分开的,因此不会中断所使用的用户计算机的运行。此外,配置再现对象来提供用户愿意分享的系统信息。另有优点是,再现对象不需要包含实际用户数据。再现对象的分析与所使用的用户系统分开执行。分析的结果可以和推荐的软件修复一起发送给用户。特别地,分析模块174可将查询优化器报告反馈给用户。在某些情况下,分析模块174提供软件补丁和/或推荐的设置以提高系统性能。
图2示出再现对象130的一个实施例。再现对象130包括输入查询202,其是查询优化处理的主体。输入查询用于从数据源中检索数据的正式表达。
再现对象130还包括查询方案对象204,所述查询方案对象是应用于数据库122以执行指定的输入查询202的查询方案。也就是说,该查询方案是针对数据库的输入查询的最佳执行的一组操作。
再现对象130还包括数据库模式信息206。数据库模式至少包括关系数据库的各个表的描述。
再现对象130还包括数据库统计208。数据库统计是表征数据库内的条目的指标。最后,再现对象130包括系统数据210。系统数据210包括表征处理查询方案对象的物理机器和物理机器的性能的指标。所述数据可以包括机器的数目、可用的存储器和散列集合等等。
图3示出与本发明一实施例相关的运行过程。在300,监视事件触发。特别地,采集模块128监视事件触发。事件触发可能是指定的查询、假设情景分析、系统崩溃、对再现对象的请求或任何其他预定事件的提交。在302,响应于该事件触发,构造再现对象。然后在304,传送该再现对象。例如,将再现对象130从用户计算机102-1传送到测试计算机104-1。然后在306,分析再现对象。例如,测试计算机104-1的分析模块174可以被用于分析再现对象130。
在一个实施例中,再现对象130是根据称为数据交换语言(DXL)的语法定义的以可扩展标记语言(XML)编码的对象。在附录中提供了此种再现对象的标有注释的例子。根据本发明的实施例也可以使用其他编码。
除了图2中所示的构件以外,再现对象还可包括上下文信息,比如配置参数、与内部优化步骤的顺序和结果有关的追踪信息(如定时信息)和相关信息。
优选地,针对可扩展性优化该再现对象以发展多个版本。非常可取的格式是详细的、人可读的,并且支持标准查询语言,如Xpath或者Xquery,以便于统计分析。
再现对象格式的优选性能包括:版本控制,以明确识别软件和协议的版本;压缩,以通过邮件或其他介质传送;加密;人可读;适于利用标准XML编辑器分析;适于通过标准XML查询工具查询;以及易于在支持存储XML的任何数据库中归档。
一旦触发,采集模块128将询问优化器的所有软件构件,并请求将所有相关数据序列化。例如,查询优化器126可包括优化上下文信息、元数据缓存、语法分析程序和搜索模块,询问每个构件均的信息。在一个实施例中,所有组件使用标准抽象API连接在一起;每个构件独立地判定什么信息是相关的。理想地,任何新加的构件都提供回调函数。优选地,采集模块128不干扰实际查询的执行,也就是说,好像采集模块没有运行一样执行或中断查询。
在一个实施例中,通过例如作为数据访问协议的一部分的SQL或者其他通用配置机制来显示用于生成再现对象的句法。例如,作为一种开放源码的对象关系数据库管理系统的PostgreSQL(Postges)支持通过如下句法改变配置:
SET EXPLAIN_DXL=on
这中开启所有后续语句的再现对象,直到配置改变为:
SET EXPLAIN_DXL=off
该配置改变独立于工作负载,也就是说,实际工作负载的句法不需要被改变。
由内部事件(例如崩溃)触发的再现对象的产生可以被下列语句调用:
SET EXPLAIN_DXL=on
<offending statement>
SET EXPLAIN_DXL=off.
该再现对象格式便于将最后得到的结构存储/记录在标准记录设施中,例如数据中心监控基础设施。使用这些外部设施、额外的后处理如将再现对象自动发送到测试计算机104-1(如供应商的支持部门)变得可能。
分析模块174可以作为匹配或相似软件版本的独立优化过程来实现。载入机构读取再现对象并从再现对象获取的地方开始重演优化。通过向语法分析程序发送原始查询表达来开始该重演。可选地,可以利用来自再现对象的信息,例如优化上下文和元数据缓存信息,来准备优化器中的构件。在优化重演期间,不同的优化器构件可使用标准回调机制来请求额外的信息,标准回调机制能够从其它数据库处理导入该信息,如优化上下文信息或元数据。载入器截取这些请求并以从再现对象提取的信息来响应。
该截取机制将正在重演的优化与其它数据库处理断开。这就使得不需要访问数据库系统就可以孤立地重演优化,包括在不同硬件平台上重演(不同硬件配置、不同的操作系统等等)。
分析模块174可包括用于支持许多再现对象分析的可执行指令。例如,分析模块174可以包括分析查询优化器崩溃的可执行指令。在这种情况下,优化器在SQL语句优化期间由于软件缺陷而崩溃。内部错误处理机制开始运行并自动激活再现对象的采集和导出。再现对象被发送至测试计算机104_1。最终得到的再现对象可被用于在相同软件版本的优化器的单独副本上再现该事件。该问题能够被解决而不需要工程师访问生产系统,也不需要停机时间。工程部门开发出修复,并且在最终传送给客户之前检验该修复。在一个实施例中,再现对象提供一种完整的并且完全自主的退化测试,该退化测试能够被编入工程部门的日常退化测试中。
分析模块174还可以被编码用来评定次优的查询方案。在这种情形下,用户注意意外的查询行为,例如,意外地执行缓慢,这可能因为是次优方案。理解这种行为变化是非琐细的并且通常不表明是软件缺陷,而仅是由于用户数据中的重大变化。用户使用句法扩展生成再现对象。该再现对象被传送至测试计算机104-1中的分析模块174。分析模块174能够评估感知到的缺陷。
分析模块174也能够用可执行指令编码来评估不正确的方案。在这种情形下,用户在执行特定查询时候注意到错误结果。用户使用句法扩展来明确地请求再现对象。该再现对象被传送至测试计算机104-1中的分析模块174。分析模块174研究原因并辨别是优化器存在缺陷还是由于正确的查询方案的执行错误导致错误结果。在优化器存在缺陷的情况下,可以调用上面讨论的优化器崩溃工作流。在执行错误的情况下,可以应用传统的故障排除技术。
分析模块174也可被执行用于支持工作流监视和记录。典型的工作流由每隔一段时间运行的几百个查询组成。通常认为“重要”查询的一个小子集是性能关键。在调整该系统之后,用户为该关键查询生成再现对象并将其归档(例如,将它们存储到数据库中)。在数据库软件升级之后发生方案退化(查询的性能降低)的情况下,用户可以将一新的再现对象和归档的再现对象进行比较,并确定性能降低是否归因于软件退化。
分析模块174也可被执行来支持假设分析。为了调整的目的,理解哪个数据库对象以何种方式和频率使用是非常有帮助的。原始的查询文本包含对数据库对象如表格的引用,但是优化器根据附加的对象引用如索引来做决定。为了正确调整系统,需要理解对这些对象的准确应用。用户可以记录工作流并将最终得到的再现对象归档到数据库中。之后,数据可被查询来确定对象的某些特征。实例包括:根据索引的有用性将索引分级,确定等同性谓词中那些列被频繁使用以产生它们的索引,以及基于在记录的工作流上的查询识别调整机会。也可通过改变环境设置,比如添加存储器、添加机器等,来执行假设情景分析。
本领域技术人员能够得知本发明的很多相关优点。再现对象允许“重演”问题并对其分析。例如,当识别出软件缺陷时,再现对象能够被用来开发工作区作为临时措施或者被用来帮助开发优化器代码的修复并且在发布给客户之前验证该修复。一旦开发出修复,再现对象就获取关键测试案例用于退化测试。再现对象是自主的,并且在没有人工干预的情况下生成,因而消除了管理上的错误。如果优化器为系统请求额外的元数据,那么在优化期间再现对象可能增大。尽管再现对象一般是响应于触发的事件而产生的,但是也可以综合生成再现对象与产生测试案例。再现对象可被存储和分析以用于统计目的,例如,用于检测查询或模式特性与崩溃或次优结果之间的相互关系。
错误报告提供当系统故障或者崩溃时的瞬态信息。这种报告可以满足简单处理的需要,例如在单个机器上运行的单个应用程序。另一方面,这种工具对复杂的应用程序或者在多个机器上运行的应用程序没有太大帮助。在这种情境下,需要随时跟踪各种系统参数。如下所示的示例性的再现对象,不仅仅是在系统崩溃时,而是随时跟踪系统参数。因此,该再现对象不仅用于故障检测,也适用于优化运行(也就是不包含系统崩溃,而是结果似乎是次优的)。
本发明的一实施例涉及具有计算机可读存储介质的计算机存储产品,该介质上具有用于进行各种计算机执行的操作的计算机代码。该媒介和计算机代码可以是特别为本发明的目的设计和构造的,或者可以是在计算机软件领域的技术人员广泛知晓和可用的。例如计算机可读介质的例子包括但不限于:磁性介质,如硬盘、软盘和磁带;光学介质,如CD-ROM、DVD和全息装置;磁光介质;专门配置用来存储和执行程序代码的硬件装置,如专用集成电路(“ASIC”)、可编程逻辑器件(“PLD”)、ROM和RAM装置。计算机代码的例子包括机器代码,如由编译器产生的,以及由计算机使用解释器来执行的包含高级代码的文件。例如,本发明一实施例可用JAVA
Figure BPA00001565505400071
C++、其他面向对象编程语言和开发工具来实现。本发明的另一实施例可以使用硬连线电路代替或者结合机器可执行的软件指令来实现。
为了解释的目的,前面的描述使用了特定的术语以提供对本发明的全面理解。然而,对于本领域技术人员来讲很明显,不需要具体的细节就能够实现本发明。因此,前面对本发明的具体实施例的描述是为了说明和描述的目的而给出的。它们不意图是详尽的或者将本发明限制于所公开的精确形式;显然,鉴于上述教导,很多修改和变化都是可能的。这些实施例被选定和描述是为了最好地解释本发明的原理及其实际应用,因此它们使本领域技术人员能够最好地应用本发明以及具有各种修改的各种实施例,以适合于特定的预期应用。所附权利要求及其等价定义意图限定出本发明的范围。
附录
Figure BPA00001565505400081
Figure BPA00001565505400091
Figure BPA00001565505400101
Figure BPA00001565505400111
Figure BPA00001565505400121
Figure BPA00001565505400131
Figure BPA00001565505400141

Claims (18)

1.一种分析查询优化器性能的方法,包括:
识别事件触发;
在用户计算机上构造表征所述事件触发时所述用户计算机的运行参数的再现对象;
将所述再现对象从所述用户计算机传送到测试计算机;以及
在所述测试计算机上分析所述再现对象以表征查询优化器的性能。
2.根据权利要求1所述的方法,其中所述识别包括识别从查询优化器崩溃、特定查询的提交和对再现对象的请求当中选择的事件触发。
3.根据权利要求1所述的方法,其中所述运行参数包括输入查询、查询方案对象、数据库模式信息、数据库统计和物理系统数据。
4.根据权利要求1所述的方法,其中所述分析包括分析查询优化器崩溃。
5.根据权利要求1所述的方法,其中所述分析包括分析次优查询方案。
6.根据权利要求1所述的方法,其中所述分析包括分析不正确的查询方案。
7.根据权利要求1所述的方法,其中所述分析包括分析工作流。
8.根据权利要求1所述的方法,其中所述分析包括执行假设情景分析。
9.一种用户计算机,包括:
处理器;及
连接到所述处理器的存储器,所述存储器存储采集模块,所述采集模块包括指令,所述指令用于使所述处理器:
识别事件触发;
构造表征所述事件触发时所述用户计算机的运行参数的再现对象;以及
将所述再现对象从所述用户计算机传送到测试计算机。
10.根据权利要求9所述的用户计算机,其中用于识别事件触发的可执行指令包括用于识别从查询优化器崩溃、特定查询的提交和对再现对象的请求当中选择的事件触发的可执行指令。
11.根据权利要求9所述的用户计算机,其中所述运行参数包括输入查询、查询方案对象、数据库模式信息、数据库统计和物理系统数据。
12.一种测试计算机,包括:
处理器;
连接到所述处理器的存储器,所述存储器存储分析模块,所述分析模块包括指令,所述指令使所述处理器:
分析表征事件触发时用户计算机的运行参数的再现对象,以表征所述用户计算机的查询优化器的性能。
13.根据权利要求12所述的测试计算机,其中所述运行参数包括输入查询、查询方案对象、数据库模式信息、数据库统计和物理系统数据。
14.根据权利要求12所述的测试计算机,其中用于分析的可执行指令包括用于分析查询优化器崩溃的可执行指令。
15.根据权利要求12所述的测试计算机,其中用于分析的可执行指令包括用于分析次优查询方案的可执行指令。
16.根据权利要求12所述的测试计算机,其中用于分析的可执行指令包括用于分析不正确的查询方案的可执行指令。
17.根据权利要求12所述的测试计算机,其中用于分析的可执行指令包括用于分析工作流的可执行指令。
18.根据权利要求12所述的测试计算机,其中用于分析的可执行指令包括用于分析假设情景的可执行指令。
CN201080059390.XA 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法 Active CN102687124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510468387.8A CN105138597B (zh) 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/646,716 2009-12-23
US12/646,716 US8818991B2 (en) 2009-12-23 2009-12-23 Apparatus and method for analyzing query optimizer performance
PCT/US2010/060154 WO2011078986A1 (en) 2009-12-23 2010-12-13 Apparatus and method for analyzing query optimizer performance

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510468387.8A Division CN105138597B (zh) 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法

Publications (2)

Publication Number Publication Date
CN102687124A true CN102687124A (zh) 2012-09-19
CN102687124B CN102687124B (zh) 2015-09-02

Family

ID=44152518

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510468387.8A Active CN105138597B (zh) 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法
CN201080059390.XA Active CN102687124B (zh) 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510468387.8A Active CN105138597B (zh) 2009-12-13 2010-12-13 分析查询优化器性能的设备和方法

Country Status (4)

Country Link
US (2) US8818991B2 (zh)
EP (1) EP2517108B1 (zh)
CN (2) CN105138597B (zh)
WO (1) WO2011078986A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255477A (zh) * 2018-01-15 2018-07-06 贵州易鲸捷信息技术有限公司 一种通过sql编译器模拟优化数据库性能的方法及系统
CN109690524A (zh) * 2016-09-15 2019-04-26 甲骨文国际公司 分布式事件处理系统中的数据序列化
CN113168147A (zh) * 2018-12-29 2021-07-23 阿里巴巴集团控股有限公司 使用硬件加速高效地扫描数据库的系统和方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473484B2 (en) * 2011-06-01 2013-06-25 International Business Machines Corporation Identifying impact of installing a database patch
US9350733B2 (en) * 2011-11-07 2016-05-24 International Business Machines Corporation Emergency server access for offline users
US8938444B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for external application-directed data partitioning in data exporting from a database management system
US9081898B1 (en) * 2012-06-29 2015-07-14 Emc Corporation Automatic capture of minimal portable executable bug repros
US9110949B2 (en) * 2013-02-11 2015-08-18 Oracle International Corporation Generating estimates for query optimization
US9471545B2 (en) 2013-02-11 2016-10-18 Oracle International Corporation Approximating value densities
US9135280B2 (en) 2013-02-11 2015-09-15 Oracle International Corporation Grouping interdependent fields
US9262457B2 (en) * 2013-08-13 2016-02-16 Sybase, Inc. On-demand hash index
WO2015167466A1 (en) * 2014-04-29 2015-11-05 Hewlett-Packard Development Company, L.P. Query plan post optimization analysis and reoptimization
WO2016003427A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, Lp Automatic generation of sub-queries
US11016946B1 (en) * 2015-03-31 2021-05-25 EMC IP Holding Company LLC Method and apparatus for processing object metadata
US10318491B1 (en) * 2015-03-31 2019-06-11 EMC IP Holding Company LLC Object metadata query with distributed processing systems
US9418088B1 (en) 2015-12-02 2016-08-16 International Business Machines Corporation Identification of storage system elements causing performance degradation
CN106126402B (zh) * 2016-06-14 2019-06-04 网易(杭州)网络有限公司 加速器异常的处理方法及装置
CN109313639B (zh) * 2016-12-06 2021-03-05 华为技术有限公司 Dbms中进行查询执行的系统和方法
US10671578B2 (en) 2016-12-15 2020-06-02 International Business Machines Corporation System and method for dynamically estimating data classification job progress and execution time
CN107844425A (zh) * 2017-11-16 2018-03-27 中国银行股份有限公司 一种数据库语句检查方法和装置
CN108519949A (zh) * 2018-04-12 2018-09-11 郑州云海信息技术有限公司 一种oracle数据库压力的测试方法、系统及装置
CN108763536B (zh) 2018-05-31 2020-04-14 阿里巴巴集团控股有限公司 数据库访问方法及装置
CN109032912B (zh) * 2018-07-25 2022-04-05 北京首汽智行科技有限公司 车载终端固件升级的压力测试方法
US11500837B1 (en) * 2019-12-11 2022-11-15 Amazon Technologies, Inc. Automating optimizations for items in a hierarchical data store
US11372860B2 (en) * 2019-12-26 2022-06-28 Snowflake Inc. Processing techniques for queries where predicate values are unknown until runtime
US10769150B1 (en) 2019-12-26 2020-09-08 Snowflake Inc. Pruning indexes to enhance database query processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670729A (zh) * 2004-03-18 2005-09-21 微软公司 使用隐含谓词的改善的查询优化器
CN1825305A (zh) * 2005-10-31 2006-08-30 北京神舟航天软件技术有限公司 基于谓词关键度分析的查询计划缓存方法及其系统
US20080059492A1 (en) * 2006-08-31 2008-03-06 Tarin Stephen A Systems, methods, and storage structures for cached databases
US20090100004A1 (en) * 2007-10-11 2009-04-16 Sybase, Inc. System And Methodology For Automatic Tuning Of Database Query Optimizer

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US6615222B2 (en) * 1999-09-22 2003-09-02 International Business Machines Corporation System and process for evaluating the performance of a database system
US7139749B2 (en) * 2002-03-19 2006-11-21 International Business Machines Corporation Method, system, and program for performance tuning a database query
US8161037B2 (en) * 2004-06-03 2012-04-17 International Business Machines Corporation Method for autonomically generating a query implementation that meets a defined performance specification
US7606791B2 (en) * 2004-06-03 2009-10-20 International Business Machines Corporation Internal parameters (parameters aging) in an abstract query
US7822741B2 (en) * 2004-06-21 2010-10-26 Microsoft Corporation API for programmatic retrieval and replay of database trace
US8010337B2 (en) 2004-09-22 2011-08-30 Microsoft Corporation Predicting database system performance
US8468152B2 (en) * 2005-08-04 2013-06-18 International Business Machines Corporation Autonomic refresh of a materialized query table in a computer database
GB0516400D0 (en) * 2005-08-10 2005-09-14 Ibm A method and apparatus for testing software
US20070061289A1 (en) 2005-09-09 2007-03-15 Douglas Brown Validator and method for managing database system performance
US7519527B2 (en) 2005-10-31 2009-04-14 International Business Machines Corporation Method for a database workload simulator
US20080005281A1 (en) 2006-06-29 2008-01-03 Microsoft Corporation Error capture and reporting in a distributed computing environment
US8452756B2 (en) * 2006-11-09 2013-05-28 International Business Machines Corporation Database execution detail repository
US8032573B2 (en) * 2007-06-10 2011-10-04 Philippe Richard System and method for managing and updating data from a number of sources for a project
US20090083215A1 (en) * 2007-09-21 2009-03-26 Louis Burger System, method, and computer-readable medium for automated selection of sampling usage in a database system
US7958114B2 (en) * 2008-04-04 2011-06-07 Microsoft Corporation Detecting estimation errors in dictinct page counts
US7937385B2 (en) 2008-05-05 2011-05-03 International Business Machines Corporation Obtaining a plan for executing a query in a relational database
US8352458B2 (en) * 2008-05-07 2013-01-08 Oracle International Corporation Techniques for transforming and loading data into a fact table in a data warehouse
US8190598B2 (en) * 2008-10-30 2012-05-29 Hewlett-Packard Development Company, L.P. Skew-based costing for database queries
US20100306188A1 (en) * 2009-06-01 2010-12-02 Microsoft Corporation Persistent query plans
US20100325124A1 (en) * 2009-06-17 2010-12-23 Sybase, Inc. Tuning query execution performance of a database system
US8732163B2 (en) * 2009-08-04 2014-05-20 Sybase, Inc. Query optimization with memory I/O awareness
US9953054B2 (en) * 2013-04-22 2018-04-24 Salesforce.Com, Inc. Systems and methods for implementing and maintaining sampled tables in a database system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670729A (zh) * 2004-03-18 2005-09-21 微软公司 使用隐含谓词的改善的查询优化器
CN1825305A (zh) * 2005-10-31 2006-08-30 北京神舟航天软件技术有限公司 基于谓词关键度分析的查询计划缓存方法及其系统
US20080059492A1 (en) * 2006-08-31 2008-03-06 Tarin Stephen A Systems, methods, and storage structures for cached databases
US20090100004A1 (en) * 2007-10-11 2009-04-16 Sybase, Inc. System And Methodology For Automatic Tuning Of Database Query Optimizer

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690524A (zh) * 2016-09-15 2019-04-26 甲骨文国际公司 分布式事件处理系统中的数据序列化
US11573965B2 (en) 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
US11657056B2 (en) 2016-09-15 2023-05-23 Oracle International Corporation Data serialization in a distributed event processing system
US11977549B2 (en) 2016-09-15 2024-05-07 Oracle International Corporation Clustering event processing engines
CN108255477A (zh) * 2018-01-15 2018-07-06 贵州易鲸捷信息技术有限公司 一种通过sql编译器模拟优化数据库性能的方法及系统
CN113168147A (zh) * 2018-12-29 2021-07-23 阿里巴巴集团控股有限公司 使用硬件加速高效地扫描数据库的系统和方法

Also Published As

Publication number Publication date
US9275107B2 (en) 2016-03-01
US20110153594A1 (en) 2011-06-23
US8818991B2 (en) 2014-08-26
CN105138597B (zh) 2018-12-11
CN105138597A (zh) 2015-12-09
EP2517108B1 (en) 2020-02-05
EP2517108A1 (en) 2012-10-31
CN102687124B (zh) 2015-09-02
US20150081667A1 (en) 2015-03-19
EP2517108A4 (en) 2014-03-12
WO2011078986A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
CN102687124B (zh) 分析查询优化器性能的设备和方法
US11379348B2 (en) System and method for performing automated API tests
US20200019494A1 (en) Method and apparatus for performing test by using test case
US8473916B2 (en) Method and system for providing a testing framework
US20190361686A1 (en) Methods, systems, apparatuses and devices for facilitating change impact analysis (cia) using modular program dependency graphs
US10282197B2 (en) Open application lifecycle management framework
US9430505B2 (en) Automated data warehouse migration
US8386419B2 (en) Data extraction and testing method and system
US9563538B2 (en) Code path tracking
KR101083488B1 (ko) 객체 모델의 영향 분석
US8065323B2 (en) Offline validation of data in a database system for foreign key constraints
US7933932B2 (en) Statistics based database population
US20120124081A1 (en) Method and system for providing data migration
CN107665171A (zh) 自动回归测试方法及装置
CN105144080A (zh) 用于元数据管理的系统
US11487742B2 (en) Consistency checks between database systems
US6915313B2 (en) Deploying predefined data warehouse process models
Fjällid A comparative study of databases for storing sensor data
CN113626423B (zh) 业务数据库的日志管理方法、装置、系统
Che Optimisation of the OTCM Application through Cloud Database Migration and Refactoring
CN116362230A (zh) 参数校验方法、装置、计算机设备可存储介质
CN117171129A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN115981639A (zh) 基于元框架的数据定义与关系的孪生建模方法
CN118069479A (zh) 一种sql语句的性能评价方法、装置、设备及存储介质
CN116361135A (zh) 记录操作日志的方法、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GO BIWEITUO COMPANY

Free format text: FORMER OWNER: EMC CORPORATION

Effective date: 20141201

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: California, USA

Applicant after: Pivotal Software, Inc.

Address before: California, USA

Applicant before: Go Bi Weituo Co.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: GO BIWEITUO COMPANY TO: BIWEITUO SOFTWARE INC.

TA01 Transfer of patent application right

Effective date of registration: 20141201

Address after: California, USA

Applicant after: Go Bi Weituo Co.

Address before: Massachusetts, USA

Applicant before: EMC Corp.

C14 Grant of patent or utility model
GR01 Patent grant