数据库 频道

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

  孙健,爱可生研发工程师,负责 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 的更多功能与特性,请访问以下地址:

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

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

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
1
相关文章