MongoDB GUI - Compass VS Studio 3T

LimC·2020년 9월 3일
5
post-thumbnail

번역 전


오랜만에 쓰는 번역 정보글이고 그동안 영어 공부를 잘해놓지를 않아서 아직 어색한 부분이 매우 많습니다. 최근 MongoDB를 공부하면서 Studio 3T라는 GUI 프로그램을 사용했었습니다. 하지만 이게 여러 컴퓨터에서 사용하다 보니 라이센스 잠금이 걸려서...

MongoDB Compass를 사용해봤는데 이것도 편하다는 느낌이 들어 둘에는 무슨 차이가 있고 어떤 장단점이 있는지 궁금해 웹서핑했습니다.

아래 사이트들을 참고하여 번역했습니다.

MongoDB Compass


몽고DB Compass는 MongoDB를 위한 GUI입니다. 자신이 가진 Mongo DB 데이터를 시각적으로 조작이 가능합니다. 임시 쿼리를 몇 초 안에 실행이 가능하고 Compass의 CRUD 기능을 사용해 데이터와 상호 작용이 가능합니다.

또한 내가 실행하는 쿼리의 성능을 볼 수 있으며 이를 통하여 최적화가 가능합니다. Compass는 리눅스, 맥, 윈도우에서 구동이 가능합니다.

Compass는 색인화(Indexing)나 문서를 확인하는 등에 관한 더 훌륭한 결정을 내리도록 도와줍니다.

내장된 스키마 시각화 기능을 통해 데이터를 파악할 수 있습니다.



Compass는 Documents와 Collections가 닿는 모든 구조를 직관적인 GUI를 통해 분석합니다. 이를 통하여 스키마를 빠르게 눈으로 파악할 수 있고 이를 탐색해 데이터 필드 빈도, 유형 및 범위를 파악 할 수 있습니다.

서버 상태와 쿼리 성능를 즉각적으로 확인 가능합니다.



출처: 공식 사이트

실시간 서버 통계로 주요 서버의 metrics와 트랜잭션을 확인 할 수 있습니다.

이는 데이터베이스 운영을 쉽게 세분화해주고, 가장 쓰임이 많은 컬렉션을 한눈에 볼 수 있습니다.

좌표 데이터의 시각화, 이해 및 작업이 가능합니다.



출처: 공식 사이트

Point와 Click으로 정교한 쿼리를 구성하고 이를 실행 하면 Compass는 이를 그래픽으로 그리고 JSON 문서로 결과를 표시합니다.

CRUD 기능을 손쉽게 사용해 데이터에 접근이 가능합니다.



출처: 공식 사이트

직관적인 편집기를 사용해 기존 문서를 몇 번의 클릭만으로 수정하거나 새로운 문서를 삽입하고 기존의 문서를 복제, 삭제하는 등의 CRUD 기능이 쉽습니다.

성능 관련 이슈를 시각화된 설명으로 볼 수 있습니다.



출처: 공식 사이트

이해하기 쉬운 GUI를 통해 쿼리의 실행 과정을 파악해 성능 문제를 해결 할 수 있는지 알아볼 수 있습니다.

인덱스 관리 및 활용률을 볼 수 있습니다.



출처: 공식 사이트

인덱스의 유형 및 크기, 사용률 및 특수 속성들의 이해를 돕습니다. 버튼 하나로 인덱스를 추가하거나 제거 할 수 있습니다.

데이터 유효성 검사를 하는 더 간단한 방법을 제공합니다.



출처: 공식 사이트

필드 이름, BSON 데이터 유형 및 유효성 키워드를 자동으로 제안해주는 스마트 편집기에 JSON 스키마 유효성 규칙을 작성할 수 있습니다.

플러그인을 통한 기능 확장이 가능합니다.



출처: 공식 사이트

Compass 플러그인 프레임워크는 API를 공개하고 있습니다. 이를 이용해 사용자는 기능을 확장할 수 있습니다.

다른 기능을 원한다면 이를 통해 플러그인을 설치하거나 직접 구축할 수 있습니다.

Aggregations을 쉽게 사용할 수 있습니다.



출처: 공식 사이트

직관적인 UI로 aggregation 파이프라인을 구축할 수 있습니다. 코드의 골격과 자동 완성은 스테이지를 쉽게 만들 수 있게 해주고 문서의 미리 보기에서는 스테이지가 당신을 필요로 하는지 보여줍니다.

파이프라인들을 다시 정렬하려면 스테이지를 추가, 제거(드래그를 통해 가능합니다!)할 수 있습니다. 완료되면 프로그램에서 사용할 네이티브한 코드로 내보낼 수 있습니다.

Studio 3T


빠른 쿼리 빌드, 즉각적인 코드 생성, 다양한 포맷 지원 그리고 더 많은 것들을 Studio 3T와 함께 할 수 있습니다.

Studio 3T는 몽고DB를 위한 GUI 툴로 Window, Mac OS, Linux를 지원합니다.

시각적인 쿼리 빌더

몽고DB의 쿼리를 빌드하는 과정은 간단하지 않습니다. Studio 3T의 드래그 앤 드롭을 이용한 빌더를 통해 몽고DB 쿼리를 쉽게 구성하고 실행 가능합니다.

간단한 데이터 수정

Document의 데이터를 빠르게 수정해야 할 필요가 있나요? Studio 3T는 더블 클릭만으로 값을 덮어씌우거나 수정할 수 있습니다. 몇 초 만에 일어나는 아주 간단한 과정이죠.

테이블, 트리 & JSON 뷰

Stuiod 3T 안에서는 세 가지 방법으로 몽고 DB의 데이터를 볼 수 있습니다. 만약 계층을 시각화하여 보고다면, 트리 뷰를 이용할 수 있습니다. 그리고 가장 강력한 방법인 테이블 뷰가 있습니다. 이는 열을 숨길 수 있으며 셀과 열, 심지어 배열 값이 포함되어 있죠.

뭐 위와 같은 방법 말고 실시간 편집기를 가지고 있는 JSON 뷰를 이용할 수도 있습니다.

INTELLISHELL(인텔리쉘)

몽고DB의 쉘을 잊어버리세요. Studio 3T에는 모든 MongoDB GUI중 가장 풍부한 편집 경험이 가능한 IntelliShell이 내장되어 있습니다. 이는 시간을 아낄 수 있고 JavaScript 표준 라이브러리 기능과 셀별로 유형을 볼 수 있으며, 오퍼레이터, 반환 값을 추가 보완하는 등 다양한 기능을 자동으로 완료할 수 있게 할 수 있습니다.

이는 몽고DB를 사용하는 데 있어 필수적인 부분이 될 겁니다.

그 외

그 외의 기능은 아주 많습니다. 이 링크를 통해서 확인이 가능합니다.

그래서 최고의 몽고DB GUI는 뭔데?

먼저 2014년에는 아래와 같은 몽고DB GUI 클라이언트가 있었습니다. MongoVue, MongoHub, RockMongo 그리고 Robo 3T(후에 Studio 3T는 따로 생깁니다. 이때는 보통 Robomongo라고 불렸습니다.)

또 2016년에는 MongoDB Compass, Robo 3T, Studio 3T, MongoBooster 가 있었죠. 우리는 현재(해당 글은 2019년 8월 글입니다)* 남아 있는 MongoDB 관리 GUI 클라이언트를 비교해볼 것입니다.

*( 실제로 해당 글에선 2014년도 4개, 2016년도 4개, 그리고 2019년도에 남아있는 6개의 GUI를 비교했으나 저희는 Studio 3T와 MongoDB Compass 만을 비교합니다.)**

Studio 3T

몽고DB를 위해 가장 진보된 GUI는 Studio 3T라고 할 수 있습니다. 몽고DB를 위한 모든 장점이 있고, 각각의 분야에서 매우 좋은 성과를 내고 있습니다. 십만 명이 넘는 사용자들을 가지고 있고 이 사용자 중에는 AT&T, 나이키, 마이크로소프트, 구글, 인텔, 테슬라와 같은 조직을 포함하고 있습니다.

물론 그들의 품질은 가격에서 드러납니다. Core, Pro, Enterprise( 현재는 Student도 있습니다. 학생 인증을 할 경우 무료로 사용이 가능합니다)*와 같은 세 가지 유형의 유료 요금제를 보유하고 있습니다. 그리고 비상업적 사용을 위해 무료 패키지도 핵심 기능들을 갖추고 있습니다.

Studio 3T의 유료 버전은 대기업들을 위해 설계되었습니다. 가장 낮은 Core 요금제는 149로시작해Enterprise599로 시작해 Enterprise는 599입니다. 한 명의 유저가 일 년을 쓰는 데 드는 비용입니다.

하지만 신입이든 MongoDB의 전문가든 Studio 3T를 사용하는 것은 시간을 절약하는 방법입니다. 최상의 기능은 드래그 앤 드롭 방식으로 쿼리를 작성하는 Visual Query Builder입니다.(* 해당 기능은 위에 시각적인 쿼리 빌더라는 내용으로 번역되어있습니다. 공식 홈페이지에서 영상으로 확인이 가능합니다.) 이 기능은 MongoDB 구문을 사용하는 데 익숙하지 않거나 효율적이지 않은 사람에게 최고의 기능입니다.

Visual Query Builder는 세 가지 View를 제공합니다: Table view, Tree view, JSON view.

각각의 뷰마다 자신이 쉽게 풀어나갈 수 있는 상황에 맞춰 사용하는 것이 좋습니다. 세 가지 View 모두에서 사용 가능한 인플레이스 코드 편집을 통해 데이터를 쉽게 조작이 가능합니다.

난 GUI보단 몽고DB의 Shell을 사랑하는 사람이라면 당신에게 좋은 소식이 있습니다. Studio 3T에는 intelliShell이 있습니다. IntelliShell은 셸 별 유형 및 자바스크립트 표준 라이브러리 기능을 자동 완성해줌으로써 시간을 절약할 수 있는 지능적 내장 몽고 쉘입니다.

Studio 3T는 복잡한 쿼리인 Aggregation을 쉽게 작성해주는 Editor가 있습니다. 또한 복잡한 쿼리를 단계별로 세분화하여 각 단계에 파이프라인 책임자를 적용해 모든 단계에서 결과를 확인할 수 있는 기능이 있습니다.

무료 요금제를 사용한다 해도 위에서 언급한 모든 기능을 경험 가능합니다. Studio 3T의 유료 요금제는 대용량의 데이터를 처리하는데 필수적인 추가 기능이 제공됩니다. 또한 대규모 애플리케이션을 구축할 때는 쿼리 작성뿐 아닌 다른 활동에 대해서 지원이 필요하기 때문이죠.

Studio 3T가 대규모 애플리케이션을 위해 가지고 있는 몇 가지 기능을 살펴보겠습니다.

  • 반복적인 작업을 자동화해주는 작업 스케줄러.
  • MongoDB 컬렉션을 SQL로 내보낼 수 있는 MongoDB-SQL 간의 마이그레이션 도구.
  • 쿼리를 Java, Python, C#, PHP 및 Node.js등 5개 언어로 변환.
  • Oracle DB, SQL Server, MySQL이나 PostgreSQL 같은 데이터베이스를 지원하는 SQL 가져오기/내보내기

MongoDB Compass

몽고DB Compass는 몽고DB 자체에서 제작한 GUI 툴입니다. 최신 MongoDB 버전을 지원하며 리눅스, 맥, 윈도우에서 사용 가능합니다.(* Studio 3T도 가능합니다.)

몽고DB Compass는 몽고DB의 3.2버전 때 소개되었으며, 쉬운 GUI 도구를 통해 몽고DB의 Shell의 모든 기능을 다루기 위해 개발되었습니다.

항상 몽고DB를 효과적으로 사용할 수 있을 만큼 좋은 무료 버전을 유지하고, 이 도구는 계속해서 개선되기에 우리는 항상 이 프로그램에 대한 기대를 할 수 있습니다.

Compass의 유료 요금제는 Enterprise, Atlas 구독을 통해서 이용이 가능합니다. 이는 주목할만한 점으로 다양한 조직들이 벤더 락을 피하고( 벤더 락이란 경제적인 측면에서 독점 잠금, 고객 잠금이라고도 하며 고객이 제품이나 해당 업체에 의존하게 하여 상당한 전환 비용 없이 다른 공급 업체를 사용할 수 없게 하는 행위를 말합니다) 여러 데이터베이스 유형을 지원하는 DBaaS 플랫폼을 활용하기 위해 노력하기 때문입니다.( DBaaS는 클라우드 데이터베이스 서비스입니다. MongoDB의 Atlas나 AWS의 RDS 서비스를 떠올리시면 됩니다. )

아래는 Compass의 몇 가지 주요 장점입니다.

  • 데이터 시각화, 작업이 가능한 직관적인 GUI 제공
  • 강력한 시각적 편집 도구를 사용해 데이터를 삽입, 수정, 삭제가 가능
  • 실시간으로 서버 통계를 확인할 수 있어 서버 상태에 대한 통찰이 가능합니다.
  • JSON 스키마 유효성 검사 규칙을 작성해 데이터의 유효성 검사가 가능합니다.
  • 플러그인을 통해 새로운 기능을 추가하고 기존 기능을 개선할 수 있습니다.

거기다가 Compass는 업데이트에 전념하고 있다. 다음은 2016년에 비해 그들이 개선한 부분이다.

  • 리눅스 지원
  • 쿼리 기록 향상
  • 두 가지 다른 버전을 제공한다. Compass 커뮤니티와 Compass
  • 플러그인 지원
  • JSON, CSV import/export 지원
  • aggregation pipelines 추가

마무리


Compass 번역은 11일에 마치고 9월 들어서 인제야 3T 부분을 마무리 지었다. 아주 게을렀고 이게 완벽한 번역이라고도 생각하지 않는다. 그리고 Studio 3T를 쓰다가 동시에 접속 가능한 기기 개수를 초과해버려서 집에서 Compass를 쓰고 있다.

최근 코로나 때문에 학교를 못 가기 때문에…. 반 강제로 Compass를 쓰고 있는데, 이게 쓰다 보니 생각보다 너무 괜찮았다. 물론 3T에서 자주 사용했던 JAVA나 Node.JS로 코드 변환해 주는 기능을 쓸 수는 없었지만, 생각보다 다양한 기능이 Compass에 있었고 지금도 만족스럽게 쓰고 있다.

만약 학생 라이센스가 있는 나에게 무슨 툴을 사용할 건지 묻는다면 당연히 Studio 3T를 사용할 것이다. 생각보다 강력한 기능이 많이 있다. 그런데 학생 라이센스 없이 사용할 거냐고 묻는다면 MongoDB 설치 시에 딸려오는 Compass를 쓸 것 같다. 대규모 개발은 내가 아직 접해보지 않아서 어떤지는 모르겠지만 적어도 소규모 개발 시에는 Compass로도 충분한 개발이 가능하다고 생각이 된다.

속도가 느린 것도 아니고 딱히 기능이 어디 빠지는 것도 아니기에(수많은 업데이트가 있었다. 거기다 최신 MongoDB 지원은 덤이다.) 굳이 라이센스 없이 Studio 3T를 쓰겠냐고 물으면 내 대답은 '아니오' 일 것이다.

0개의 댓글