[发明专利]用于生成数据库的测试工作负载的系统和方法有效
申请号: | 201110429529.1 | 申请日: | 2011-12-20 |
公开(公告)号: | CN103176973A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 傅毓勤;魏可伟;M·申克尔;刘恒;李硕;杨新颖 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 张亚非;于静 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 生成 数据库 测试 工作 负载 系统 方法 | ||
1.一种用于生成数据库的测试工作负载的系统,包括:
工作负载捕获模块,被配置为捕获源系统上包含针对源数据库发出的原数据库语句的工作负载;
元信息收集模块,被配置为收集源数据库中的数据模式和数据分布统计特性;
数据生成模块,被配置为根据所述元信息收集模块收集的源数据库中的数据模式在目标数据库中创建具有相同数据模式的数据对象,以及根据所述元信息收集模块收集的数据分布统计特性在目标数据库中生成具有相似数据分布统计特性的数据;以及
语句修改模块,被配置为修改所述工作负载捕获模块捕获的工作负载中的至少部分原数据库语句,以使得修改后的数据库语句在目标数据库上的执行具有所述原数据库语句在源数据库上的执行的相似的性能特征,从而获得测试工作负载。
2.根据权利要求1的系统,还包括:
测试工作负载执行模块,被配置为在目标数据库上执行所述测试工作负载,以针对目标数据库进行测试。
3.根据权利要求1的系统,其中,所述元信息收集模块被配置为仅收集所述工作负载中包含的原数据库语句所涉及的、源数据库中的数据模式和数据分布统计特性。
4.根据权利要求1的系统,其中,所述相似的性能特征是指相似的谓词过滤因子。
5.根据权利要求1的系统,其中,所述数据分布统计特性包括数据库表的列中的数据的最大值、最小值、基数和大小,或者数据库表的列中的数据中出现频率最高的若干数值各自的出现频率以及由所述数值划分的每个数据段的最大值、最小值、基数和大小。
6.根据权利要求1的系统,还包括:
约束关系获得模块,被配置为获得在源系统上原数据库语句所涉及的数据的与选择率有关的约束关系;
且其中,所述数据生成模块进一步被配置为在目标数据库中生成满足或基本满足所述与选择率有关的约束关系且具有相似数据分布统计特性的数据。
7.根据权利要求6的系统,其中,所述原数据库语句所涉及的数据的与选择率有关的约束关系包括与原数据库语句中涉及同一数据库表的多个列的多个谓词的过滤因子有关的约束关系;
且其中,所述数据生成模块进一步被配置为:首先生成满足或基本满足涉及较多列的谓词或谓词组合的过滤因子的数据,然后生成满足或基本满足涉及较少列的谓词或谓词组合的过滤因子的数据。
8.根据权利要求6的系统,其中,所述原数据库语句所涉及的数据的与选择率有关的约束关系包括与原数据库语句中涉及具有联结关系的多个数据库表的多个列的谓词的过滤因子有关的约束关系;
且其中,所述数据生成模块进一步被配置为:使在目标数据库中生成的数据满足或基本满足所述谓词的过滤因子。
9.根据权利要求6的系统,还包括:
谓词分类模块,被配置为将原数据库语句中的谓词和谓词组合按照所涉及的数据库表的列划分为不同类别;
出现频率计算模块,被配置为计算不同类别的谓词和谓词组合在数据库语句中的出现频率;
且其中,所述约束关系获得模块进一步被配置为仅获得属于出现频率较高的类别的谓词和谓词组合的过滤因子。
10.根据权利要求1的系统,其中,所述语句修改模块进一步包括:
语句修改子模块,被配置为针对包含联结关系的原数据库语句,通过将其中的本地谓词删除,将本地谓词中涉及的数据库表的列添加到SELECT子句获得修改的数据库语句;
结果集获得子模块,被配置为通过针对目标数据库执行所述修改的数据库语句获得结果集;
列值查找子模块,被配置为在结果集中寻找选择率与所述本地谓词在源数据库上的单独及组合过滤因子相近的列值;以及
常量值替换子模块,使用所述列值替换所述包含联结关系的数据库语句中的本地谓词的常量值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110429529.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:分流袋
- 下一篇:依据多个查询字词的翻译查询系统及其方法