arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2004.10232cs.DB
收藏

SQLCheck:SQL反模式的自动检测和诊断

SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns

Visweswara Sai Prashanth Dintyala, Arpit Narechania, Joy Arulraj

摘要:

数据库即服务平台的出现使得部署数据库应用程序比以前更容易。现在,开发人员可以快速创建可扩展的应用程序。然而,设计高性能、可维护和准确的应用程序是一项挑战。开发人员可能会在不知不觉中在应用程序的SQL语句中引入反模式。这些反模式是旨在解决问题的设计决策,但通常会因违反基本设计原则而导致其他问题。在本文中,我们介绍了SQLCheck,一个用于自动查找和修复数据库应用程序中的反模式的整体工具链。我们介绍了自动(1)检测具有高精度和召回率的反模式,(2)根据其对性能,可维护性和应用程序的准确性的影响对反模式进行排名,以及(3)建议替代查询和更改数据库设计以修复这些反模式的技术。我们证明了这些反模式的流行在一个大型的查询和数据库收集从开源存储库。我们介绍了一个反模式检测算法,增强查询分析与数据分析。我们提出了一个排名模型的特点经常发生的反模式的影响。我们将讨论SQLCheck如何使用基于规则的查询重构技术为高影响的反模式提出修复建议。我们的实验表明,SQLCheck使开发人员能够创建更高性能,可维护性和准确的应用程序。

英文摘要:

The emergence of database-as-a-service platforms has made deploying database applications easier than before. Now, developers can quickly create scalable applications. However, designing performant, maintainable, and accurate applications is challenging. Developers may unknowingly introduce anti-patterns in the application's SQL statements. These anti-patterns are design decisions that are intended to solve a problem, but often lead to other problems by violating fundamental design principles. In this paper, we present SQLCheck, a holistic toolchain for automatically finding and fixing anti-patterns in database applications. We introduce techniques for automatically (1) detecting anti-patterns with high precision and recall, (2) ranking the anti-patterns based on their impact on performance, maintainability, and accuracy of applications, and (3) suggesting alternative queries and changes to the database design to fix these anti-patterns. We demonstrate the prevalence of these anti-patterns in a large collection of queries and databases collected from open-source repositories. We introduce an anti-pattern detection algorithm that augments query analysis with data analysis. We present a ranking model for characterizing the impact of frequently occurring anti-patterns. We discuss how SQLCheck suggests fixes for high-impact anti-patterns using rule-based query refactoring techniques. Our experiments demonstrate that SQLCheck enables developers to create more performant, maintainable, and accurate applications.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑