Easy SQL & NoSQL: how to simplify database management
What desktop apps and online services can be used to facilitate your work with databases of SQL and NoSQL types.
Airtable, Google Sheets, and other NoCode spreadsheets are very good tools for handling data simultaneously with colleagues. However, the versatility of online spreadsheets turns out to be clumsy when it comes to large volumes of data. That's why companies choose high-performance SQL and NoSQL databases for efficiently storing large portions of data.
Relational databases. Previously, only backend developers and administrators interacted with database management systems. However, Docker and Kubernetes containerization technologies have made it easier to interact with different information stores, and now it is easy to try any storage system or even use different types of databases for different tasks.
ORM. No matter how easy it is to run a server with a database today, key tasks still require knowledge of SQL language. In the case of web applications, developers long ago figured out how to bypass the task of writing multiple SQL queries. The ORM system maps each object processing procedure in the programming language to a specific database query. The next step we are seeing in the development market now is packaging ORM models into blocks that can be managed with minimal programming skills.
State of the Art. Every week there are new applications that facilitate interaction with relational databases. They can be grouped into the following categories:
- graphical client interfaces with intuitive manipulations;
- applications for creating visual interfaces to databases;
- IDE with built-in database management;
- generating API for interacting with one or more databases and applications or embedding databases into NoCode chains;
- cloud databases that evolve to meet the demands of rapid deployment of web applications and minimal subsequent maintenance.
Below we look at some examples of such Easy-SQL services.
GUI client interfaces for easy administration of SQL and NoSQL
TablePlus is a graphical interface for managing relational databases of MySQL, PostgreSQL, SQLite, and others. The main emphasis is on intuitive management: SQL tables are edited similarly to table processors, filters are set through drop-down lists, also there is a simple import and export of databases, as well as built-in tools for encrypting the connection.
DBeaver and Jailer are free open-source counterparts with functions similar to TablePlus, which can connect locally to many kinds of SQL databases, edit tables, display linkage schemes, import and export data. For NoSQL databases, dbgate is a similar free tool.
User interfaces on the top layer of relational databases
We already told earlier in this blog about Retool and Glide – tools that simplify professional database application development. A lot of NoCode integrations for the same tasks are also provided by Noodl and BaseDash. There are also open-source alternatives such as NuBuilder.
Various LowCode strategies are also emerging. For example, Lowdefy offers to describe the structure of the application by means of small YAML files, according to which the service starts to build the application.
If you don't have any technical skills at all, try Saltcorn, an open source tool for building web applications using relational databases without any coding: drag-and-drop and linking elements.
Data IDE – development environments with built-in database management
DataStation is positioned as a Data IDE for developers. Here you can start development with a ready-made database template or program code, and then conveniently switch between data and processing results. It supports 20 types of databases, 8 languages, and 13 file types. The service can be tested on all major platforms.
Teams in the Data Science world familiar with Jupyter notebooks should look at Deepnote. It is a tool that emphasizes collaborative work on information analysis and database management. It has built-in tools for scheduling notebook launches and hardware monitoring, a permission control system, and the ability to work simultaneously with Python, SQL, and R.
API to databases
Another popular approach is to add a software interface layer (API) to the database to make it easier for developers and other services to interact with it.
Directus is a cloud-based tool that creates an API for any SQL database. It's a handy collaboration tool, with ready-made dashboards for monitoring and analytics, language translation support for international teams, authentication, comments, field validation, and detailed documentation with video illustrations. By the way, free for test applications and hobby projects.
Hasura provides database representation in the form of GraphQL API, one of the popular API-building technologies in the frontend world. It supports PostgreSQL databases, SQL Server, Google BigQuery, Azure DB Postgres, Amazon Aurora, and others. In Hasura 2.0 it is now possible to add entry points for REST APIs as well. The tool can be run in the cloud and locally. A close LowCode alternative for GraphQL APIs and Rest is subZero.
It's worth noting that the API itself is not usually needed, but so that the data from the database can be transferred to some application. Seekwell solves this problem. The tool connects to an SQL database and, in response to a trigger, transmits the result to its destination: for example, to Google Sheets, Salesforce, Zendesk, or Slack.
Single interface that integrates several databases
Ultorg is a database for applications that allow working with SQL databases, spreadsheets, CSV files without programming. The main emphasis is on the ability to link tables to each other and merge their data. All CRUD operations are performed visually, very much like working with table processors.
Metabase allows someone to work with multiple databases both without knowledge of SQL (in NoCode-style) and with the need to write hardcore queries. You can make simple filters, merge tables, and send automatic reports to the Slack command stream. The project has an open-source version in Docker and jar formats, as well as a cloud version with a paid tariff.
Sigma Computing facilitates visual manipulation of databases from multiple sources and supports collaborative development with an interface identical to spreadsheets. Not only conventional relational databases are supported, but also cloud-based Google Cloud and AWS. Sigma provides a common API to federated databases.
Xata is a serverless database optimized for web development. There are powerful search, a built-in analytics engine, network caching, scalability, ready-made client libraries, and one-click snippets. There you have to know something about programming and APIs, but at the same time there are a lot of ready-made solutions, so you'll have to read more code than write. Plus, the tool has a free plan for MVPs with databases up to 15 GB and 750k records.
Zenbase is a cloud database where you can create a CRUD database on the fly that supports out-of-the-box user rights and data change reports. Data can be imported from regular CSV tables.
So far, the tools for working with SQL and NoSQL databases mostly simplify the interaction procedure itself at the expense of low-code solutions. There is a good reason for this: commercial data is usually too expensive to trust to people who are not qualified to work with databases. So, for now, these solutions only simplify the lives of database developers and administrators.
But if you do MVP, there are already suitable NoCode solutions, such as Xata and Metabase, on which you can build distributed database applications without SQL knowledge. We are confident that this area will continue to evolve: the growing NoCode-based MVP is limited by the performance of spreadsheets. In this context, moving to relational NoCode databases looks like the most painless solution for project development.