【技术实现步骤摘要】
本专利技术涉及数据处理领域,具体涉及数据库,更具体涉及一种。
技术介绍
目前,大量的应用运行在数据库管理系统中存储的数据之上。随着软件的日益复杂,如何确保这些应用的质量成为一个关键问题。此外,不仅是应用变得更复杂,数据库管理系统本身也变得更复杂。这些数据库管理系统通常存储着由很多不同应用和成千上万的用户访问的业务关键数据。数据库管理系统的中断通常对于核心业务来说具有严重的后果,其可造成企业数百万元的损失,失去用户和业务伙伴的信任,甚至引起法律纠纷。在最坏的情况下甚至使企业倒闭。因此,获得充足的数据库测试方法对于企业来说是必不可少和至关重要的。而且获得这种数据库测试方法不但对于作为数据库最终用户的企业是至关重要的,而且对于应用中间件厂商以及数据库厂商自己也是至关重要的。以数据库为中心的测试的关键是能够获得“真实世界的”工作负载,这是因为,由于当今的应用和环境的复杂性,极难人工生成充足的生产系统的数据和访问模式。现在也日益需要将这种真实世界的工作负载及相应的测试工具更多地提供给第三方。例如,一个企业可能将其应用数据库测试外包给服务提供商,这也被称为作为服务的测试(Test as a Service) 0这产生了数据机密性和安全性的问题。企业很可能不希望将其核心业务数据显露给不可信的第三方。而且,即使在企业内部,数据访问往往也是有着严格限制的。开发和测试应用的人可能无法访问真实的业务数据。目前已存在几种用于收集和/或生成工作负载的解决方案,但或者由于数据机密性问题,或者由于对真实世界环境的不充分模拟,它们的使用都是有限的。而且,这些解决方案通常缺乏将数据库数据 ...
【技术保护点】
一种用于生成数据库的测试工作负载的系统,包括:工作负载捕获模块,被配置为捕获源系统上包含针对源数据库发出的原数据库语句的工作负载;元信息收集模块,被配置为收集源数据库中的数据模式和数据分布统计特性;数据生成模块,被配置为根据所述元信息收集模块收集的源数据库中的数据模式在目标数据库中创建具有相同数据模式的数据对象,以及根据所述元信息收集模块收集的数据分布统计特性在目标数据库中生成具有相似数据分布统计特性的数据;以及语句修改模块,被配置为修改所述工作负载捕获模块捕获的工作负载中的至少部分原数据库语句,以使得修改后的数据库语句在目标数据库上的执行具有所述原数据库语句在源数据库上的执行的相似的性能特征,从而获得测试工作负载。
【技术特征摘要】
1.一种用于生成数据库的测试工作负载的系统,包括: 工作负载捕获模块,被配置为捕获源系统上包含针对源数据库发出的原数据库语句的工作负载; 元信息收集模块,被配置为收集源数据库中的数据模式和数据分布统计特性; 数据生成模块,被配置为根据所述元信息收集模块收集的源数据库中的数据模式在目标数据库中创建具有相同数据模式的数据对象,以及根据所述元信息收集模块收集的数据分布统计特性在目标数据库中生成具有相似数据分布统计特性的数据;以及 语句修改模块,被配置为修改所述工作负载捕获模块捕获的工作负载中的至少部分原数据库语句,以使得修改后的数据库语句在目标数据库上的执行具有所述原数据库语句在源数据库上的执行的相似的性能特征,从而获得测试工作负载。2.根据权利要求1的系统,还包括: 测试工作负载执行模块,被配置为在目标数据库上执行所述测试工作负载,以针对目标数据库进行测试。3.根据权利要求1的系统,其中,所述元信息收集模块被配置为仅收集所述工作负载中包含的原数据库语句所涉及的、源数据库中的数据模式和数据分布统计特性。4.根据权利要求1的系统,其中,所述相似的性能特征是指相似的谓词过滤因子。5.根据权利要求1的系统,其中,所述数据分布统计特性包括数据库表的列中的数据的最大值、最小值、基数和大小,或者数据库表的列中的数据中出现频率最高的若干数值各自的出现频率以及由所述数值划分的每个数据段的最大值、最小值、基数和大小。6.根据权利要求1的 系统,还包括: 约束关系获得模块,被配置为获得在源系统上原数据库语句所涉及的数据的与选择率有关的约束关系; 且其中,所述数据生成模块进一步被配置为在目标数据库中生成满足或基本满足所述与选择率有关的约束关系且具有相似数据分布统计特性的数据。7.根据权利要求6的系统,其中,所述原数据库语句所涉及的数据的与选择率有关的约束关系包括与原数据库语句中涉及同一数据库表的多个列的多个谓词的过滤因子有关的约束关系; 且其中,所述数据生成模块进一步被配置为:首先生成满足或基本满足涉及较多列的谓词或谓词组合的过滤因子的数据,然后生成满足或基本满足涉及较少列的谓词或谓词组合的过滤因子的数据。8.根据权利要求6的系统,其中,所述原数据库语句所涉及的数据的与选择率有关的约束关系包括与原数据库语句中涉及具有联结关系的多个数据库表的多个列的谓词的过滤因子有关的约束关系; 且其中,所述数据生成模块进一步被配置为:使在目标数据库中生成的数据满足或基本满足所述谓词的过滤因子。9.根据权利要求6的系统,还包括: 谓词分类模块,被配置为将原数据库语句中的谓词和谓词组合按照所涉及的数据库表的列划分为不同类别; 出现频率计算模块,被配置为计算不同类别的谓词和谓词组合在数据库语句中的出现频率; 且其中,所述约束关系获得模块进一步被配置为仅获得属于出现频率较高的类别的谓词和谓词组合的过滤因子。10.根据权利要求1的系统,其中,所述语句修改模块进一步包括: 语句修改子模块,被配置为针对包含联结关系的原数据库语句,通过将其中的本地谓词删除,将本地谓词中涉及的数据库表的列添加到SELECT子句获得修改的数据库语句; 结果集获得子模块,被配置为通过针对目标数据库执行所述修改的数据库语句获得结果集; 列值查找子模块,被配置为在结果集中寻找选择率与所述本地谓词在源数据库上的单独及组合过滤因子相近的列值;以及 常量值替换子模块,使用所述列值替换...
【专利技术属性】
技术研发人员:傅毓勤,魏可伟,M·申克尔,刘恒,李硕,杨新颖,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。