我名叫Robert Gravelle,在我担任 IT 顾问的早期,我依靠各种开源工具来完成我的工作。我的理由是,我节省购买商业产品的成本。几年后,我才意识到商业产品实际上可以通过简化和自动化定期执行的许多常见工作来节省时间和金钱。
在我担任 IT 顾问的早期,我依靠各种开源工具来完成我的工作。我的理由是,我节省购买商业产品的成本。几年后,我才意识到商业产品实际上可以通过简化和自动化定期执行的许多常见工作来节省时间和金钱。
数据库客户端是一类许多开发人员都不愿花钱购买的软件。这里的假设是你不需要很多功能来查看数据库表和对它们执行查询。在某种程度上,这可能是正确的,但是如果你发现自己在做大量的数据库工作,那么可能是时候升级你的数据库客户端了。
最近有人向我介绍了一个名为 DBeaver 的免费通用数据库工具。我不太了解它,我认为将它与 Navicat Premium 进行比较可能会提供有用的信息。让我们开始吧,愿最好的产品获胜!
关于竞争对手
在左侧,我们有挑战者:DBeaver。它是一个免费的开源通用数据库工具,适用于开发人员、数据库管理员或任何需要以专业身份处理数据的人。DBeaver 使用 Java 编写,基于 Eclipse 平台,使用 JDBC 应用程序接口(API)通过 JDBC 驱动程序与数据库交互。对于 NoSQL 等其他数据库,它依赖于自己的专有数据库驱动程序。
与许多开源工具一样,DBeaver 始于 2010 年,是一个业余爱好项目。它是免费和开源的,具有吸引人的用户界面。从早期开始,其重点是包括数据库开发人员最常用的功能。第一次正式发布是在 2011 年的 Freecode 上。它很快成为开源社区中的流行工具。
在右侧,我们有卫冕冠军
Navicat Premium。它是一个商业数据库开发和设计工具,让你从单个应用程序同时连接到多个本地和/或云数据库。它旨在满足各种人员的需求,从数据库管理员和程序员到为客户提供服务并与合作伙伴共享信息的各种企业或公司。
Navicat 初始版本的主要目标是简化 MySQL 实例的管理。在 2008 年,Navicat for MySQL 荣获香港 ICT 2008 年度大奖、最佳商业大奖和最佳商业(产品)金奖。Navicat Premium 于 2009 年推出。它将所有以前的 Navicat 版本合并为一个产品,可以同时连接所有流行的数据库类型,让用户能够在不同(异构)数据库类型之间执行数据迁移。
DBeaver 和 Navicat 都是通用数据库工具,这意味着它们支持所有流行的数据库,包括 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite。此外,两者还兼容云数据库,如 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas。但是,正如俗话说“细节决定成败”,因此,虽然这两个产品乍一看可能看起来相似,但仔细研究两个工具的视觉感染力、安全连接性和 NoSQL 支持就会发现它们之间的差异数量远远超过任何明显的相似之处。
视觉感染力
在考虑应用程序功能时,也许视觉外观并不是人们首先想到的,但应用程序的 GUI 外观可以告诉我们它提供了什么样的用户体验(UX)。以下是 Windows 中 DBeaver 和 Navicat 主画面的并排屏幕截图:
毫无疑问,这两款产品都有精心设计的 GUI。话虽如此,可是恕我直言,Navicat 的界面更干净、更直观。以下有几个原因:
- 所有主要操作都可以通过画面顶部的菜单项访问。
- 有一个大按钮工具栏,用于访问其他应用程序画面和实用程序。
- 不同的对象类型由不同的图标标识,如左窗格所示。
安全连接性
对于业务专业人员来说,能够安全地连接到数据库实例是必须的。
DBeaver 支持标准配置(主机、端口、用户凭据)以及高级连接属性。其中包括 SSH 隧道、SOCKS 代理和在实际数据库连接之前或之后运行的 Shell 命令。
Navicat 可通过 SSH 隧道和 SSL 建立安全连接,以确保每个连接都是安全、稳定和可靠的。它支持的身份验证方法包括用于 MySQL 和 MariaDB 的 PAM 身份验证、用于 MongoDB 的 Kerberos 和 X.509 身份验证以及用于 PostgreSQL 的 GSSAPI 身份验证。Navicat 提供了比 DBeaver 以及大多数竞争对手更多的身份验证机制!
NoSQL/BigData 数据库支持
由于 NoSQL 数据库(例如 MongoDB)与传统关系数据库有许多显着差异,因此它们有自己独特的要求。
DBeaver 具有针对 MongoDB 以及其他文档数据库的特殊扩展。NoSQL 数据库具有 SQL 接口,因此你可以像使用关系数据库一样使用它们。
Navicat 与 MongoDB 完全兼容。Navicat 还采用不同的方法来处理 NoSQL 数据库。它没有尝试将 MongoDB 当作 SQL 数据库,而是使用 MongoDB 的适当语法来管理数据,以便开发人员可以利用其全部功能:
此外,Navicat 可以以三种方式呈现 NoSQL 数据,以处理各种文档。他们是:
- 网格视图
- 树视图
- JSON 视图
网格视图(上图)是 DBA 最熟悉的传统表格显示。它可以处理任何大小的文档,并支持根据数据类型高亮显示单元格、隐藏列等高级功能。
树视图以层次结构显示文档。所有嵌入的文档和数组都表示为节点,可以根据需要展开或折叠:
你还可以将数据显示为 JSON 文档,同时可以使用内置验证机制添加文档,以确保你的编辑是正确的。
总结
在本系列中,我们比较了这两种产品的视觉感染力、安全连接和 NoSQL 支持。正如我们所看到的,虽然两者看起来在某种程度上相似,但如果深入研究,会发现两者之间会有一些巨大的差异。
往期回顾
Navicat 被投毒了 | 真相来了!
盗版引发设备瘫痪
Navicat 16.1 为OceanBase 社区版
Navicat 成为信通院数据库创新实验室成员
Navicat 学术伙伴计划 – 免费教育版申请
Navicat 技术智库 – 实战演练与各类热门问题解答
免费试用攻略 | Navciat 16 数据库管理工具