首页> 外文会议>SIGMOD/PODS 2007 >QAGen: Generating Query-Aware Test Databases
【24h】

QAGen: Generating Query-Aware Test Databases

机译:QAGen:生成查询感知的测试数据库

获取原文

摘要

Today, a common methodology for testing a database management system (DBMS) is to generate a set of test databases and then execute queries on top of them. However, for DBMS testing, it would be a big advantage if we can control the input and/or the output (e.g., the cardinality) of each individual operator of a test query for a particular test case. Unfortunately, current database generators generate databases independent of queries. As a result, it is hard to guarantee that executing the test query on the generated test databases can obtain the desired (intermediate) query results that match the test case. In this paper, we propose a novel way for DBMS testing. Instead of first generating a test database and then seeing how well it matches a particular test case (or otherwise use a trialand- error approach to generate another test database), we propose to generate a query-aware database for each test case. To that end, we designed a query-aware test database generator called QAGen. In addition to the database schema and the set of basic constraints defined on the base tables, QAGen takes the query and the set of constraints defined on the query as input, and generates a queryaware test database as output. The generated database guarantees that the test query can get the desired (intermediate) query results as defined in the test case. This approach of testing facilitates a wide range of DBMS testing tasks such as testing of memory managers and testing the cardinality estimation components of query optimizers.
机译:如今,一种用于测试数据库管理系统(DBMS)的通用方法是生成一组测试数据库,然后在它们之上执行查询。但是,对于DBMS测试,如果我们可以控制特定测试用例的每个查询查询操作符的输入和/或输出(例如基数),则将是一个很大的优势。不幸的是,当前的数据库生成器生成独立于查询的数据库。结果,很难保证在生成的测试数据库上执行测试查询可以获得与测试用例匹配的期望(中间)查询结果。在本文中,我们提出了一种新颖的DBMS测试方法。我们建议先为每个测试用例生成一个查询感知数据库,而不是先生成一个测试数据库,然后查看它与特定测试用例的匹配程度(或者使用尝试错误方法生成另一个测试数据库)。为此,我们设计了一个名为QAGen的查询感知测试数据库生成器。除了数据库模式和在基表上定义的基本约束集之外,QAGen还将查询和在查询上定义的约束集作为输入,并生成一个具有查询意识的测试数据库作为输出。生成的数据库保证测试查询可以获取测试用例中定义的所需(中间)查询结果。这种测试方法有助于执行多种DBMS测试任务,例如测试内存管理器和测试查询优化器的基数估计组件。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号