共计 1866 个字符,预计需要花费 5 分钟才能阅读完成。
作者:孙健、张强
孙健,爱可生研发工程师,负责 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 执行情况。
三. 成果展现
- 当时部署好环境、须要接入的 Java 利用以及对应的数据库,并增加为数据源。为了演示,此处 Java 我的项目为 https://gitee.com/surveyking/…;
- 创立 Java 利用的审核工作;
- 启动应用程序;
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
- 查看 SQLE 审核工作详情界面,能够看到目前利用曾经执行的 SQL;
- 查看审核报告,用户能够通过审核工作的审核报告理解到利用的 SQL 是否合乎预设审核规定以便及时作出调整。
- 在示例 Java 利用主页创立一个用户,而后便能够在审核工作对应的 SQLE 语句池内察看到所对应的 INSERT 语句。
-
同时,用户能够从语句池内页面迅速地感知到利用内执行的 SQL 的语句分类和统计状况。
综合以上的示例步骤,Java 利用零老本地接入了 SQLE。开发人员和 DBA 能够通过「审核报告」、「审核工作的 SQL 语句池」等性能齐全把握利用内的 SQL 审核后果、执行状况以及统计信息,实现了从「开发」直至「上线」这一过程中的 SQL 品质管控。
如果想进一步理解 SQLE 的更多功能与个性,请拜访以下地址:
| 类型 | 地址 |
| — | — |
| 版本库 | https://github.com/actiontech… |
| 文档 | https://actiontech.github.io/… |
| 公布信息 | https://github.com/actiontech… |