用于大数据的结构化查询的高效性能预测的方法和系统技术方案

技术编号:13862484 阅读:81 留言:0更新日期:2016-10-19 11:05
本发明专利技术涉及一种用于大数据的结构化查询的高效性能预测的方法和系统。所述系统包括:db模拟器模块,其用于基于通过从开发环境外推统计信息导出的空模式创建模拟数据库。执行计划生成模块,其用于生成查询的查询执行计划。查询分类模块,其用于基于运算参数将每个子查询分类为全表扫描、主索引扫描、快速索引扫描和非唯一索引扫描中的至少一个。时间确定模块,其用于在模拟数据库上执行每个子查询以确定输入输出(IO)访问时间和运算时间。ERT预测模块,其用于基于所述IO访问时间、所述运算时间和网络时间预测要在所述成品数据库中执行的查询的所述ERT。

【技术实现步骤摘要】
优先权信息本专利申请要求于2014年11月14日提交的编号为3600/MUM/2014的印度专利申请的优先权。
本文中所描述的本公开总体涉及一种数据库管理系统,并且更具体地,涉及用于预测要在成品数据库中执行的查询的消逝响应时间(elapsed response time)的数据库管理系统。
技术介绍
由于大量数据,大数据范式已经引发了应用程序的具有影响力的性能。应用程序的性能已经基于各种参数被评估。便于评估性能的一个关键参数是查询的响应时间。对于结构化数据库应用程序而言,查询的响应时间是针对部署在成品数据库中的大量数据的子集而测试的。普遍认为,有时这样的数据库应用程序中的响应时间可能会随数据量在一定时间内的增加而非线性地增加。响应时间的非线性增加可能反过来会导致对提供给应用程序的用户的性能保证构成侵害。响应时间的该非线性增加是因为被用于测试查询的常规测试技术而产生。常规测试技术包括对大量数据的子集的查询进行测试。因此,为了使用常规测试技术来评估性能,应用程序可能需要各种资源,诸如能够存储数万亿条记录的存储服务器。但是用于评估性能的这种资源部署可能会
导致产生巨大成本。此外,即使资源被布置,针对大量数据的查询的测试可能增加评估时间,且因此延迟应用程序的部署。为了克服上述的缺陷,已经在本领域提出了基于各种统计机器学习的模型,其使用过去的查询创建学习基础,且然后基于最邻近方法预测查询的响应时间。但这样的模型不能随数据量在一定时间内的线性增加而精确预测查询的响应时间。
技术实现思路
在描述本专利技术的系统和方法之前,应理解,本申请不限于所描述的特定系统和方法,因为除了在本公开中明确示出之外,可以存在多个可能的实施例。也应理解,在说明书中使用的术语仅是为了描述具体形式或实施例的目的,并且不旨在限制本申请的范围。本
技术实现思路
被提供以介绍与用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的系统和方法相关的概念且所述概念将在下面的具体实施方式中被进一步描述。本
技术实现思路
不旨在标识:本公开的必要特征不旨在用于确定或限制本公开的范围。在一个实施方式中,公开了一种用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的系统。在一个方面,系统可包括处理器和耦接到处理器的存储器。处理器可执行存在于存储器中的多个模块。多个模块还可包括db模拟器模块、执行计划生成模块、时间确定模块和ERT预测模块。db模拟器模块可基于通过从开发环境外推统计信息导出的空模式在开发环境中创建对应于成品数据库的模拟数据库。执行计划生成模块可基于模拟数据库生成查询的查询执行计划。查询执行计划表示要在成品数据库中执行的所述查询的一个或多个子查询。在一个方面,每个子查询可与运算参数相关联。查询分类模块可基于运算参数将每个子查询分类为至少一种类型的扫描。扫描类型的实例可包括但不限于全表扫描、主索引扫描、快速索引扫描和非唯一索引扫描。时间确定模块可在存在于开发环境
中的测试数据库上执行每个子查询以确定对应于每个子查询的输入输出(IO)访问时间和对应于每个子查询的运算时间。IO访问时间可基于分类而预测。运算时间可基于存在于每个子查询中的一个或多个运算符而预测。ERT预测模块可基于对应于每个子查询的IO访问时间、对应于每个子查询的运算时间和网络时间预测要在成品数据库中执行的查询的ERT。网络时间表示在通过网络发送执行每个子查询时检索的数据所需要的时间。在另一实施方式中,一种用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的方法,为了预测要在成品数据库中执行的ERT,首先基于通过从开发环境外推统计信息导出的空模式在开发环境中创建对应于成品数据库的模拟数据库。在创建模拟数据库后,可基于模拟数据库生成查询的查询执行计划。查询执行计划表示要在成品数据库中执行的查询的一个或多个子查询。在一个方面,每个子查询可与运算参数相关联。在生成查询执行计划之后,可基于运算参数将每个子查询分类为至少一种类型的扫描。扫描类型的实例可包括但不限于全表扫描、主索引扫描、快速索引扫描和非唯一索引扫描。在每个子查询的分类之后,可在存在于开发环境中的测试数据库上执行每个子查询以确定对应于每个子查询的输入输出(IO)访问时间和对应于每个子查询的运算时间。在一个方面,IO访问时间可基于分类而预测。在一个方面,运算时间可基于存在于每个子查询中的一个或多个运算符而预测。一旦IO访问时间和运算时间被确定,要在成品数据库中执行的查询的ERT可基于对应于每个子查询的IO访问时间、对应于每个子查询的运算时间和网络时间而预测。网络时间表示通过网络发送在执行每个子查询时检索的数据所需要的时间。在一个方面,用于预测要在成品数据库中执行的查询的ERT的上述方法可通过使用存储在存储器中的编程指令的处理器进行。在另一实施方式中,一种包含可在用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的计算装置中可执行的程序的非临时性计算
机可读介质。程序包括用于基于通过从开发环境外推统计信息导出的空模式在开发环境中创建对应于成品数据库的模拟数据库的程序代码。程序还可包括程序代码,其用于基于模拟数据库生成查询的查询执行计划。查询执行计划表示要在成品数据库中执行的查询的一个或多个子查询。在一个方面,每个子查询可与运算参数相关联。程序还可包括程序代码,其用于基于运算参数将每个子查询分类为至少一种类型的扫描。扫描类型的实例可包括但不限于全表扫描、主索引扫描、快速索引扫描和非唯一索引扫描。程序还可包括程序代码,其用于在存在于开发环境中的测试数据库上执行每个子查询以确定对应于每个子查询的输入输出(IO)访问时间,和对应于每个子查询的运算时间。IO访问时间可基于分类而预测。运算时间可基于存在于每个子查询中的一个或多个运算符而预测。程序还可包括程序代码,其用于基于对应于每个子查询的IO访问时间、对应于每个子查询运算时间和网络时间预测要在成品数据库中执行的查询的ERT。网络时间表示通过网络发送在执行每个子查询时检索的数据所需要的时间。附图说明当结合附图阅读时,可更好地理解实施例的前述详细描述。为了说明本公开的目的,在本公开的本文档示例结构示出;然而,本公开不限于本文档和附图中公开的具体方法和设备。参照附图描述具体实施方式。在图中,参考号最左边的数字标识附图标记首次出现的附图。相同数字用于在整个附图中来指相同特征和组件。图1示出根据本公开的实施例的用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的系统的网络实施方式。图2示出根据本公开的实施例的系统,。图3示出根据本公开的实施例的实例。图4和图5示出根据本公开的实施例的用于预测要在成品数据库中执行的查询的ERT的方法。具体实施方式现在将详细地讨论示出其所有功能的本公开的一些实施例。词“包括”、“具有”、“包含”和“包括”,及其其它形式旨在指在意思上是等同的且其开放度结束于以下情况:这些词中的任何一个后面跟随的一个项目或多个项目不意味着是该项目或这些项目的穷举列表,或意味着被限于仅列出的一个或多个项目的穷举列表。还必须注意,如本文和所附权利要求书中所使用的,除非上下文另有明确说明,否则单数形式“a”、“an”、和“the”包括复数引用本文档来自技高网
...

【技术保护点】
一种用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的方法,所述方法包括:由处理器基于通过从开发环境外推统计信息导出的空模式在所述开发环境中创建对应于成品数据库的模拟数据库;由所述处理器基于所述模拟数据库生成所述查询的查询执行计划,其中所述查询执行计划表示要在成品数据库中执行的所述查询的一个或多个子查询,并且其中每个子查询与运算参数相关联;由所述处理器基于所述运算参数将每个子查询分类为至少一种类型的扫描;由所述处理器在存在于所述开发环境中的测试数据库上执行每个子查询以确定对应于每个子查询的输入输出(IO)访问时间,和对应于每个子查询的运算时间,其中所述输入输出访问时间基于所述分类而预测,并且其中所述运算时间基于存在于每个子查询中的一个或多个运算符而预测;以及由所述处理器基于所述输入输出访问时间、所述运算时间和网络时间预测要在所述成品数据库中执行的所述查询的所述消逝响应时间,其中所述网络时间表示通过网络发送在执行每个子查询时检索的数据所需要的时间。

【技术特征摘要】
2014.11.14 IN 3600/MUM/20141.一种用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的方法,所述方法包括:由处理器基于通过从开发环境外推统计信息导出的空模式在所述开发环境中创建对应于成品数据库的模拟数据库;由所述处理器基于所述模拟数据库生成所述查询的查询执行计划,其中所述查询执行计划表示要在成品数据库中执行的所述查询的一个或多个子查询,并且其中每个子查询与运算参数相关联;由所述处理器基于所述运算参数将每个子查询分类为至少一种类型的扫描;由所述处理器在存在于所述开发环境中的测试数据库上执行每个子查询以确定对应于每个子查询的输入输出(IO)访问时间,和对应于每个子查询的运算时间,其中所述输入输出访问时间基于所述分类而预测,并且其中所述运算时间基于存在于每个子查询中的一个或多个运算符而预测;以及由所述处理器基于所述输入输出访问时间、所述运算时间和网络时间预测要在所述成品数据库中执行的所述查询的所述消逝响应时间,其中所述网络时间表示通过网络发送在执行每个子查询时检索的数据所需要的时间。2.根据权利要求1所述的方法,其中所述统计信息包括表、块、索引块和数据值。3.根据权利要求1所述的方法,其中所述运算参数包括表、访问模式、基数、输出大小、成本,和输入输出成本。4.根据权利要求1所述的方法,其中所述一个或多个运算符包括合计、哈希、嵌套、排序、合并及哈希。5.根据权利要求1所述的方法,所述扫描类型包括全表扫描、主索引扫描、快速索引扫描和非唯一索引扫描。6.根据权利要求1所述的方法,其还包括限定用于在生产环境中执行的所述查询的性能基准值,其中所述性能基准值基于所述消逝响应时间、所述预测的子查询执行时间、输入输出成本、逻辑读取、物理读取、基数和输出大小而限定。7.根据权利要求1所述的方法,其中所述消逝响应时间通过以下步骤而预测:合计对应于每个子查询的所述输入输出访问时间和对应于每个子查询的所述运算时间以确定预测的子查询执行时间;以及合计所述预测的子查询执行时间和所述网络时间以确定所述消逝响应时间。8.一种用于预测要在成品数据库中执行的查询的消逝响应时间(ERT)的系统,所述系统包括:处理器;和存储器,耦接到所述处理器,其中所述处理器执行存储在所述存储器中的多个模块,并且其中所述多个模块包括:db模拟器模块,用于基于通过从开发环境外推统计信息导出的空模式在所述开发环境中创建对应于成品数据库的模拟数据库;执行计划生成模块,用于基于所述模...

【专利技术属性】
技术研发人员:列哈·辛哈尔
申请(专利权)人:塔塔顾问服务有限公司
类型:发明
国别省市:印度;IN

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

1