一、什么是 Archery?

Archery 是一款开源的数据库管理和 SQL 审核工具,专为企业环境中的数据库操作优化而设计。它支持常见数据库如 MySQL、PostgreSQL、SQLServer 和 MongoDB 等,并通过内置的权限管理、工单流转和 SQL 审核等功能,实现对数据库操作的高效管控。
在这里插入图片描述

二、核心功能
  1. SQL 审核与执行
    Archery 提供了强大的 SQL 审核功能,可以对提交的 SQL 语句进行语法、性能以及风险检查,帮助 DBA 提前发现潜在问题。审核通过的 SQL 可直接通过工单流转到数据库执行。

  2. 工单系统
    用户可以通过工单提交数据库相关的操作请求,如数据查询、修改、删除等。工单经过审批后,支持一键执行,确保操作规范性。

  3. 权限管理
    Archery 支持基于用户角色的权限管理,确保不同角色的用户只能访问其授权的数据库和数据表。权限管理可以防止数据误操作或未经授权的访问。

  4. 慢查询分析
    Archery 提供对慢查询日志的分析能力,帮助优化数据库性能,识别和解决性能瓶颈。

  5. 数据脱敏
    针对敏感数据,Archery 支持自动数据脱敏,以保障数据安全性,特别是在测试或分析环境中。

  6. 定时任务
    Archery 支持定时任务功能,用户可以安排定时执行 SQL 脚本,例如定期清理过期数据或生成统计报表。

三、适用场景
  1. 企业数据库管理
    适用于中大型企业的数据库日常管理,特别是需要频繁执行和审核 SQL 的场景。

  2. 开发与测试环境
    在开发和测试环境中,Archery 可以帮助管理数据库访问权限,并确保对生产数据库的操作安全。

  3. 数据库性能优化
    Archery 的慢查询分析和优化建议功能非常适合需要持续监控和优化数据库性能的场景。

四、安装与配置
  1. 环境准备
    安装 Archery 前需要准备以下环境:

    • Python 3.7+
    • MySQL/MariaDB 数据库
    • Redis 缓存
    • 前端运行需要 Node.js 和 npm
  2. 安装步骤

    • 克隆代码仓库:
      git clone https://github.com/hhyo/Archery.git
      cd Archery
      
    • 安装依赖:
      pip install -r requirements.txt
      
    • 配置数据库:
      修改 settings.py 中的数据库连接配置,初始化数据库:
      python manage.py migrate
      
    • 启动服务:
      python manage.py runserver
      
  3. 前端部署
    前端代码位于 sql/templates 目录中,使用 npm 安装依赖后可通过 webpack 构建。

  4. 访问与配置
    启动服务后,默认访问地址为 http://127.0.0.1:8000。首次登录需要配置管理员账号以及数据库连接信息。

五、使用技巧
  1. 自定义审核规则
    Archery 支持自定义 SQL 审核规则。管理员可以根据企业的数据库使用规范,配置专属的审核策略,从而更好地避免低效或危险的操作。

  2. 结合企业 LDAP/AD 系统
    Archery 支持 LDAP 和 Active Directory 集成,方便企业用户使用统一账号登录。

  3. 监控和优化建议
    借助 Archery 的慢查询分析功能,及时识别影响性能的问题,并根据系统优化建议进行调整。

六、优缺点分析

优点:

  • 功能全面:从 SQL 审核到权限管理,涵盖企业数据库管理的多个关键环节。
  • 开源免费:相比其他商业工具,Archery 是完全免费的,便于二次开发和扩展。
  • 易于集成:支持多种数据库和企业常用的用户认证方式。

缺点:

  • 部署复杂度较高:对于初学者来说,Archery 的安装和配置可能需要一些时间和经验。
  • 社区活跃度:尽管开源,但部分问题的社区支持可能较慢。
七、总结

Archery 是一款功能强大且实用的数据库管理工具,特别适合中大型企业的数据库管理需求。通过使用 Archery,可以显著提升 SQL 操作的规范性、安全性和效率,同时减少人为错误的风险。如果您的企业正面临数据库操作复杂、审核不足的问题,不妨尝试引入 Archery 来优化管理流程。
类似工具还有:https://github.com/cookieY/Yearning

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐