Industry

Stop Using Navicat as Your SQL Client

Tianzhou
5 min read

TL;DR Navicat is a great single-user SQL client. However, it has a serious limitation in multi-user scenarios where team collaboration and centralized control is needed.

_

Navicat is a long-established database GUI. The first version was launched in 2001 and started with support for MySQL, and later added support for MariaDB, MongoDB, Oracle, SQLite, PostgreSQL, and Microsoft SQL Server. Navicat can run on Windows, Mac, and Linux simultaneously. However, as you can see from the interface, Navicat is developed using desktop technology rather than the modern web-based technology.

_

After 20+ years, Navicat is one of the best products for operating databases alone. Although its interface is a bit old-school, it is fully functional, and the overall experience is smooth, so it has a good reputation among users. However, as a pure client-side desktop software, Navicat also has its own limitations.

Problems with Navicat

Need to distribute database credentials

As a client-side software, Navicat needs the username and password to access the database.  In a team environment, for developers to use their databases, DBAs must distribute the database credentials. This resulted in database access privileges being scattered all over the place, which is a recipe for data leaks and database outages.

No fine-grained data access control

Since database credentials are distributed directly to individuals, there is no finer access control, such as granting access to certain databases under one instance, but not the rest.

No data anonymization

Similarly, since database credentials are distributed directly to individuals, all data is exposed in the original text form.

Lack of audit trail

Again, as a client-side software, DBAs need to know who did what. If DBAs assign a separate account to each user, they can locate the person, but in reality, the database accounts are usually shared (the infamous user root for MySQL and user postgres for Postgres).

Lack of controlled peer-reviewed change flow

Navicat makes it easy to make database changes: by writing an UPDATE, ALTER TABLE statement in its SQL editor. However, the convenience has a flipside, if you connect to the wrong database or commit the wrong SQL statement (e.g. forgetting the WHERE), it will bring disastrous consequences.

The proliferation of pirated versions

Navicat is not cheap, the relatively comprehensive Navicat Premium costs $699.99 annually and $1,399 for a perpetual license.

_

Even a lite version costs $349.

_

The relatively high price entails Navicat a serious piracy problem.

_

It’s your database security

In addition to the legal concern that piracy brings to companies, there is also the issue of software supply chain security. Some Navicat distributions on the web are hacked. Once a user uses such a Navicat to access a database, the database is compromised. We have seen people using pirated Navicat, then one day their entire data is erased, and the only thing left is a blockchain address to pay the ransom.

Navicat is an excellent database tool, but because of its own client-side limitations and lack of centralized control, it cannot meet the requirements for security control when operating databases in enterprises. At the same time, Navicat’s pricing strategy has led to widespread piracy, posing legal and database security risks to enterprises.

Bytebase’s solution

Bytebase is a web-based product with server-side capabilities that can fill the gap for Navicat in enterprise collaboration.

SQL Editor (Read-only Mode)

_

SQL Editor (Admin/DBA Mode)

_

Database Change Review Process (Change Process)

_

Data Anonymization

_

Database Access Control

_

Saving and sharing SQL scripts among teams

_

Integration with GitLab / GitHub to synchronize SQL scripts

_

Audit Log

_

SQL Review Policy

_

Bytebase Vs. Navicat

Bytebase and Navicat both provide a UI for users to operate the database, the main difference is that Bytebase adds an extra layer of control over database queries, changes, and admin actions.

NavicatBytebase
Centralised control over password
Database access control
Data anonymization
Review process for database change
SQL script sharing
VCS integration
Audit log
SQL review policy

In addition, Bytebase is open-source, and adopts a usage based pricing model.

The key difference, of course, is in the use case.

Navicat is for individuals, and Bytebase is for teams. Navicat is a pure client software with comprehensive capability and smooth experience if you need to operate a database for a personal project. However, when it comes to team use cases, where DBAs and developers need to collaborate, and DBAs need to control the database access, queries, changes, and other operations, products like Bytebase are desired to centralize the control and secure your orgnization’s most valuable asset, the database data.