随着数据库应用在企业中的广泛使用,确保SQL代码质量的重要性日益凸显。现有的SQL审核工具很多,包括Yearning、goInception、Bytebase、爱可生的SQLE、云和恩墨的SQM等等,但是它们或者规则覆盖度、或者是在正确率等方面存在明显不足;导致企业在引入产品后难以进行落地。PawSQL以其创新的企业级SQL审核平台,直击现有产品难以落地的痛点,为企业提供了一个强大的SQL审核解决方案。
SQL审核工具现状与挑战
- 规则覆盖不足:现有SQL审核工具由于其在SQL解析、语句的结构化表达等核心能力的缺失,导致其只能对DDL和简单的DML语句进行审核,无力解决诸如SQL的高级特性、跨语句判断等复杂情况的审核。
- 正确率较低:由于SQL解析能力的不足,无法正确理解复杂SQL的结构,导致审核工具容易产生大量误报和漏报,大大降低了可用性。
- 优化能力欠缺: 现有的SQL审核工具由于其在SQL解析、语句的结构化表达、优化建议等核心能力的不足,导致其对于SQL优化的建议缺失。
PawSQL审核平台的优势
1. 设计理念创新
PawSQL审核引擎秉持"用尽量少的规则覆盖尽量多的SQL结构,确保尽量高的正确率"的设计理念,通过规则抽象化、参数化和层级化等手段,整个规则体系仅包含171个审核规则,但几乎覆盖所有SQL结构。
2. 领先于现有产品的三大能力
PawSQL审核区别于其他产品的三大核心能力如下
3. 先进的核心技术
- 自研SQL解析器:基于自研的SQL解析器,并能够将数据库对象信息和SQL中引用进行绑定,为准确审核奠定基础。这是现在市场绝大多数的SQL解析器没有办法做到的。
- 基于语法树的规则匹配,基于语法树的抽象设计规则模式,可以准确、高效的和SQL解析器输出的语法树进行匹配,实现精准的规则识别。
- 上下文信息更新,根据输入的DDL及时地更新上下文的信息,这对于SQL审查的正确性至关重要,确保了对复杂SQL序列的正确审核。
总结
PawSQL作为新兴的企业级SQL审核工具,在设计理念和核心技术上实现了突破性创新。凭借高覆盖度、高正确率和优秀的可扩展性,PawSQL能够为企业提供全方位的SQL质量保障。