乐趣区

关于sql: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…。

二.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/…;
  2. 创立 Java 利用的审核工作;

  1. 启动应用程序;
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
  1. 查看 SQLE 审核工作详情界面,能够看到目前利用曾经执行的 SQL;

  1. 查看审核报告,用户能够通过审核工作的审核报告理解到利用的 SQL 是否合乎预设审核规定以便及时作出调整。

  1. 在示例 Java 利用主页创立一个用户,而后便能够在审核工作对应的 SQLE 语句池内察看到所对应的 INSERT 语句。

  1. 同时,用户能够从语句池内页面迅速地感知到利用内执行的 SQL 的语句分类和统计状况。

综合以上的示例步骤,Java 利用零老本地接入了 SQLE。开发人员和 DBA 能够通过「审核报告」、「审核工作的 SQL 语句池」等性能齐全把握利用内的 SQL 审核后果、执行状况以及统计信息,实现了从「开发」直至「上线」这一过程中的 SQL 品质管控。

如果想进一步理解 SQLE 的更多功能与个性,请拜访以下地址:

| 类型 | 地址 |
| — | — |
| 版本库 | https://github.com/actiontech… |
| 文档 | https://actiontech.github.io/… |
| 公布信息 | https://github.com/actiontech… |

退出移动版