关于运维:别再让你的工程师用-Navicat-连数据库了

4次阅读

共计 1716 个字符,预计需要花费 5 分钟才能阅读完成。

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 这样在数据库操作能力之上,能够承载管控能力的产品。

正文完
 0