QueryPie Development #1: Why I decided to create a DB tool

They say a good craftsman never blames his tools. In the developer world, this adage also applies. And if developers are frustrated with their tools' performance, instead of blaming the tool, they make a new one.

Linus Torvalds made Git in 2 weeks because he was sick of other tools not working https://commons.wikimedia.org/wiki/File:Linus_Torvalds.jpeg

In my years of development, I have always striven to reach a higher level of craftsmanship. But when I couldn’t reach it, I began to realize the tools available to me did not have the features to do everything I wanted. I couldn’t make my own, so I searched instead for other tools created by established craftsmen. During my search, I learned that having the right tools is the most efficient way to make coding more comfortable and enjoyable.

When coding for databases and SQL, I also often blamed my tools. So I spent a lot of time trying to find my favorite database IDE. First, I’ve been using more than ten different free and paid database tools over the past six years. But I never found a unique tool that met all my needs.

So I’d like to share my journey to find my favorite database tool for Mac and share my fairly systematic and highly subjective evaluation of the database tools that I found.


Why isn’t there an intelligent database IDE for Mac?

In 2011, when iOS application development was trendy, I bought a Macbook to begin dabbling in app development. Since then, I’ve been a loyal Mac OS user, and I can comfortably say that one of the biggest advantages of using a Mac is that the Unix-based operating system provides a built-in terminal environment and allows users to add iTunes and Zhell to the terminal to create a convenient setting. Another advantage is how IDE software commonly used to develop Android and on the web like Android Studio, WebStorm, and IntelliJ IDEA, are more stable and robust in macOS than Windows.

result of preferred Operating System by developers at Stack Overflow (source: https://insights.stackoverflow.com/survey/2018/)

According to a survey conducted by Stack Overflow for their users, more than 25% of developers use Mac, and more than 50% use operating systems other than Windows. As a result, the number of developers who use Mac every year around the world is increasing. Because of this trend, many development-oriented startups, including Naver (the Korean equivalent of Google), Kakao (Popular Korean Messenger app), and Woowa Bros (most used food delivery service in Korea) also use Mac for a development tool.

However, one of the most disturbing things about using a Mac was the lack of database tools that provided the functionality and convenience of software like SQLGate and Toad, which are only supported by Windows. Of the ten most common IDE tools available on Mac OS, I prefer using Sequel Pro because of its simple and intuitive UI. But even Sequel Pro doesn’t feel like the best tool to work on databases due to the lack of Auto Commit, multiple SQL executions, auto-completion, and Import/Export options.


My personal SQL development tool evaluation method:

Since I can be rather fussy, I decided to evaluate some database tools using my criteria. I’m not a database-specific developer, so I’d like to tell you in advance that I’ve given priority to creating and running SQL for normal development rather than the advanced capabilities or the high technical maturity of applications required to manage the database.

Evaluation Criteria

  • Does it provide intuitive UI/UX to its users?
  • Is the execution speed of the software fast?
  • Is there a high level of auto-complete functionality when writing SQL code?
  • Is the software stable?
  • Is it possible to run multiple SQL executions?
  • Is the Auto Commit feature supported?
  • Is it possible to Import/Export in various formats (especially Excel)?

Highly subjective and personal Query Tool Assessment for Mac:

The experience of using a tool varies widely, and the situation and user nature should be factored in. So I think the assessment in this article will be most helpful for developers in the following situations.

How many of these cases apply to you?

  • Developer using non-Windows Operating System, such as Mac/Linux
  • Developer who enjoys using an IDE like IntelliJ IDEA and PyCharm, and believes these software are very important for development productivity
  • Developer who believes UI/UX in development tools is important and prefers high-quality visuals
  • Developer using cloud databases such as the AWS(Amazon Web Service) MySQL and MariaDB
  • Startups and small/medium business developers whose main tasks include creating/modifying/ deleting tables and writing/executing SQL.
  • Company with no DBA, where developers directly manage databases

From free/open-source products such as MySQL Workbench, DBeaver, and Sequel Pro to commercial products such as DataGrip, SQLPro Studio, TablePlus, and DbVisualizer that have been used over the past six years, seven products that are believed to be used most by Mac developers around the world based on findings from Google Trends: below are my reviews of these seven products. Since I mainly use MySQL/MariaDB, I used those databases to review these products.

Google trend result: Mac OS SQL tools (source: Google Trends)

(1) DataGrip

  • Intuitive UI/UX: ★★★
  • Processing Speed: ★★
  • Auto-Complete Function: ★★★★★
  • Software Stability: ★★★★
  • Multiple SQL Execution: Yes
  • Auto Commit: Yes
  • Import/Export: Import- CSV, TSV / Export- CSV, TSV, HTML, XML, JSON
  • Price: Business & Organization- $199/1st year, Personal Use- $89/1st year
  • Supported DBMS: PostgreSQL, MySQL, Oracle, MS SQL Server, Azure, Amazon Redshift, SQLite, IBM DB2, H2, SYBASE, Exasol, Apache Derby, MariaDB, HyperSQL, ClickHouse, Cassandra

(2) DBeaver (Free version)

(source: https://www.g2crowd.com/products/dbeaver/reviews#reviews)
  • Intuitive UI/UX: ★★★
  • Processing Speed: ★★
  • Auto-Complete Function: ★★★★
  • Software Stability: ★★★
  • Multiple SQL Execution: No
  • Auto Commit: Yes
  • Import/Export: Import- CSV / Export- CSV, HTML, XML, JSON, SQL
  • Price: Free (Enterprise Version with improved functions — $149)
  • Supported DBMS: MySQL, MariaDB, PostgreSQL, MS SQL Server, Oracle, IBM DB2, SAP MaxDB, Informix, SYBASE, Mimer SQL, InterSystem Cache, Firebird, Ingres, Yellowbrick, Linter, Virtuoso, CUBRID

(3) DbVisualizer

(source: https://www.g2crowd.com/products/dbvisualizer/reviews)
  • Intuitive UI/UX: ★★
  • Processing Speed: ★★
  • Auto-Complete Function: ★
  • Software Stability: ★★★
  • Multiple SQL Execution: Yes
  • Auto Commit: Yes
  • Import/Export: Import- CSV, XLS, XLSX / Export- CSV, HTML, SQL, XML, XLS, XLSX, JSON
  • Price: New License $197 / User, Existing License Renewal $69 / User
  • Supported DBMS: IBM DB2, Exasol, Apache Derby, H2, INFORMIX, Mimer SQL, MySQL, NETEZZA, NUODB, ORACLE, PostgreSQL, Amazon Redshift, SQLite, MS SQL Server, SYBASE, VERTICA

(4) TablePlus

(source: https://www.g2crowd.com/products/tableplus/reviews)
  • Intuitive UI/UX: ★★★★
  • Processing Speed: ★★★★★
  • Auto-Complete Function: ★★★
  • Software Stability: ★★★★
  • Multiple SQL Execution: Yes
  • Auto Commit: No
  • Import/Export: Import- CSV / Export- CSV, JSON, SQL
  • Price: $49 / User
  • Supported DBMS: PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, Amazon Redshift, Oracle, Redis, cassandra, cockroach, VERTICA

(5) TeamSQL

(source: https://www.g2crowd.com/products/teamsql/reviews)
  • Intuitive UI/UX: ★★★
  • Processing Speed: ★★★★
  • Auto-Complete Function: ★★
  • Software Stability: ★★★
  • Multiple SQL Execution: No
  • Auto Commit: No
  • Import/Export: Import- SQL / Export- CSV, JSON, Markdown
  • Price: Free
  • Supported DBMS: MySQL, PostgreSQL, MS SQL Server, Amazon Redshift, Redis, Oracle, Google BigQuery

(6) Sequel Pro

(source: https://www.g2crowd.com/products/sequel-pro/reviews)
  • Intuitive UI/UX: ★★★★
  • Processing Speed: ★★★★★
  • Auto-Complete Function: ★
  • Software Stability: ★★★
  • Multiple SQL Execution: No
  • Auto Commit: No
  • Import/Export: Import-CSV / Export- CSV, JSON
  • Price: Free
  • Supported DBMS: MySQL, MariaDB

(7)MySQL Workbench

(source: https://alternativeto.net/software/mysql-workbench/reviews/)
  • Intuitive UI/UX: ★★★
  • Processing Speed: ★★
  • Auto-Complete Function: ★★
  • Software Stability: ★★★
  • Multiple SQL Execution: Yes
  • Auto Commit: Yes
  • Import/Export: Import-CSV, JSON / Export- CSV, JSON
  • Price: Free
  • Supported DBMS: MySQL, MariaDB

To wrap things up:

Since this is a very personal standard and assessment, please take into account that these reviews are just my opinion when choosing the perfect IDE for your needs. (If the above information is inaccurate or should be added to, please let me know!)

This review started with my complaints and questions about database IDE on Macs and went through the process of exploring various DB Tools.

When I worked as a developer for Kakao, I always blamed my tools for not doing what I wanted them to do. Then one day, I made up my mind to develop my tool. That’s how I became the founder and CEO of a startup company called CHEQUER. Now my company is upgrading, expanding, and bettering SQLGate, a 16-year-old IDE database tool. (If you’re curious, head over to CHEQUER and SQLGateto find out more.)

And at the end of last year, the team of talented software engineers at CHEQUER began developing QueryPie using the accumulated know-how and technology acquired during the years of developing SQLGate.

QueryPie is a cross-platform database IDE that works on Mac OS, Windows, and Linux. We plan to better experience database tools in Mac OS with QueryPie using built-in core functionality and intuitive UI/UX. Our goal is to enable all developers to work faster and conveniently with the best database technology.

QueryPie is scheduled to launch within the first quarter of 2019.

Creating a Cross-Platform application is rare in the software industry. It requires a lot of technical consideration and effort, so I want to document this development journey under the title of ‘QueryPie Development.’ I want to help those who are preparing to develop new applications by sharing what I learned through trial and error, and I want to keep learning and growing.

In my next post, you will learn about the key features and requirements defined by QueryPie’s target customer analysis, and what technologies have been used to design the software.

See you soon!

- Brant Hwang, CEO of CHEQUER