别再让你的工程师用 Navicat 连数据库了

Navicat 是一款历史悠久的图形化数据库客户端。

别再让你的工程师用 Navicat 连数据库了_第1张图片

其第一个版本推出于 2001 年,从一开始支持 MySQL,后来又陆续支持了 MariaDB, MongoDB, Oracle, SQLite, PostgreSQL 以及 Microsoft SQL Server。Navicat 可以同时在 Windows, Mac 还有 Linux 上运行,但从界面可以看出,Navicat 采用的是桌面端技术开发的,而不是当下更主流的 Web 端技术。

别再让你的工程师用 Navicat 连数据库了_第2张图片

经过 20 多年的积累,单就操作数据库而言,Navicat 的产品能力属于其中的佼佼者。虽然它的界面有些陈旧,但是功能齐全,整体操作体验流畅 ,所以在用户中有相当不错的口碑。但作为一款纯客户端单机桌面软件,Navicat 也有自身的局限性。

需要分发数据库用户名密码

作为一款客户端软件,Navicat 要访问数据库进行操作,就需要知道数据库的用户名、密码。研发使用 Navicat,DBA 就得把数据库用户名、密码给到他们。这样导致了数据库访问操作权限散落在各处,对于企业的数据安全和数据库稳定性都是巨大的隐患。

没有精细化的数据访问控制

既然数据库密码都直接交出来了,就自然也不会有更加精细化的访问控制,比如可以访问一个实例下某几个数据库,但禁止访问其余的数据库。

无法做数据脱敏

同样也是因为数据库密码都直接交出来,所有数据都能看到。要么就是完全不给数据库密码,不让用户访问数据,但那样往往又不可行。

缺少审计日志 Audit Log

同样因为是客户端软件,DBA 无法知道谁干了什么(如果 DBA 给每一个用户分配单独的数据库用户名、密码,通过数据库引擎的日志还是可以看到的,但现实中数据库账号通常都是共享的)。

缺少流程化的变更流程

使用 Navicat 做数据库变更是很方便,在它的 SQL 编辑器里写一条 UPDATE, ALTER TABLE 提交。但快有快的问题,要是连错数据库,或者敲错 SQL 语句 (比如变更忘加 WHERE),就会带来灾难性后果。

盗版泛滥

Navicat 价格不便宜,相对全面的 Premium 版本,一个证书 1 年的订阅费是 5999 RMB,永久许可是 11999 RMB。

别再让你的工程师用 Navicat 连数据库了_第3张图片

即使是一个精简版的永久证书,售价也要 2899 RMB。

别再让你的工程师用 Navicat 连数据库了_第4张图片

相对高昂的价格使得 Navicat 的盗版问题也很严重。

别再让你的工程师用 Navicat 连数据库了_第5张图片

软件供应链安全

盗版除了给公司带来法律问题,另外还有软件供应链安全问题 (Software Supply Chain Security)。网上有些 Navicat 破解版是被安转了后门的,一旦用户使用这样的 Navicat 去访问数据库,这个数据库就已经沦陷了。

下图是在一个数据库群里看到的真实案例 。

别再让你的工程师用 Navicat 连数据库了_第6张图片

Navicat 是一款优秀的数据库客户端工具,但因为它本身客户端的限制,缺乏管控能力,使得它无法达到企业中操作数据库时,对于安全管控方面的要求。同时又因为 Navicat 本身的定价策略,导致了盗版横行,又给企业带来了法律和软件供应链安全的双重风险。

Bytebase 的解决之道

别再让你的工程师用 Navicat 连数据库了_第7张图片

Bytebase 作为一款基于 Web 技术,有服务端能力的产品,则刚好可以弥补 Navicat 在企业协同场景中的缺陷。

SQL 编辑器 (只读模式)

别再让你的工程师用 Navicat 连数据库了_第8张图片

SQL 编辑器 (管理员模式)

别再让你的工程师用 Navicat 连数据库了_第9张图片

数据库变更审核流程(变更模式)

别再让你的工程师用 Navicat 连数据库了_第10张图片

数据脱敏

别再让你的工程师用 Navicat 连数据库了_第11张图片

数据库访问限制

别再让你的工程师用 Navicat 连数据库了_第12张图片

常用 SQL 脚本保存和团队间共享

别再让你的工程师用 Navicat 连数据库了_第13张图片

和 GitLab / GitHub 集成,从代码仓库中同步 SQL 脚本

别再让你的工程师用 Navicat 连数据库了_第14张图片

日志审计

别再让你的工程师用 Navicat 连数据库了_第15张图片

SQL 规范约束

别再让你的工程师用 Navicat 连数据库了_第16张图片

Bytebase 和 Navicat 对比

Bytebase 和 Navicat 都提供了可视化界面,可以让用户操作数据库,核心区别在于,Bytebase 在数据库的查询,变更和管理员操作上都添加了一层额外的管控能力。

别再让你的工程师用 Navicat 连数据库了_第17张图片

另外 Bytebase 的代码是开源的,定价则是基于数据库实例数,对于员工数远高于数据库实例数的公司来说,在价格上就更有竞争力。

当然最核心的还是适用场景的不同,Navicat 面向个人,Bytebase 面向团队。如果是个人项目需要操作数据库,Navicat 是一款能力全面,体验流畅的数据库客户端软件。但是一旦来到企业场景,需要 DBA 和开发人员协作,需要 DBA 对整个公司的数据库访问权限,查询,变更等操作进行统一管控时,还是需要像 Bytebase 这样在数据库操作能力之上,可以承载管控能力的产品。


你可以访问官网,免费注册云账号,立即体验 Bytebase。

你可能感兴趣的:(数据库,运维,DBA,开发者,数据库管理,DevOps)