Navicat 是一款历史悠久的图形化数据库客户端。其第一个版本推出于 2001 年,从一开始反对 MySQL,起初又陆续反对了 MariaDB, MongoDB, Oracle, SQLite, PostgreSQL 以及 Microsoft SQL Server。Navicat 能够同时在 Windows, Mac 还有 Linux 上运行,但从界面能够看出,Navicat 采纳的是桌面端技术开发的,而不是当下更支流的 Web 端技术。
通过 20 多年的积攒,单就操作数据库而言,Navicat 的产品能力属于其中的佼佼者。尽管它的界面有些古老,然而功能齐全,整体操作体验晦涩 ,所以在用户中有相当不错的口碑。但作为一款纯客户端单机桌面软件,Navicat 也有本身的局限性。
Navicat 的问题
须要散发数据库用户名明码
作为一款客户端软件,Navicat 要拜访数据库进行操作,就须要晓得数据库的用户名、明码。研发应用 Navicat,DBA 就得把数据库用户名、明码给到他们。这样导致了数据库拜访操作权限散落在各处,对于企业的数据安全和数据库稳定性都是微小的隐患。
没有精细化的数据访问控制
既然数据库明码都间接交进去了,就天然也不会有更加精细化的访问控制,比方能够拜访一个实例下某几个数据库,但禁止拜访其余的数据库。
无奈做数据脱敏
同样也是因为数据库明码都间接交进去,所有数据都能看到。要么就是齐全不给数据库明码,不让用户拜访数据,但那样往往又不可行。
短少审计日志 Audit Log
同样因为是客户端软件,DBA 无奈晓得谁干了什么(如果 DBA 给每一个用户调配独自的数据库用户名、明码,通过数据库引擎的日志还是能够看到的,但事实中数据库账号通常都是共享的)。
短少流程化的变更流程
应用 Navicat 做数据库变更是很不便,在它的 SQL 编辑器里写一条 UPDATE, ALTER TABLE 提交。但快有快的问题,要是连错数据库,或者敲错 SQL 语句 (比方变更忘加 WHERE),就会带来灾难性结果。
盗版泛滥
Navicat 价格不便宜,绝对全面的 Premium 版本,一个证书 1 年的订阅费是 5999 RMB,永恒许可是 11999 RMB。
即便是一个精简版的永恒证书,售价也要 2899 RMB。
绝对昂扬的价格使得 Navicat 的盗版问题也很重大。
软件供应链平安
盗版除了给公司带来法律问题,另外还有软件供应链平安问题 (Software Supply Chain Security)。网上有些 Navicat 破解版是被安转了后门的,一旦用户应用这样的 Navicat 去拜访数据库,这个数据库就曾经失陷了。
下图是上周在一个数据库群里看到的实在案例。
Navicat 是一款优良的数据库客户端工具,但因为它自身客户端的限度,不足管控能力,使得它无奈达到企业中操作数据库时,对于平安管控方面的要求。同时又因为 Navicat 自身的定价策略,导致了盗版横行,又给企业带来了法律和软件供应链平安的双重危险。
Bytebase 的解决之道
Bytebase 作为一款基于 Web 技术,有服务端能力的产品,则刚好能够补救 Navicat 在企业协同场景中的缺点。
SQL 编辑器 (只读模式)
SQL 编辑器 (管理员模式)
数据库变更审核流程(变更模式)
数据脱敏
数据库拜访限度
罕用 SQL 脚本保留和团队间共享
和 GitLab / GitHub 集成,从代码仓库中同步 SQL 脚本
日志审计
SQL 标准束缚
Bytebase 和 Navicat 比照Bytebase 和 Navicat 都提供了可视化界面,能够让用户操作数据库,外围区别在于,Bytebase 在数据库的查问,变更和管理员操作上都增加了一层额定的管控能力。
另外 Bytebase 的代码是开源的,定价则是基于数据库实例数,对于员工数远高于数据库实例数的公司来说,在价格上就更有竞争力。当然最外围的还是实用场景的不同,Navicat 面向集体,Bytebase 面向团队。如果是集体我的项目须要操作数据库,Navicat 是一款能力全面,体验晦涩的数据库客户端软件。然而一旦来到企业场景,须要 DBA 和开发人员合作,须要 DBA 对整个公司的数据库拜访权限,查问,变更等操作进行对立管控时,还是须要像 Bytebase 这样在数据库操作能力之上,能够承载管控能力的产品。