跳到主要内容

NineData vs Flyway

NineData 和 Flyway 都是数据库 DevOps 领域的产品,Flyway 主打变更版本管理能力,NineData 是更通用的数据库 DevOps 平台,强调提升数据库使用效率和安全。

NineData 提供了 SaaS 模式下,数据库 DevOps 专业版 10 数据源规格的永久免费版本,注册就可以使用,不需要准备应用服务器和数据库硬件,对于中小团队非常方便。

Flyway 开源,免费版本提供了基础功能,高级功能需要付费升级到专业版或者企业版。

功能对比

功能类别功能FlywayNineData
基础能力部署模式本地部署Cloud(SaaS)、本地部署
是否开源开源,Apache 协议,提供基础功能,高级功能需要付费升级到专业版或者企业版不开源,10 个数据库实例以内免费(Cloud 模式),超过10个收费
支持数据源3360
云平台适配不支持阿里云、腾讯云、华为云、百度云、移动云、AWS、GCP
登录模式❌通过 Git 软件集成账号密码、SSO(LDAP)、微信
支持语言英文 中文、英文
数据库 DevOpsSQL 窗口支持
对象可视化管理支持表、视图、存储过程、函数、触发器、事件
查询结果集操作查看、修改、搜索、过滤、导出
会话隔离支持
SQL 审核与发布SQL 变更发布支持支持
变更自动备份支持
审批流程❌通过 Git 等集成支持支持
OnlineDDL支持
OnlineDML支持
内置 SQL 规范10+100+
移动审批支持
发布流程编排支持
数据安全敏感数据保护支持
权限授权模式管理员授权、用户主动申请
权限模型用户、角色、数据源、环境分组
操作审计❌通过 Git 等集成支持支持
高级数据处理数据导入支持
数据导出支持
数据归档支持
数据追踪支持 MySQL
数据库联合查询支持
性能诊断慢 SQL 性能分析支持
会话管理支持
其他AI 大模型集成支持 Text2SQL、AI SQL 诊断、ChatDBA

差异明细一:产品安装部署模式

  • NineData:默认推荐 Cloud(SaaS)模式,可以在官网注册账号,开箱即用,对于数据合规要求较高的企业提供本地部署模式(需要准备应用服务器和数据库服务器)。

  • Flyway:开源产品,采用本地安装部署模式(需要准备应用服务器和数据库服务器)

差异明细二:是否开源免费

  • NineData:代码不开源,Cloud 平台提供数据库 DevOps 专业版 10 数据源永久免费,超过 10 个需要付费。

  • Flyway:开源,协议为 Apache,高级功能需要付费升级到团队版或企业版。

差异明细三:支持数据库类型

  • NineData:支持 MySQL、Oracle、PostgreSQL、SQLServer、MongoDB、达梦、OceanBase、PolarDB、AWS Aurora、ClickHouse、Doris 等 60 余种数据库。

  • Flyway:支持 MySQL、PostgreSQL、Oracle、SQLServer、Redis、MongoDB、SQLite、Snowfalke、TiDB 等 30 种数据库。

差异明细四:支持云平台

  • NineData:支持阿里云、华为云、腾讯云、百度云、移动云、AWS 等主流云平台,支持通过 VPC 打通私网连接,对接云平台 API 自动获取云数据库信息,无需用户手动录入。

  • Flyway:不支持。

差异明细五:SQL 窗口

SQL 编辑窗口是开发者操作数据库最核心的功能,类似数据库客户端功能。

  • NineData:提供了类似 Navicat、DBeaver 类似的操作体验,支持完整的对象导航,以及表、视图、存储过程等各种对象的可视化操作,SQL 编辑智能提示更精准高效,结果集支持编辑、复制、搜索、排序、导出等更丰富的操作。企业使用 NineData 后,可以免去安装各种数据库的客户端工具的烦恼。

    output

  • Flyway:主体功能是版本管理,不提供 SQL 客户端功能。

差异明细六:SQL 审核与发布

  • Flyway:根据用户提供的 SQL 变更脚本和数据库配置信息,分发到开发、测试、生产等各个环境,flyway 提供自动版本执行检测能力,能够保障各个环境的数据库变更到指定版本,flyway 收费版提供了回滚以及结构和数据对比等高级能力。

  • NineData:提供了 GUI 可视化的 SQL 变更发布流程,也支持通过研发流程编排实现开发、测试、生产各个环境的变更管理,目前,NineData 还没有很具体的版本概念。

对比 Flyway,NineData 在上述功能的基础上,还具备如下优势:

  • OnlineDML:对于大批量数据订正非常有价值,因为大批量数据库订正可能会影响业务,需要 DBA 转换为分批执行,NineData 内置了自动化的 OnlineDML 能力,可以有效提升操作效率并提升数据库稳定性。
  • OnlineDDL:支持 MySQL 数据库 DDL 不锁表变更。
  • SQL 任务暂停:SQL 任务的执行过程中,支持用户手动进行暂停。

差异明细七:SQL 开发规范

SQL 开发规范是企业数据库研发规范的重要组成,如主键、字段类型、字段命名规范等等,传统客户端工具不提供这类功能,是数据库 DevOps 产品的核心能力之一。

  • NineData:支持 100+ 条审核规范。

  • Flyway:支持 10+ 条审核规范。

差异明细八:敏感数据保护

数据库中通常会保存业务敏感数据,例如客户电话、银行卡号等,传统客户端不提供敏感数据脱敏保护,很容易引起敏感数据泄露,NineData 和 Flyway 都提供了数据脱敏能力。

  • NineData:提供了非常严谨的敏感数据保护和识别能力,各种复杂 SQL 都可以自动脱敏保护。

    image

  • Flyway:不支持。

差异明细九:权限受理模式

  • NineData:提供了管理员在后端授予和用户主动申请权限的能力。
  • Flyway:没有自己的权限体系,需要集成在其他系统。

差异明细十:多语言支持

  • NineData:中文、英文。
  • Flyway:英文。

NineData 支持,而 Flyway 没有的高级功能

  • 数据导入:适合大批量数据导入到数据库,单个文件支持 5 GB,支持 SQL 脚本或者 CSV 文件格式。

    image (2)

  • 数据导出:适合快速导出数据数据,支持数据自动导出脱敏,支持选择整个库、多个表或者通过 SQL 语句导出。

    image (3)

  • 数据归档:适用于历史数据的归档清理,可以配置清理规则和定时执行(Flyway 可以通过 pt-archive 插件支持 MySQL 数据库)。

    image (4)

  • 数据追踪:支持数据变更历史追踪查询,适合误操作后快速回滚处理,当前支持 MySQL 数据库。

    image-20240419170152481

  • 会话管理:支持数据库实时会话状态查询,Kill 会话,按客户端、登录用户、会话状态分组统计。

    image (5)

  • 慢 SQL 管理:支持自动采集、分析、诊断数据库历史执行的 SQL。

    image (6)

  • 研发流程编排:提供数据库 CI/CD 能力,支持企业根据研发流程配置开发、测试、生产等各个环境的数据库发布流程。

    image-20240329172632671

  • AI 大模型集成:基于大模型 AI 技术,提供自然语言生成 SQL、SQL 智能优化、ChatDBA 等创新能力。

    image (7)