맘에 쏙 드는 Database IDE를 찾아서

QueryPie 개발기 #1: 난 왜 Database 도구를 만들게 되었나

Brant Hwang
QueryPie
Published in
12 min readJan 7, 2019

--

장인은 도구를 탓하지 않는다고 합니다만, 개발자 세계의 장인은 종종 다른 행태를 보여 줍니다. 불편한 도구를 탓하지 않고 ‘답답해서 내가 직접 만들고’ 마는 것이죠.

Linus Torvalds, 답답해서 2주 만에 뚝딱 ‘Git’을 만든 전설적인 개발 장인 https://commons.wikimedia.org/wiki/File:Linus_Torvalds.jpeg

개발자로서 장인의 경지에 이르지 못했기에, 손에 쥔 도구를 탓하며 장인들이 만들어 낸 편리한 도구를 찾곤 했습니다. 잘 만든 도구를 찾는 것이 코딩작업을 ‘더 안락하고 즐겁게’ 만들기 위한 가장 효율적인 방법이라 믿습니다. 그래서 이 과정에 아낌없이 시간과 노력을 투자하곤 합니다.

데이터베이스 및 SQL 코딩 작업을 할 때도 자주 ‘도구 탓’을 했습니다. 그래서 마음에 쏙 드는 데이터베이스 IDE를 찾기 위해서 많은 시간을 썼습니다. 결론을 먼저 말하자면, 지난 6년간 10여가지 이상의 무료/유료 데이터베이스 도구를 사용해봤지만 아직 제 마음에 쏙 드는 기특한 툴을 찾지 못했습니다.

그래서 제 맘에 드는 Mac용 데이터베이스 도구를 찾기 위한 여정과 그 결과로 알게 된 꽤 체계적(?)이고 지극히 주관적인(!) 데이터베이스 툴들에 대한 평가들을 공유하고자 합니다.

왜 Mac에서 돌아가는 똘똘한 Database IDE는 없을까?

2011년, iOS 애플리케이션 개발이 한참 유행하던 시절 앱 개발을 위해 맥북을 구입하였고 그 후로 쭉 맥북과 맥 OS를 사용하고 있습니다. Mac의 가장 큰 장점 중 하나는 유닉스 기반으로 설계된 맥 OS 덕분에 터미널 환경이 기본적으로 제공되고 이 터미널에 iTerm, Zshell 추가하면 편리한 터미널 환경을 만들 수 있다는 것입니다. 또한 Android와 Web를 개발 할 때 자주 쓰는 IDE인 Android Studio, WebStorm, IntelliJ IDEA 등이 윈도우 보다 맥OS에서 더욱 안정적이고 강력한 성능을 발휘하기 때문이었습니다.

Stackoverflow의 개발자들이 사용하는 OS (출처:https://insights.stackoverflow.com/survey/2018/)

StackOverflow 사용자를 대상으로 한 조사에 따르면 25%가 넘는 개발자가 맥을 사용하고 있고 50%가 넘는 개발자가 윈도우가 아닌 운영체제를 사용합니다. 이렇듯 전 세계적으로 매년 Mac을 사용하는 개발자의 비중 역시 점점 증가하고 있으며 이 트렌드에 따라 네이버, 카카오, 배달의 민족을 비롯해 개발 중심의 많은 스타트업 역시 Mac을 개발 도구로 제공합니다.

하지만, Mac을 사용하면서 가장 불편한것 중 하나는 윈도우에서 사용하던 SQLGate, Toad 수준의 기능과 편리함을 제공하던 데이터베이스 도구가 부재하다는 것이었습니다. 10여가지 중 현재는 그나마 간결하고 직관적인 UI가 제공되는 Sequel Pro를 사용하고 있는데 Auto Commit, 다중 SQL 실행, 자동완성, Import/Export의 아쉬움 때문에 여전히 데이터베이스 작업을 할때마다 불편함을 느끼고 있습니다.

내 맘대로 정하는 SQL 개발 도구 평가 기준

나름 까다로운 입맛을 가진 개발자로서 아래와 같은 기준으로 데이터베이스 도구를 평가해보기로 했습니다. 제가 데이터베이스에 특화된 개발자는 아닌지라 데이터베이스 관리에 필요한 고급 기능이나 애플리케이션의 높은 기술적 완성도보다는 일상 개발 업무에 필요한 SQL을 작성하고 실행하는데 편리한 것을 우선적으로 고려했음을 미리 말씀 드립니다.

평가 기준

  • 사용자에게 직관적인 UI/UX를 제공하는가?
  • 애플리케이션의 실행속도가 빠른가?
  • SQL 코드 작성 시 자동완성 기능의 수준이 높은가?
  • 애플리케이션의 안정성이 높은가?
  • 다중 SQL 실행이 가능한가?
  • Auto Commit 기능을 지원하는가?
  • 다양한 (특히 Excel) 포맷 Import / Export가 가능한가?

지극히 주관적이고 개인적인 Mac용 쿼리 툴 평가

툴에 대한 사용 경험은 사용자가 처한 상황과 성향에 따라 천차만별입니다. 따라서 이 글의 평가는 아래의 상황에 속한 개발자 분들이 참고하시면 더욱 도움이 될 것이라 생각합니다.

여러분은 몇 가지 경우에 해당하는 개발자이신가요?

  • Mac OS, Linux 등 윈도우가 아닌 OS를 사용하는 개발자
  • IntelliJ IDEA, PyCharm 등의 개발 IDE를 즐겨 사용하고, 개발 생산성을 매우 중요하게 생각하는 개발자
  • 개발 도구의 UI/UX를 중요하게 생각하고, 시각적으로 높은 퀄리티를 가진 개발 환경을 선호하는 개발자
  • AWS 환경에서 MySQL, MariaDB와 같은 클라우드 기반 데이터베이스를 사용하는 개발자
  • 테이블 생성/수정/삭제, SQL 작성/실행이 주된 업무스타트업 및 중소기업 개발자
  • DBA가 없고, 개발자가 Database를 직접 관리하는 회사

지난 6년간 사용했보았던 MySQL Workbench, DBeaver, Sequel Pro 등 무료/ 오픈소스 제품부터 DataGrip, SQLPro Studio, TablePlus, DbVisualizer 등의 상용제품 가운데 구글 트렌드에서 확인한 결과를 바탕으로 전세계의 Mac을 사용하는 개발자들이 많이 이용하고 있다고 생각되는 7가지 제품:MySQL Workbench, DataGrip, DBeaver(Free ver.), Sequel Pro, DbVisualizer, TablePlus, TeamSQL에 대한 리뷰를 공유합니다. (저는 MySQL/MariaDB를 주로 사용하고 있어 해당 DBMS 지원 제품위주로 비교 분석 했습니다.)

Mac에서 사용 가능한 주요 SQL Tool들의 구글 검색 트렌드 비교 (출처: Google Trends)

(1) DataGrip

(출처: https://www.g2crowd.com/products/datagrip/reviews#reviews)
  • 직관적인 UI/UX: ★★★
  • 실행 속도: ★★
  • 자동 완성 기능: ★★★★★
  • 애플리케이션 안정성: ★★★★
  • 다중 SQL 실행 기능: Yes
  • Auto Commit 지원: Yes
  • Import/Export 기능: Import- CSV, TSV / Export- CSV, TSV, HTML, XML, JSON
  • 가격: 사업자 및 단체- $199/1st year, 개인 유저- $89 / 1st year
  • 지원 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)

(출처: https://www.g2crowd.com/products/dbeaver/reviews#reviews)
  • 직관적인 UI/UX: ★★★
  • 실행 속도: ★★
  • 자동 완성 기능: ★★★★
  • 애플리케이션 안정성: ★★★
  • 다중 SQL 실행 기능: No
  • Auto Commit 지원: Yes
  • Import/Export 기능: Import- CSV / Export- CSV, HTML, XML, JSON, SQL
  • 가격: Free (향상된 기능의 Enterprise 버전 구매 시 — $149)
  • 지원 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

(출처: https://www.g2crowd.com/products/dbvisualizer/reviews)
  • 직관적인 UI/UX: ★★
  • 실행 속도: ★★
  • 자동 완성 기능: ★
  • 애플리케이션 안정성: ★★★
  • 다중 SQL 실행 기능: Yes
  • Auto Commit 지원: Yes
  • Import/Export 기능: Import- CSV, XLS, XLSX / Export- CSV, HTML, SQL, XML, XLS, XLSX, JSON
  • 가격: 신규 License $197 / User, 기존 License Renewal $69 / User
  • 지원 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

(출처: https://www.g2crowd.com/products/tableplus/reviews)
  • 직관적인 UI/UX: ★★★★
  • 실행 속도: ★★★★★
  • 자동 완성 기능: ★★★
  • 애플리케이션 안정성: ★★★★
  • 다중 SQL 실행 기능: Yes
  • Auto Commit 지원: No
  • Import/Export 기능: Import- CSV / Export- CSV, JSON, SQL
  • 가격: $49 / User
  • 지원 DBMS: PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, Amazon Redshift, Oracle, Redis, cassandra, cockroach, VERTICA

(5) TeamSQL

(출처: https://www.g2crowd.com/products/teamsql/reviews)
  • 직관적인 UI/UX: ★★★
  • 실행 속도: ★★★★
  • 자동 완성 기능: ★★
  • 애플리케이션 안정성: ★★★
  • 다중 SQL 실행 기능: No
  • Auto Commit 지원: No
  • Import/Export 기능: Import- SQL / Export- CSV, JSON, Markdown
  • 가격: Free
  • 지원 DBMS: MySQL, PostgreSQL, MS SQL Server, Amazon Redshift, Redis, Oracle, Google BigQuery

(6) Sequel Pro

(출처: https://www.g2crowd.com/products/sequel-pro/reviews)
  • 직관적인 UI/UX: ★★★★
  • 실행 속도: ★★★★★
  • 자동 완성 기능: ★
  • 애플리케이션 안정성: ★★★
  • 다중 SQL 실행 기능: No
  • Auto Commit 지원: No
  • Import/Export 기능: Import-CSV / Export- CSV, JSON
  • 가격: Free
  • 지원 DBMS: MySQL, MariaDB

(7)MySQL Workbench

(출처: https://alternativeto.net/software/mysql-workbench/reviews/)
  • 직관적인 UI/UX: ★★★
  • 실행 속도: ★★
  • 자동 완성 기능: ★★
  • 애플리케이션 안정성: ★★★
  • 다중 SQL 실행 기능: Yes
  • Auto Commit 지원: Yes
  • Import/Export 기능: Import-CSV, JSON / Export- CSV, JSON
  • 가격: Free
  • 지원 DBMS: MySQL, MariaDB

한 눈에 보기 & 글을 마치며

지극히 개인적인 기준과 평가이므로, IDE 선택 시에 각자의 니즈와 사용환경에 맞추어서 고려하시기를 부탁드립니다. (만약 위 정보가 부정확하거나 추가되어야 할 내용이 있다면 꼭 알려주세요!)

Mac에서 돌아가는 데이터베이스 IDE에 대한 불만과 의문으로 시작하여 여러가지 DB 도구를 찾고 배우는 과정을 거쳤습니다. 실컷 ‘도구 탓’하면서 카카오의 개발자로 일하다가 정신을 차려보니, 오늘의 저는 CHEQUER라는 스타트업의 창업자 겸 CEO가 되어 16년 역사의 DB IDE 도구인 SQLGate를 서비스하고 있습니다. (CHEQUER와 SQLGate에 대한 다른글 보러가기)

그리고 작년 연말 부터는 SQLGate의 축적된 노하우와 기술력을 바탕으로 새롭게 합류한 유능한 개발진과 함께 Mac OS와 Window, Linux에서 작동하는 Cross-Platform Database IDE인 ‘QueryPie(가칭)’를 개발하고 있습니다.

QueryPie는 기존의 IDE에서 경험했던 불편한 UI/UX를 사용자 친화적으로 개선하고, 핵심 편의 기능을 기본적으로 탑재하여 2019년 1Q내 출시할 예정입니다. 향후 국내 최고의 데이터베이스 기술력을 바탕으로 모든 개발자가 더 빠르고 편리하게 데이터베이스 업무를 할 수 있게 만드는 것이 목표입니다.

Cross-Platform 애플리케이션을 만드는 것이 소프트웨어 업계에서는 흔치 않고, 많은 기술적 고민과 노력이 필요하기에 개발 여정을 ‘QueryPie 개발기’라는 이름으로 남기고자 합니다. 먼저 겪은 시행착오를 공유하여 새로운 애플리케이션 개발을 준비하는 분들께 도움이 되었으면 하고, 개발 과정에서의 배움과 고민들을 오래 간직하고 싶기 때문입니다.

다음에는 QueryPie의 타겟 고객 분석을 통해 핵심적인 기능과 요구사항을 정의하고, 이를 토대로 어떤 기술을 통해 QueryPie를 설계했는지를 소개하겠습니다.

영어: https://medium.com/p/e05f11b9ae58/

--

--