随着数据库应用在企业中的广泛使用,确保SQL代码质量的重要性日益凸显。现有的SQL审核工具很多,包括Yearning、goInception、Bytebase、爱可生的SQLE、云和恩墨的SQM等等,但是它们或者规则覆盖度、或者是在正确率等方面存在明显不足;导致企业在引入产品后难以进行落地。领先的SQL性能解决方案提供商PawSQL,以其创新的企业级SQL审核平台,直击现有产品难以落地的痛点,为企业提供了一个强大的SQL审核解决方案。
SQL审核工具现状与挑战
-
规则覆盖不足:现有SQL审核工具由于其在SQL解析、语句的结构化表达等核心能力的缺失,导致其只能对DDL和简单的DML语句进行审核,无力解决诸如SQL的高级特性、跨语句判断等复杂情况的审核。
-
正确率较低:由于SQL解析能力的不足,无法正确理解复杂SQL的结构,导致审核工具容易产生大量误报和漏报,大大降低了可用性。
-
优化能力欠缺: 现有的SQL审核工具由于其在SQL解析、语句的结构化表达、优化建议等核心能力的不足,导致其对于SQL优化的建议缺失。
PawSQL审核平台的优势
设计理念创新
PawSQL审核引擎秉持"用尽量少的规则覆盖尽量多的SQL结构,确保尽量高的正确率"的设计理念,通过规则抽象化、参数化和层级化等手段,整个规则体系仅包含171个审核规则,但几乎覆盖所有SQL结构。
领先于现有产品的三大核心能力
PawSQL审核区别于其他产品的三大核心能力如下
先进的核心技术
-
自研SQL解析器:基于自研的SQL解析器,并能够将数据库对象信息和SQL中引用进行绑定,为准确审核奠定基础。这是现在市场绝大多数的SQL解析器没有办法做到的。
-
基于语法树的规则匹配,基于语法树的抽象设计规则模式,可以准确、高效的和SQL解析器输出的语法树进行匹配,实现精准的规则识别。
-
上下文信息更新,根据输入的DDL及时地更新上下文的信息,这对于SQL审查的正确性至关重要,确保了对复杂SQL序列的正确审核。
总结
PawSQL作为新兴的企业级SQL审核工具,在设计理念和核心技术上实现了突破性创新。凭借高覆盖度、高正确率和优秀的可扩展性,PawSQL能够为企业提供全方位的SQL质量保障。
PawSQL往期文章精选
关于PawSQL
PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,Opengauss等,提供的SQL优化产品包括
-
PawSQL Cloud在线自动化SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员,
-
PawSQL Advisor, IntelliJ 插件, 适用于数据应用开发人员,可以IDEA/DataGrip应用市场通过名称搜索“PawSQL Advisor”安装。
-
PawSQL Audit,针对集成阶段,针对DDL/DML类型的SQL审核工具,使用尽量少的审核规则,覆盖尽量全的SQL语法和结构,确保尽量高的审核正确率。
-
PawSQL Engine, 是PawSQL系列产品的后端优化引擎,可以以docker镜像的方式独立安装部署,并通过http/json的接口提供SQL优化服务。
搜索微信公众号PawSQL关注我们。