TLDR: Database management tools are a critical part of the development and business workflows. That’s why I am trying to address some of the most pressing pain points as of 2022 and my personal experience with managing a variety of databases. These include issues with dependencies and user interface. In search for a better solution, I joined a startup that I believe has something to offer as an alternative. You can read more about it at the end of the article.
What is a database management tool?
Database Management Tool, also called Database Management System (DBMS) is software used to:
- retrieve and store data via queries also called CRUD for create, read, update and delete
- manage the database schema
- configure access and security
- monitor performance
- audit traffic and issues
Database Management Tools are often used to design, modify, debug and view various common types of data sources:
- relational databases (also called tabular)
- NoSQL (not only SQL) or object data
- Cloud-based data warehouses and data lakes
- File (CSV, Xls, log) based storage
Such tools are often used by:
- database administrators
- backend and full-stack developers
- QA (aka testers)
- project managers and team leads
- DevOps (aka system administrators)
- Technical Support
- Marketing experts
- Data analysts
- Data engineers
Here are some of the most popular solutions, in no particular order:
- MySQL Workbench
- VSCode SQLTools
- Microsoft SQL Server Management Studio
- Aqua Data Studio
Given the importance, a wide range of use cases, and many options, everything should work great. However, as a developer, I find myself often switching and searching for a better solution. Discussions with peers always lead to pointing out trade-offs, edge cases, and common problems. And most consider this part of the job and find their own workflows. I would love to hear how you handle the following:
The majority of solutions are environment based
Meaning that recommendations are based on the operating system. I’ve used each of the tools listed above and while some of them work on multiple platforms. None of them is completely cross-platform. Especially when considering mobile. And this might be all right for some, as described in the title it’s 2022.
Developers often switch OS due to limitations or requirements. What’s more important is that each time an installation is required. This makes remote use problematic. There are several browser-based solutions, but they too have their cons and limitations.
Most of the solutions are database centered
This leads to having to install and learn multiple tools for each database type. Commonly, developers and applications utilize multiple databases each serving a specific purpose. I often work with MongoDB, MySQL, PostgreSQL, MSSQL, Snowflake, IndexedDB, and various other data sources (files, logs) on a daily basis. It’s a dream to be able to use a single tool. Maybe even cross-reference data points between them…
Database management tools are complex
I realized recently when I was transferring some of my responsibilities to a colleague. While I was helping him set up pgAdmin for access to an application database. How hard could it be? It’s just a bunch of tables, columns, and rows. But four hours later we were still discussing various configuration options, SQL details, permissions, workarounds, etc. And he is tech-savvy, but visibly confused.
This made me think about the variety of data workers and even non-technical employees that often need access to the data. There are many use cases where a simple spreadsheet-style interface for access to the database could greatly enhance productivity. So this leads me to the next point.
UI/UX can be greatly improved
Using MySQL Workbench for example feels like time traveling. Both, because of the loading time and the Windows XP style interface. That’s a common theme for the majority of the tools. There are several good examples, but all of them significantly lack responsive design, customization options, reactivity, and general user-friendliness of the popular SaaS platforms. If you’ve been using phpMyAdmin for 10 years this might not be obvious, however it’s something new users would immediately notice.
Collaboration is severely limited
Remember the times when you send a spreadsheet via email to your teammate. Then he checks a few boxes and sends it back so you can continue with your edits. That’s how I feel about working on a database with a colleague. Even just sharing a curated dataset is only possible via sending a raw query. What if that query has to be modified?
Maybe Google and Microsoft have spoiled us, but I can imagine a world where I click a button in my database management tool and John from accounting is directly able to see the same real-time data I am currently viewing with the options to flag, comment, etc.
I briefly mentioned installation above, but this often also includes complex update workflows. Very few tools allow remote and mobile access. I can’t count the number of times during travel I could’ve used an app to securely access a dataset to check something. And since I mentioned security the way database credentials are stored in some of these tools is questionable, to say the least. Managing all these different tools is a problem too. Connecting to 3-4 types of datasets each with its own tool is a pain, as well as handling credentials, firewalls, etc.
The good news
All these concerns led me to join a startup last year. Datafi is trying to solve all these problems and more by enabling simple and secure access to various databases. The idea is instead of installing a tool on your computer, to set up a connector that enables a protected connection to the data via a browser app. This works entirely within a local (or VPN) network and can also be enabled online.
Dataview has a modern customizable layout and includes both visual filters and an SQL editor. There are also many other features such as links between datasets, worksheets, sharing, external links, progressive loading. At the current stage, we need more people to try it out and would appreciate your feedback. You can check it here. It’s free.