📢 SQLE 3.0 版本即将于 10 月 24 日发布!🎉🎉🎉
🤗 全新的界面设计将带来焕然一新的体验✨,届时热忱欢迎您的试用。
三、完整的 Release 信息
一、SQLE 项目介绍
类型 | 地址 |
---|---|
版本库 | https://github.com/actiontech/sqle |
文档 | https://actiontech.github.io/sqle-docs/ |
发布信息 | https://github.com/actiontech/sqle/releases |
数据审核插件开发文档 | https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtodev |
社区版和企业版功能对比 | https://actiontech.github.io/sqle-docs/docs/support/compare |
在线体验-社区版 | http://demo.sqle.actionsky.com 超级管理员:admin 密码:admin |
在线体验-企业版 | http://demo.sqle.actionsky.com:8889 用户:admin 密码:admin |
二、新版本主要功能介绍
本期已实现扫描任务审核报告的下载功能,当用户需要将扫描任务产生的审核报告同步给项目外的其他人,或需要对审核报告进行存档时,可以直接下载报告文件。以下是简单的功能试用:
查看扫描任务的审核报告时,用户点击下载扫描任务报告按钮。
点击下载审核报告
平台将以 CSV 格式导出当前扫描任务报告内容,用户可以在导出文件中查看报告基本信息及 SQL 审核结果。
报告内容
现在,您可以直接提交需要审核的 SQL,无需创建工单,即刻获得审核结果。这个全新的功能将带来更快速、更高效的审核体验。来一起简单体验一下:
进入“项目”页面后,左边栏增加了“SQL 审核”功能选项,点击后展开的是 SQL 审核的历史审核记录列表。
审核列表页面
点击右上角的“创建审核”,就可以开始审核啦!与工单审核不同的是,新功能还额外支持不连接数据源的静态审核,可以在没有运行时环境的情况下,对 SQL 进行全面的语法和语义分析。SQL 上传方式也新增了上传 ZIP 文件的方式。此外,还可以为审核记录添加业务标签,满足您更多的场景需求。
SQL 审核页面
编辑好 SQL 之后点击编辑框下方的“审核”按钮,即可查看到审核结果。审核结束后,可以回到审核记录列表追溯到每次审核的信息。
查看审核结果
-
禁止在 WHERE 条件中使用与过滤字段不一致的数据类型
-
禁止使用聚合函数
-
避免在 FROM 子句中对相同的表被连接两次及以上
-
ORDER BY / GROUP BY 操作需要能使用索引排序或分组
-
SQL 查询条件必须能走索引
-
表字段必须有 NOT NULL 约束
-
禁止 INSERT … SELECT
-
建议连库查询时,确保 SQL 执行计划中使用的索引区分度大于阈值
-
使用 TEXT 类型的字段建议和原表进行分拆,与原表主键单独组成另外一个表进行存放
-
建议在组合索引中将区分度高的字段靠前放
-
JOIN 字段必须包含索引
-
扫描行数超过阈值,筛选条件必须带上主键或者索引
-
查询数据量超过阈值,筛选条件必须带上主键或者索引
-
表行数超过阈值,建议对表进行拆分
-
禁止对索引列进行数学运算和使用函数
-
连接表字段的字符集和排序规则必须一致
本期实现 SQLE 平台与飞书的对接,企业用户可以将工单审批集成到团队的协作平台中,使审批过程更加便捷、高效和可追溯,同时提升数据安全和团队协作的效率。以下是简单的功能效果:
创建工单后,相应审批成员即可在飞书端收到审批通知。
飞书审批通知
点击审批卡片,查看工单详情,可点击 同意/拒绝,完成审批操作。
工单详情
你可以在用户手册的流程对接部分查找相关应用的配置指南,用户手册的链接为:https://actiontech.github.io/sqle-docs/docs/user-manual/sys-configuration/process_syn
此外,如果你的团队使用钉钉作为协作工具,SQLE 也已支持与钉钉审批的对接,关于如何使用此功能的详细说明,同样可以在上述链接中找到,以下是钉钉审批的效果示例:
钉钉审批通知
为了提供更好的 SQL 审核和处理体验,平台引入了项目全生命周期 SQL 管控面板。通过该功能,用户可从多维度全面了解平台当前采集的 SQL 情况,包括平台采集的 SQL 总量、已发现的问题 SQL 量、已优化 SQL 量,用以快速发现和修复不合规的 SQL,提高数据库性能和维护效率。同时,监控面板还支持快捷操作,项目管理员可以将需要调整的 SQL 分配给其他成员进行修改,并手动关闭已解决的 SQL。
SQL 管控面板
我们引入了规则知识库页面,汇集了一批经验丰富的 DBA 运维专家的沉淀,旨在帮助研发人员深入理解规则和提供 SQL 优化的建议,并将其应用于实际开发中。
知识库页面一般包含规则的背景、原理、优化建议以及对应的规范 SQL 举例。通过知识库页面,用户可以获得更加深入和完整的规则认识,了解规则的背景与优化方法,从而实现更高效的开发和优化。
知识库
用户在规则列表或审核结果页面查看规则时,可以点击“查看更多”按钮,进入知识库页面。
规则列表页面
审核结果页面
此外,用户还可以编辑、贡献自己对规则的理解,共享和积累宝贵的经验。
-
shardkey 字段的类型必须是 INT、BIGINT、SMALLINT、CHAR 或 VARCHAR
-
shardkey 字段内容禁止包含中文
-
禁止使用聚合函数
-
SQL 查询条件必须能走索引
-
表字段必须有 NOT NULL 约束
-
禁止 INSERT … SELECT
-
建议连库查询时,确保 SQL 执行计划中使用的索引区分度大于阈值
-
使用 TEXT 类型的字段建议和原表进行分拆,与原表主键单独组成另外一个表进行存放 建议在组合索引中将区分度高的字段靠前放
-
JOIN 字段必须包含索引
-
扫描行数超过阈值,筛选条件必须带上主键或者索引
-
查询数据量超过阈值,筛选条件必须带上主键或者索引
-
表行数超过阈值,建议对表进行拆分
-
禁止对索引列进行数学运算和使用函数
-
连接表字段的字符集和排序规则必须一致
-
使用联合索引时,必须使用联合索引的首字段
-
禁止对联合索引左侧字段进行 IN 、OR 操作
# 社区版
新功能:
-
[#1743] 新增 MySQL 审核规则
-
[#1764] MyBatis 智能扫描任务支持所有类型的数据源
-
[#1767] 支持导出智能扫描任务的审核报告
-
[#1783] 新增 MySQL 审核规则
-
[#1811] 页面上新增 SQL 审核功能
优化:
-
[#1733] UI 对所有资源名称长度限制放宽到 120 个字符
-
[#1768] 查看工单列表时,支持对工单描述使用模糊搜索
Bug 修复:
-
[#1756] 修复开启钉钉对接后,关闭工单会导致 panic 的问题
-
[#1830][#1832] 修复 MySQL 审核时如果 SQL 内切换过 schema,导致审核异常的问题
# 企业版
新功能:
-
[#901] 支持通过飞书审批工单
-
[#916] TDSQL 新增审核规则
-
[#943] 新增 SQL 全生命周期管控功能
-
[#958] 新增审核规则的知识库功能
-
[#974] 智能扫描支持对 TDSQL 进行库表元数据扫描
-
[#982] 新增 TDSQL 审核规则
优化:
-
[#931] 优化 MySQL 慢日志文件类型的智能扫描任务