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