1.2207.0
SQLE Release Notes

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

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

一、SQLE 项目介绍

二、新版本主要功能总结

三、完整的 release 信息

四、鸣谢

一、SQLE 项目介绍

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

如何获取:

类型地址
版本库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

特性

  • [#565] 支持 TiDB 类型数据库审核【企业版】
  • [#573] 新增5条TiDB专属规则【企业版】
    • 禁用 non-full group by 语法
    • group_concat() 语法必须使用order by
    • limit 分页查询必须使用排序
    • 未使用自增主键/自动随机主键写入
    • 高并发写入表不建议使用自增主键
  • [#568] SQL查询支持查看数据字典和执行计划,审核SQL支持进行SQL分析【企业版】;
  • [#589] SQLE license内容调整,支持根据数据库类型进行细分限制【企业版】;
  • [#606] 登录页面样式调整;

优化

  • [#633] 工单的审核通过率百分比仅展示小数点后2位;
  • [#628] 优化新增审核规则模版或者是克隆审核规则模版都很耗时的问题。

缺陷修复

  • [#563] 修复SQLE scanner 解析带有空otherwise标签的 mybatis XML时异常崩溃(社区反馈)
  • [#563] 修复在SQLE使用MySQL8.0作为业务库时,通过open api往审核任务中添加SQL时,接口报错报错的问题(社区反馈);
  • [#594] 修复使用数据源创建过工单之后,对应的删除数据源若删除会导致工单详情页面打开提示未知错误的问题;
  • [#641] 修复审核时如果当前连接的表存在但是表格是个空表,审核失败的问题;
  • [#634] 修复SQL查询时执行计划tab页无法关闭的问题;
  • [#624] 修复未设置运维时间时,无法选择所有的时间进行定时上线的问题;
  • [#621] 修复Oauth2账户绑定成功后,再次登录依旧跳转到用用户绑定界面的问题;
  • [#597] 修复当SQLE后端存储未MySQL8.0版本时,通过open api往审核任务中添加sql时,部分数据报错的问题;
  • [#639] 修复对特定语法(choose内不带otherwise标签)的Mybatis 文件审核时程序panic的问题。


四、鸣谢

  • 感谢 @Sharkzeng 对SQLE的使用体验并提交一批有效缺陷和优化。

本次的发版报道就到这里啦~


avatar
100
  Subscribe  
提醒