目录

Archery开源一站式的数据库-SQL-审核与运维平台

Archery:开源、一站式的数据库 SQL 审核与运维平台

https://i-operation.csdnimg.cn/images/cf31225e169b4512917b2e77694eb0a2.pngArchery:一站式SQL审核平台

01 引言

很多公司在项目发布的时候,都可能伴随着SQL语句的执行,如处理历史数据、修改表字段等。如果SQL的质量不好,很容易导致锁表、同步延迟等异常问题。于是纷纷加入了SQL审核的机制。

SQL的审核原本是由DBA负责的,但是我们没有DBA,只能由有经验的开发人员和运维团队负责。运维团队就使用Archery搭建了SQL审核平台,用于SQL的审核和管理,但是最后由于种种原因没有使用起来。

个人觉得里面的很多功能还是挺好用的,就分享给大家。

02 Archery 简介

https://i-blog.csdnimg.cn/img_convert/ff6313b297b21294a6dc7cedd510f6b0.png

Archery由国内优秀的开源团队开发和维护,它并非某个单一功能的工具,而是一个统一的数据库管理门户。其核心设计理念是通过一个 Web 平台,将分散的数据库管理操作集中化、流程化和自动化。

主要的功能包括了强大的SQL审核与执行、卓越的SQL查询与优化、多数据库类型的支持以及全面的运维管理功能,如实例管理、账号权限、性能监控等。

功能清单一览表:

https://i-blog.csdnimg.cn/img_convert/1d15f3711d4c3a74ba38ff6900233118.png

GitHub地址:

03 环境搭建

本文以Docker的方式部署。

部署地址:https://github.com/hhyo/archery/wiki/docker

3.1 启动

https://i-blog.csdnimg.cn/img_convert/3012f29ab8782e18a02d01791042cfd6.png

安装说明上需要我们自行下载Releases,然后步骤执行脚本即可。但是小编部署下来,发现调了几个小步骤。

我们可以执行通过名命令直接下载:

# 克隆仓库
git clone https://github.com/hhyo/Archery.git

# 进入
cd Archery/src/docker-compose

如图:

https://i-blog.csdnimg.cn/img_convert/e5b1320882e0b5d72176290b2cfda5b3.png

然后就可按照官方文档一步步进行了。过程中可能需要设置用户名和密码,我这里设置的是:superuser/superuser

https://i-blog.csdnimg.cn/img_convert/751669ce94554c454349f1d653279a2f.png

3.2 访问

访问地址:http://IP:9123

需要使用部署时的用户名和密码即可登录。

https://i-blog.csdnimg.cn/img_convert/69ebe27f2234d2cc2d138531a0d2f730.png

3.3 初体验

https://i-blog.csdnimg.cn/img_convert/6cbf939e9642d83f2a84d0cd63dc116d.png

在这个平台有很多的功能:

  • SQL审核
  • SQL查询
  • SQL优化
  • 实例管理
  • 工具插件
  • 系统管理
  • 系统审计
  • OpenAPI

04 主要功能

里面功能不较多,这里介绍一下小编比较喜欢的几个模块。

4.1 实例管理

实例管理就是连接的数据库。我们需要进入后台管理,增加实例。

https://i-blog.csdnimg.cn/img_convert/5fd178137947c4be962845f3f4db5b84.png

进去之后,就可新增实例了。

https://i-blog.csdnimg.cn/img_convert/0409a7918d9d8bac3704fd60dcee7164.png

4.2 SQL审核

SQL审核时工单的形式提交,类似一个工作流。

https://i-blog.csdnimg.cn/img_convert/a5789e15f2d88f7550a1394a4f32727e.png

在这里可以提交新的要执行的SQL

发起工单

发起工单需要在管理后台。完成之后,就可以在审核平台看见了。

https://i-blog.csdnimg.cn/img_convert/e955ef3e8529d5e84063ec20a1ce9e2d.png

4.3 SQL查询

这里就好比一个客户端,

https://i-blog.csdnimg.cn/img_convert/dceb402c1e423cb75b9fec2e2192cb8b.png

这里可以像navicat一样编写SQL且有提示功能。还有表结构,查询结果以及执行的历史记录等。

数据字典更是可以列出表信息以及导出:

https://i-blog.csdnimg.cn/img_convert/d7efc77406cd6bb87087a0333242951f.png

4.4 SQL 优化

这里可以分析SQL语句并给出建议,这无疑是SQL初学者的福音

https://i-blog.csdnimg.cn/img_convert/fb2fb1413b69d48a4194256b0d7f1bcf.png

还可以直接管理慢SQL

05 小结

Archery里面还有很多功能,大家可以自行探索。很多人可能觉得不好用,那是因为没有解决你的痛点。而作为一个免费开源的工具,已经是很良心了,况且功能还很丰富。大家可以根据自己的需求,关注适合自己的模块,可能会带来不一样的收获。