QueryPie의 첫 MVP를 소개합니다.

QueryPie 개발기 #10: Ready for the Closed Beta!

Brant Hwang
7 min readApr 19, 2019

📑영어(English Version)- https://medium.com/p/bc6a26429247/

지난 6년 간, Mac을 사용하면서 Sequel Pro를 MySQL 데이터베이스 도구로 사용했습니다. Sequel Pro는 오픈소스 MySQL 데이터베이스 도구로 DataGrip, Navicat, DBVisualizer 등의 상용 솔루션에 비해 더 빠른 실행속도와 직관적인 UI/UX, 개발자가 필요로 하는 핵심기능을 제공해주고 있습니다.

하지만 최근 모하비로 OS를 업그레이드한 후 비정상적으로 종료되는 치명적인 버그와 느리고 불편한 SQL 자동완성 등 때문에 자주 불편함을 겪었지만, Mac에서 사용할 수 있는 특별한 대안이 없어 계속 사용해왔습니다. 그렇지만 이제는 Sequel Pro를 더 이상 쓸 이유가 없어졌습니다.

4개월간 QueryPie 팀의 열정과 노력으로 QueryPie의 첫번째 버전이 완성되었기 때문입니다! 야호! 🙌

“와! Sequel Pro를 더 이상 쓰지 않아도 되겠다”

QueryPie의 첫번째 버전은 Windows / Mac에서 동작하고, MySQL / MariaDB / AWS Aurora MySQL를 지원하는 Database IDE로 Sequel Pro에 비해 훨씬 강력한 기능들이 포함되어 있습니다! 그럼 지금부터 QueryPie의 첫번째 버전 기능을 소개하겠습니다.

1. 쉽게 공유할 수 있는 데이터베이스 접속 정보

QueryPie WebApp 데이터베이스 접속 정보 관리

“테스트용 데이터베이스 접속 정보가 뭐더라?”

“팀장님! 저도 데이터 직접 보고싶어요. 데이터베이스 접속 정보 알려주시면 안돼요?”

데이터베이스를 다루는 쪽에서 일하신다면, 위와 같은 상황을 겪어본 경험들이 있으실텐데요. 그동안 회사 내에 수많은 데이터베이스 접속정보를 어떻게 관리하고 계셨나요? 누군가가 데이터베이스 접속 정보 공유를 요청할 때 가르쳐줘도 되는지, 혹은 가르쳐줬다가 테이블이나 데이터를 삭제하지는 않을까 걱정해보신적 있으신가요?

QueryPie는 QueryPie WebApp을 통해 조직 구성원들과 데이터베이스 접속 정보를 쉽고 안전하게 공유할 수 있도록 하며, 사용자 별 데이터베이스 접근 권한을 설정하여 데이터 삭제나 조작을 하지 못하도록 사전에 예방합니다.

데이터베이스별 권한 제어

이렇게 QueryPie WebApp에서 권한을 부여한 데이터베이스 접속 정보는 계정정보 노출없이 QueryPie Shared Connection 목록에 표시되기 때문에 더욱 쉽고 안전하게 데이터베이스 접속정보를 공유할 수 있습니다.

QueryPie Shared Connection List

2. 편리하고 강력한 다중 SQL 실행과 자동완성 기능

다중 SQL 실행 및 자동완성

Sequel Pro를 쓰면서 가장 불편했던 것 2가지를 꼽자면, 동시에 여러 개의 SQL을 실행할 수 없고 SQL 자동완성이 너무 느리다는 것이었습니다.

여러 SQL을 동시에 실행하고, 결과를 비교해보는 일이 잦다보니 하나씩 실행하고, 하나씩 결과를 비교하는 일은 너무 비생산적이었고, 수많은 테이블과 컬럼정보를 다 외우기란 쉽지 않기때문에 SQL 자동완성 또한 Database IDE가 갖춰야할 핵심적인 기능이라 생각했습니다.

이에, QueryPie는 수십개의 SQL을 동시에 실행하고, 좌/우로 배치하여 결과를 한 눈에 비교해볼 수 있습니다. 또한 ANTLR 기반의 SQL Parser를 직접 구현하여 사용자보다 한 발짝 더 빨리 테이블/컬럼 정보를 자동완성 해주기 때문에 데이터베이스 업무생산성을 더욱 높여줍니다.

3. 한 눈에 테이블 정보를 파악할 수 있는 다중 개체정보 패널

QueryPie 개체 패널

SQL을 작성하다보면 테이블의 컬럼, 인덱스, 관계를 확인하거나 테이블의 정보를 보는 일이 많죠. QueryPie는 우측에 개체정보패널을 배치하여 동시에 2개의 테이블을 한 눈에 확인할 수 있습니다. 필요에 따라 접었다 폈다 할 수 있도록 구현하여 공간을 효율적으로 사용할 수도 있습니다.

또한 QueryPie는 SQL 조회 결과를 CSV, Excel, JSON 으로 내보낼 수 있고, 테이블 및 테이블 데이터를 선택적으로 Export하거나, 대용량 SQL 파일을 스트리밍 방식으로 Import하는 기능 또한 준비되어 있습니다.

4. Auto Commit Enable / Disable 지원

사실 Sequel Pro는 Auto Commit Enable / Disable 기능이 없어서 대량의 데이터 조작시에 상당히 주의를 기울여야 했습니다. 잘못 실행할 경우 Rollback할 방법이 없기 때문이죠. QueryPie는 더 안전한 데이터베이스 작업을 할 수 있도록 Auto Commit Enable / Disable 기능을 제공하고 있으며 Auto Commit Disable 상태일 경우 커밋되지 않은 트랜잭션 목록 (UnCommitted Transaction List)을 제공하여 Commit 되지 않은 DML을 직관적으로 확인할 수 있습니다.

QueryPie UnCommitted Transaction 목록

곧 선보일 QueryPie의 첫 MVP(Minimum Viable Product)는 개발자를 위한 Database IDE이지만, 추후 Phase 2에서는 블록체인 기반의 보안 감사 기능을 제공하여 통합된 환경에서 보안이 강화된 데이터베이스 플랫폼을 지향할 예정이며, Phase 3에서는 분석/시각화 기능을 통합하여 기업 내 데이터 업무를 하는 모든 구성원이 사용할 수 있는 통합 데이터 솔루션으로 성장시킬 계획입니다.

또한 2019년 말까지, 모든 기능을 무료로 사용할 수 있도록 유료 Standard 플랜을 무료로 제공할 계획이니 Closed Beta 신청을 통해 더 빨리 QueryPie를 만나보세요!

--

--