SQL审核 | SQLE 1.2207.0 来啦!

2022-09-26 10:21:45 浏览数 (1)

1.2207.0

SQLE Release Notes

SQL审核工具 SQLE 1.2207.0 于今天发布。以下对新版本的 Release Notes 进行详细解读。

文章主要分为以下四部分内容:

一、SQLE 项目介绍

二、新版本主要功能总结

三、完整的release信息

四、鸣谢

一、SQLE 项目介绍

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQLE 获取

类型

地址

版本库

https://github.com/actiontech/sqle

文档

https://actiontech.github.io/sqle-docs-cn/

发布信息

https://github.com/actiontech/sqle/releases

数据审核插件开发文档

https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html

社区版在线体验

http://demo.sqle.actionsky.com 超级管理员:admin,密码:admin。

企业版在线体验

http://demo.sqle.actionsky.com:8889用户:admin,密码:admin。

二、新版本主要功能总结

1. dashboard 页面改造,新增更多视角下的工单概览信息

SQLE dashboard 界面结构进行了优化,通过不同的视角(DBA,开发)将当前最新的工单信息尽量多的展示在dashboard上,方便进行查看和处理。

2. 提供在增量场景的智能扫描(慢日志,TiDB审计日志)的增量审核

对于慢日志,tidb 审计日志扫描类的审核,由于scanner使用的是增量扫描日志文件来实时提交SQL到SQLE,那么存在一个问题,即当某个存在问题的SQL被修复后SQLE是无法感知到的,依然会对该SQL进行审核。因此对于智能扫描类的场景提供增量审核的模式,可以忽略到一段时间内不再出现的SQL,仅对某段时间以来的SQL进行审核。SQLE 在创建智能扫描(审核任务)时提供可选配置来定义仅审核最近某段时间内出现的SQL,如下图所示:

3. 支持OceanBase MySQL模式审核插件【企业版】

SQLE通过插件的形式支持OceanBase MySQL模式的审核,我们调研了MySQL与OceanBase的部分差异,在OceanBase-MySQL插件内引入了大部分MySQL的审核规则,并去掉OceanBase MySQL模式不兼容的场景,使得SQLE审核能完全兼容OceanBase MySQL模式,目前OceanBase的规则已能使用MySQL 大部分规则,并增加了2条OB特有规则。其中特有规则来源是OceanBase 文档:https://open.oceanbase.com/docs/observer-cn/V3.1.3/0000000000316888。后续还会陆续集成OceanBase 官方推荐的规范,以下是最增的规则:

  1. 表名英文字母不推荐混用大小写
  2. 不推荐使用 count(列名) 来替代 count(*)

以下是OceanBase MySQL审核插件在SQLE安装后的效果图:

4. 新增IDE(Jetbrains系列)审核插件

SQLE的该插件满足开发人员在开发阶段进行实时自助式的静态SQL审核,实现开发阶段审核上线等各个SQL开发阶段的SQL开发规范。安装可参考之前发的公众号文章或者通过SQLE文档:https://actiontech.github.io/sqle-docs-cn/3.modules/4.1_auxiliary_tool/jetbrains_plugin.html

最终使用结果如下图所示:

插件会以弹窗的形式将审核结果进行展示,如下图所示:

三、完整的release信息

Release Notes

特性

  • 支持审核TiDB的审计日志【企业版】;
  • 支持 OceanBase MySQL 模式的审核【企业版】;
  • [#686] 新增IDEA(Jetbrains系列)审核插件;
  • [#680][#693] dashboard 页面改造,新增更多视角下的工单概览信息;
  • [#687] 提供在增量场景的智能扫描(原:审核任务,慢日志,TiDB审计日志)的增量审核;

优化

  • [#626] 优化审核规则模版界面的表格模版与其他表格一致;
  • [#625] 数据源界面增加数据库类型字段以及筛选条件方便进行分类查看;
  • [#682] 调整“审核任务”命名,改成“智能扫描”,使更符合当前功能定义;
  • [#694] MySQL插件在界面上的展示由"mysql"调整为"MySQL";

缺陷修复

  • [#666] 修复MySQL的lower_case_table_names配置为2时,部分审核进行库表检查不符合预期的问题;
  • [#667] 修复当MySQL审核语句包含系统表时,SQLE审核会提示表不存在的问题;
  • [#649] [actiontech/sqle-ee/issues/300] [actiontech/sqle-ee/issues/303]修复部分企业版license的问题;
  • [#653] 修复老版本数据库插件在新版本SQLE上不兼容的问题;
  • [#657] 修复审核特定带别名的SQL会导致进行索引建议时服务奔溃的问题;
  • [#690] 修复当where的字段的判断条件在括号内时,索引优化与结果不符的问题;
  • [#691] 修复当where的字段的判断条件在括号内时,规则“禁止使用没有where条件的sql语句或者使用where 1=1等变相没有条件的sql“判断错误的问题;
  • [#695] 修复配置MySQL的规则模板时编辑规则页面数据库类型错误的问题;
  • [#696] 修复智能扫描功能中库表扫描任务存在表命名带“-”的数据库时,后端报错,库表审核任务内无数据的问题;
  • [#699] 修复特定的规则触发后显示两次审核提示的问题;
  • [#701] 修复SQLE scanner 较高概率出现扫描上传SQL超时的问题;
  • [#704] 修复MyBatis 审核特定语法trim的suffix属性未支持导致的解析失败的问题。

四、鸣谢

  1. 感谢 @Sharkz‍eng 对SQLE的使用体验并提交一批有效缺陷和优化。

0 人点赞