你好,游客 登录
背景:
阅读新闻

SQL审核 | 如何用 SQLE 自动审核 Java 应用

[日期:2022-03-10] 来源:  作者: [字体: ]

孙健,爱可生研发工程师,负责 SQLE 相关开发;张强:爱可生研发中心成员,后端研发工程师,目前负责 DMP 产品 Redis 相关业务开发。

一. SQLE 介绍

SQLE 是一款由爱可生开源社区发起,面向数据库开发与管理人员,实现了 SQL 的「开发」-「测试」-「上线」等全流程覆盖,资源与权限精细化管理,兼顾简洁与高效,易维护、易扩展的的开源项目,旨在为用户提供一套的安全可靠、自主可控的 SQL 质量管控方案。

在二月份发布的 1.2202.0 版本中:

● 改造了用户系统,新增用户组和操作权限;

● 增加对工单审核结果进行评分的功能;

● 增加审核任务,支持 MySQL 的库表结构、Oracle 的 TopSQL以及 Java 应用的 SQL 抓取和审核;

● 增加了 Db2 审核插件,支持 Db2 审核工单并上线;

● 新增了 37 条 MySQL 审核规则,如检查 DDL 是否创建了冗余的索引;

● 其他体验优化和 Bug 修复。

其他细节信息,可以访问:https://github.com/actiontech/sqle/releases/tag/v1.2202.0 。

二. Java 应用审核介绍

(友情提示:此为企业版功能)考虑到很多用户在实际生产中已经部署了大量的、以 Java 为基础的应用和服务,并且某些已经涉及到了很重要、不可中断的核心业务。从 1.2202.0 版本开始,SQLE 开始支持 Java 应用的 SQL 审核。并且在完成核心功能的基础上,支持 Java 应用零成本接入 。

SQLE 的 Java 审核特性如下:

● 支持无侵入式的业务集成,用户可以直接以环境变量的方式运行来启动 Java 应用,直接接入 SQLE 而无需修改 Java 业务代码,减少了用户接入成本;

● 支持应用 SQL 的自动采集和统计,用户可以在 SQLE 上通过语句池页面统览应用内的 SQL 的分类与统计,迅速掌握应用内 SQL 的情况;

● 支持手动或自动审核 SQL ,用户可以在审核报告中知晓应用的 SQL 是否符合预设的审核规则,无论是开发人员还是 DBA 都能实时了解正在运行的业务 SQL 执行状况。

三. 效果展示

1. 事先部署好环境、需要接入的 Java 应用以及对应的数据库,并添加为数据源。为了演示,此处 Java 项目为 https://gitee.com/surveyking/surveyking ;

2. 创建 Java 应用的审核任务;

3. 启动应用程序;

SQLE_COLLECT_ENABLE=true \SQLE_HOST=XX.XX.XX.XX:10000 \

SQLE_TASK_NAME=surveryking_test \

SQLE_TASK_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcG4iOiJqd19hcHAiLCJleHAiOjE2NzcyMjYxNzcsIm5hbWUiOiJhZG1pbiJ9.3d0pA1hiVnFEWJokSFBwCT8d1pKOYV6SViENj4GFqgI \

java -jar surveyking-v0.3.0-beta.4.jar \

--server.port=1991 \

--spring.datasource.url=jdbc:mysql://XX.XX.XX.XX:3306/surveyking \

--spring.datasource.username=root \

--spring.datasource.password=xxxxxx \

& >>/opt/surveyking/std.log

4. 查看 SQLE 审核任务详情界面,可以看到目前应用已经执行的 SQL ;

5. 查看审核报告,用户可以通过审核任务的审核报告了解到应用的 SQL 是否符合预设审核规则以便及时作出调整。

6. 在示例 Java 应用主页创建一个用户,然后便可以在审核任务对应的 SQLE 语句池内观察到所对应的 INSERT 语句。

7. 同时,用户可以从语句池内页面迅速地感知到应用内执行的 SQL 的语句分类和统计情况。

综合以上的示例步骤,Java 应用零成本地接入了 SQLE。开发人员和 DBA 可以通过「审核报告」、「审核任务的 SQL 语句池」等功能完全掌握应用内的 SQL 审核结果、执行情况以及统计信息,完成了从「开发」直至「上线」这一过程中的 SQL 质量管控。

如果想进一步了解 SQLE 的更多功能与特性,请访问以下地址:

类型

地址

版本库

https://github.com/actiontech/sqle

文档

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

发布信息

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

本文关键字:#SQLE# #SQL审核##Java应用审核# #审核任务#

有更多关于 SQLE相关的技术问题,可以扫码或直接加入官方QQ技术交流群(637150065)进行交流。欢迎大家来“骚扰”...





收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻       Java  SQL 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款