查看原文
其他

Bytebase vs Flyway

cy Bytebase 2023-05-09

Bytebase 和 Flyway 都能为开发人员提供数据库版本控制和变更的能力,但两者在产品定位,产品形态,具体功能和使用方法上等方面都有较大的差异的。本文将对这两个工具进行多个维度的对比。

产品功能定位
Flyway:一个老牌数据库变更版本管理工具,核心能力是将变更脚本发布到数据库,并做好脚本的版本化管理,在被 Redgate 收购后,新能力越来越偏向优先对 SQL Server 的支持。
Bytebase:以 DevOps 理念打造,面向开发者与 DBA 的一站式数据库 CI/CD 工具,提供了围绕数据库变更管理与安全查询的一系列专业能力,并实现了与上下游研发工具预集成。

Flyway 和 Bytebase 都是开源项目,Flyway 作为老牌工具在 GitHub 上积累了更多的星星,而 Bytebase 的增长很快。

产品形态
Flyway:本质是一个命令行工具,近年开始提供一个简单的单机 GUI 界面用于开发工作,生产环境仍然是命令行。
Bytebase:基于 Web 的全图形界面,可以在任意电脑打开,同时提供 API 接口、Terraform provider、命令行等多种模式应对不同研发管理流程。

主要功能对比

部分功能详细对比


1. 变更流程展示
Flyway

Flyway 只能通过命令行执行,或者集成到应用代码中一起发布,并不提供变更流程展示。

flyway -url=jdbc:mysql://localhost/mydatabase -user=myuser -password=mypassword -locations=filesystem:/path/to/sql/migrations migrate

如果需要进行流程展示,需要与 Jenkins 等第三方工具集成。


Bytebase

工单驱动的变更发布。
多环境的流水发布。


2. 变更结果分析


Flyway

需要通过命令行生成相应的离线报告,记录了已安装的脚本的版本、描述、状态和执行时间等。

flyway -url=jdbc:mysql://localhost/mydatabase -user=myuser -password=mypassword -locations=filesystem:/path/to/sql/migrations info


Bytebase

图形化查看变更历史。
下钻后清晰的可视化展示差异对比,同时可以查看变更后的完整表结构。

3. SQL 审核

Flyway

在脚本日志中展示。

Bytebase

可以在 GitLab/GitHub 提交代码时开发者进行 SQL 预审核。
执行前的实时审核。

4. 审核规范配置
Flyway
不支持图形化配置,只能选择是否激活。

Bytebase

支持多种数据库,可选择可过滤,同时可保存为模板用于不同环境不同数据库,同时可以选择规范的告警级别。

5. SQL 查询客户端

Flyway

无相关能力。

Bytebase

支持访问控制与查询脱敏的查询客户端。


Bytebase X Pigsty: 管理 PG 的最佳实践|活动回顾(含视频)
业界数据库工具结合 ChatGPT 的(不完全)汇总
Bytebase 新手村之 ChatGPT 任务总结
贝斯的圆桌趴|Bytebase X Pigsty:管理 PG 的最佳实践

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存