MongoDB GUI 도구 - MongoDB Compass

누군가·2024년 1월 12일

개발자가 매번 MongoDB Shell이나 Command Line에 접근하여 작업하는 것은 번거로운 일입니다.

이를 해결하기 위한 MongoDB GUI 도구를 소개합니다.

MongoDB Compass

https://www.mongodb.com/ko-kr/products/compass

  • MongoDB Compass는 MongoDB에서 공식적으로 지원하며 무료로 사용할 수 있는 GUI 도구입니다.
  • MongoDB 데이터를 시각적으로 조작하거나 Compass의 CRUD 기능을 통해 데이터와 상호작용이 가능합니다.
  • 또한 MongoDB 서버 상태 및 쿼리의 성능을 시각적으로 확인이 가능합니다.
  • Linux, Mac, Windows에서 구동 가능합니다.

MongoDB Compass 특징

  • 내장된 스키마 시각화 기능을 통해 데이터를 파악할 수 있습니다.
    • Documents와 Collections가 닿는 모든 구조를 직관적인 GUI로 분석할 수 있습니다.
    • 이를 통해 스키마를 빠르게 시각적으로 파악할 수 있고 데이터 필드 빈도, 유형 및 범위를 파악할 수 있습니다.
  • 서버 상태와 쿼리 성능을 즉각적으로 확인 가능합니다.
    • 실시간 서버 통계를 통해 주요 서버의 Metrics와 트랜잭션을 확인할 수 있습니다.
    • 이는 데이터베이스 운영을 쉽게 세분화하며 가장 쓰임이 많은 컬렉션을 한 눈에 볼 수 있습니다.
  • 손쉽게 CRUD 기능을 사용하여 데이터에 접근이 가능합니다.
    • 직관적인 편집기를 사용하여 기존 Documents를 몇 번의 클릭 만으로 수정하거나 새로운 Documents를 삽입할 수 있습니다.
    • 또한 기존의 Documents를 복제, 삭제하는 등의 CRUD 기능을 쉽게 사용할 수 있습니다.
  • 인덱스 관리 및 활용률을 확인할 수 있습니다.
    • 인덱스의 유형 및 크기, 사용률, 특수 속성들에 대한 이해를 돕습니다.
    • 손쉽게 인덱스를 추가하거나 삭제할 수 있습니다.
  • Aggregations를 쉽게 사용할 수 있습니다.
    • 직관적인 UI로 Aggregation 파이프라인을 구축할 수 있습니다.
    • 코드의 골격과 자동 완성으로 스테이지를 쉽게 만들 수 있게 해주며, 미리 보기를 통해 결과를 확인할 수 있습니다.
  • 데이터 유효성을 쉽게 확인할 수 있습니다.
    • Field 명, BSON 데이터 유형 및 유효성 키워드를 자동으로 제안해주는 편집기에 JSON 스키마 유효성 규칙을 작성할 수 있습니다.
  • Plugin을 통해 기능 확장이 가능합니다.
    • Compass 플러그인 프레임워크는 API를 공개하고 있으며, 이를 이용하여 사용자는 기능을 확장할 수 있습니다.
    • 또한 다른 기능을 원한다면 플러그인을 설치하거나 직접 구축할 수 있습니다.

설치

  • 운영체제 Windows 10 기준으로 설치 및 사용법을 작성합니다.

MongoDB Compass 설치 파일 다운로드

https://www.mongodb.com/try/download/compass

  • Version: 설치하려는 버전 선택
    • Stable 버전을 권장합니다.
    • 현재 Stable 버전은 1.39.2이므로 해당 버전을 선택합니다.
  • Platform: 설치하려는 운영체제 선택
    • MongoDB Compass를 설치하려는 운영체제를 선택합니다.
    • 여기서는 Windows 64-bit (7+) 환경을 선택합니다.
  • Package: 설치 파일의 패키지 형태 선택
    • 운영체제에 적용할 수 있는 패키지 형태를 할 수 있으며, 같은 운영체제일지라도 Platform의 선택에 따라 다른 패키지 형태일 수 있습니다.

MongoDB Compass 설치

  • 다운로드한 설치 파일을 실행합니다.
  • 자동으로 설치가 진행되며 MongoDB Compass가 실행됩니다.

MongoDB Compass 설정

  • 최초 실행할 경우 위 캡처와 같이 New Connection을 지정할 수 있습니다.
  • MongoDB 접속 정보를 URI 형태로 지정할 수도 있고, Advanced Connection Options를 통해 상세하게 지정할 수 있습니다.
# MongoDB URI 형식
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

=> 예시, mongodb://admin:****@192.168.56.101:27017/
=> Replica Set의 경우, mongodb://admin:****@192.168.56.101:27017,192.168.56.102:27017,192.168.56.103:27017
/?replicaSet=test-rs-0&authSource=admin

접속 - Main 페이지

  • 접속 정보 입력 후 Connect를 누르면 위와 같은 화면으로 전환됩니다.
  • 좌측 패널
    • My Queries: 자주 사용하는 쿼리를 저장하여 바로 접근할 수 있습니다.
    • Databases: Database 정보에 대해 출력합니다.
      - 저장 공간 크기
      - Collection 개수
      - Index 개수 등
    • Collections: Collection 정보에 대해 출력합니다.
      - 저장 공간 크기
      - Document 개수
      - 평균 Document 크기
      - Index 개수
      - 총 Index 크기
  • 상단
    • My Queries: 위와 동일합니다.
    • Performance: 서버 상태 및 쿼리 성능 등을 시각화하여 출력합니다.

Collections

  • Collection을 관리할 수 있는 기능을 제공합니다.
  • Documents: Filter를 사용하여 해당 Collection에 존재하는 Documents를 조회할 수 있습니다.
    • 데이터 Import/Export 기능을 통해 쉽게 데이터를 활용할 수 있습니다.

  • Aggregations: aggregate() 메서드는 파이프라인 단계를 배열 형태로 나타냅니다.
    • 각 조건에 맞게 파이프라인 배열 순서대로 데이터를 가공할 수 있습니다.

  • Schema: 해당 Collection 내의 Documents 값들을 분석합니다.

  • Indexes: 해당 Collection에 설정된 Index 정보를 출력합니다.
    • Index 명, 사용 빈도, 타입, Index 속성 등에 대해 출력합니다.

  • Validation: Document의 데이터 유효성을 검사합니다.
    • 데이터 유효성에 대한 규칙을 추가하면 Document가 유효한지 여부를 판단할 수 있습니다.

Reference

https://www.mongodb.com/ko-kr/products/compass

https://velog.io/@matathresh1740/MongoDB-GUI-Compass-VS-Studio-3T

https://www.mongodb.com/docs/manual/reference/connection-string/?utm_source=compass&utm_medium=product

profile
개발 중에 알게된 내용을 공유합니다 (나도 기억할겸)

0개의 댓글