6k Star! 开源SQL审核查询与优化平台

文摘   2024-10-19 09:22   辽宁  

6k Star! 开源SQL审核查询与优化平台

Archery 简介

Archery 是一个开源的 SQL 审核查询平台,主要用于简化和自动化 SQL 相关的审批、执行、查询及优化过程。它支持多种数据库类型,提供多种 SQL 审核与优化工具,帮助团队提高数据库操作的效率和安全性。平台集成了自动审批、权限管理、脱敏查询等功能,能够有效降低人为错误并加速 SQL 工单的处理流程。

同时支持Docker快速部署。

支持范围

Archery 支持广泛的数据库系统,包括 MySQL、MsSQL、Redis、PostgreSQL、Oracle、MongoDB、Phoenix 等。平台提供跨数据库的权限管理、审核执行、查询和优化支持,旨在为不同规模的数据库环境提供高效便捷的解决方案。

支持功能清单

SQL审核

SQL审核是 Archery 的核心功能之一,支持 MySQL 和其他非MySQL数据库的工单提交、审批和执行。其功能包括:

MySQL实例

  • • 基于 Inception 或 goInception 实现

  • • 集成审核、执行、备份等流程

  • • 可支持 MySQL 数据库的 SQL 工单处理,并提供自动化审核工具

非MySQL实例

  • • 支持提交和执行工单,工单流程通过工作流实现自动化

  • • 提供对其他数据库系统(如 MsSQL、PostgreSQL、MongoDB 等)的工单管理功能

审核执行分离

  • • 允许不同用户分别承担 SQL 工单的审批与执行职责

  • • 提供更加安全与分离的操作环境,降低潜在的错误和安全风险

SQL工单自动审批、高危语句驳回

  • • 支持通过正则表达式自动判断 SQL 工单是否需要人工审批

  • • 对不符合正则规则的 SQL 工单自动驳回,降低安全隐患

  • • 系统允许用户配置自主驳回策略,支持对高危语句的自动驳回与警告

快速上线其他实例

  • • 支持 SQL 工单快速复制到其他实例

  • • 适用于多环境场景下的 SQL 管理需求(如测试环境到生产环境的迁移)

定时执行

  • • 审核通过的 SQL 工单可选择定时执行或立即执行

  • • 支持对 SQL 执行时间的灵活控制,确保在合适的时间段执行重要操作

SQL查询

SQL查询功能旨在提供对多种数据库的安全、高效查询支持。

多类型数据库支持

  • • 支持 MySQL 表级授权,查询结果可以进行脱敏

  • • MsSQL、PostgreSQL、Oracle 等多种数据库类型的库级授权,支持脱敏查询

  • • 还支持 Redis、MongoDB、Phoenix、ClickHouse 等非关系型数据库的查询

  • • 支持部分语句的动态查询脱敏,保护数据隐私

授权管理

  • • 使用工作流控制 SQL 查询的授权过程

  • • 支持库表级别的权限控制,以及对查询结果集的权限限制

  • • 支持查询结果导出,并提供查询日志审计功能,确保合规性

  • • 用户权限可以由管理员通过前台界面管理与维护

SQL优化

SQL优化功能为数据库性能提升提供了全方位支持。

慢日志管理

  • • 基于 Percona Toolkit(PT)收集慢查询日志

  • • 需要单独部署 PT 工具进行慢查询日志的管理

  • • 慢日志的分析有助于识别数据库性能瓶颈

SQL语句优化

  • • 提供 SQLAdvisor、SOAR、SQLTuning 等工具,生成 SQL 优化建议

  • • 全方位覆盖 SQL 语句的优化场景,帮助 DBA 更快发现和解决性能问题

部分功能截图

在线查询

在线查询界面提供了对多个数据库的便捷查询方式,用户可以根据自身权限在不同的库中进行脱敏查询。

SQL优化工具

SQL优化工具帮助开发人员和 DBA 自动生成优化建议,进一步提高查询性能。

慢查询日志

慢查询日志页面展示了系统收集到的慢查询 SQL 信息,有助于分析数据库性能瓶颈。

实例管理

实例管理界面提供了对多种数据库实例的统一管理支持,管理员可以方便地监控和维护各个数据库实例的状态。

GitHub地址:https://github.com/hhyo/Archery

使用文档:https://github.com/hhyo/Archery/wiki

欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。



编程与架构
专注于Java、大数据、AI以及开发运维技术的深入探索与分享。作为一名开源爱好者,致力于分享实战经验和前沿技术动态,帮助更多技术人提升技能。
 最新文章