Yearning, Archery 和 Bytebase 是目前国内最主流的三个开源 SQL 审核平台。其中 Yearning 和 Archery 是社区性质的项目,而 Bytebase 则是商业化产品。通常调研 Bytebase 的用户也会同时比较 Yearning 和 Archery。
下面我们就来展开对比一下 Yearning 和 Archery。
数据库支持
Yearning 只支持 MySQL,而 Archery 支持多种数据库,不同数据库的功能支持力度有所不同,见下图清单。
主要功能对比
来自双方官网的 Yearning 和 Archery 主要功能对比:
Yearning 界面
Home
工单申请
工单执行
SQL 查询
Archery 界面
Home
工单申请
工单执行
SQL 查询
Image
技术栈
Yearning 前端使用 Vue + AntDesign,后端是 Go,代码仓库是分开来的。后端使用 MySQL 存放 Yearning 自己的元数据。审核能力用的是自己闭源的 Juno。
Archery 前端是 jQuery + bootstrap,后端是 Python/Django,代码在同一个仓库中。后端使用存放 Archery 自己的元数据,另外还依赖 Redis 提供任务队列和缓存。审核能力用的是另一个开源项目 goInception。
开源证书
Yearning 采用了 AGPL,Archery 采用 Apache 2.0。在证书上 Archery 的证书更加友好。AGPL 有一定法律风险,比如 Google 内部是完全禁用 AGPL 项目的。
不过 Yearning 对于二开做了补充声明,明确了内部使用和二开没有问题。
总结
Yearning 和 Archery 的作者都是具备开发能力的 DBA,基于日常工作中碰到的 SQL 审核痛点,研发了工具,并且开源了出来,造福社区。Yearning 的技术栈和界面更加现代。从功能上来看,Yearning 聚焦在 MySQL 的 SQL 审核,而 Archery 支持多种数据库以及更加全面的功能。
Yearning 和 Archery 都是社区项目,不提供商业化版本。通常企业需要基于 Yearning 和 Archery 进行二次开发才能投产。Bytebase 和 Yearning / Archery 一样都是开源项目,三者 Star 数的对比👇
Bytebase 提供了社区版,专业版和企业版,每两周进行一次更新,并且提供商业支持。功能上,除了 SQL 审核和查询外,Bytebase 还提供一系列的安全治理,以及和研发流程集成的 DevOps 能力。
🔍 具体可以参考 Bytebase 和 Yearning 以及 Archery 的详细对比:
- Bytebase vs Yearning
- Bytebase vs Archery
💡 更多资讯,请关注 Bytebase 公号:Bytebase