[MongoDB] macOS에 몽고DB + MongoDB Compass 설치
이번 포스팅은 맥os에 몽고 db와
관리툴인 MongoDB compass 설치에
관한 포스팅 입니다
NoSQL 란
NoSQL : 비관계형 데이터베이스
>> 정해진 스키마 또는 관계가 없다.
>> 안에 들어있는 데이터를 Documents라고 부른다.
>> 전체적인 구조는 Database > Collections > Documents 로 되어있다.
>> 정해진 스키마에 해당하는 데이터만 추가 가능한 SQL과 달리, 다른 스키마의 데이터를 같은 컬렉션에 추가 할 수 있다.
>> 문서는 JSON 데이터와 비슷하다.
>> 같은 스키마를 같은 테이블에 넣는 것이 아닌, 관련 데이터를 동일한 컬렉션에 넣는다.
>> 여러 테이블에 나누어 저장하는 것이 아닌, 하나의 컬렉션에 필요한 모든 데이터를 저장하게 된다
>> 조인이라는 개념이 존재하지 않는다.
>> 데이터가 자주 변경되지 않을 때 큰 장점이 된다.
>> 수평적 확장을 지원한다.
NoSQL의 장점
>> 스키마가 없기 때문에, 유연하다.
>> 언제든지 저장된 데이터를 조정하고, 새로운 필드를 추가할 수 있다.
>> 어플리케이션이 필요로 하는 형식으로 저장되기 때문에 데이터를 읽어오는 속도가 빨라진다.
>> 수직/수평 확장이 가능하다
NoSQL의 단점
>> 유연성 때문에, 데이터 구조 결정을 미루게 될 수 있다.
>> 데이터가 여러 컬렉션에 중복되어 있을 경우, 모든 컬렉션에서 수정을 해야함
MongoDB 란
MongoDB는 C++, Go 로 작성 된 문서지향적 Cross-platform 데이터 베이스 시스템이다. NoSQL 데이터 베이스로 분류되는 몽고 DB는 JSON과 같은 동적 스키마형 도구를 사용함. 이러한 포맷을 몽고 DB에서는 BSON이라고 부름.
현존하는 NoSQL 데이터베이스 중에는 가장 많이 사용되고 있다.
Database 란,
Collection들의 물리적인 컨테이너로써, 각 데이터베이스는 파일 시스템에 여러 파일들로 저장된다.
Collection 란,
Collection은 MongoDB Documnet의 그룹이다. Document들이 Collection 내부에 위치한다.
보통 RDMS의 테이블과 비슷하단 개념이라고 생각하면 되는데, 다른점은 스키마를 따로 가지고 있지 않다.
Document란,
보통 RDMS의 record와 비슷한 개념으로 하나의 데이터들을 의미한다. 여기서 데이터 구조는 한개 이상의 key-value pair로 존재한다.
Document는 동적 스키마를 가지고 있다. 따라서 같은 Collection 안에서도 서로 다른 스키마를 가지고 있을 수 있다.
Mac OS에 MongoDB 설치하기
- 맥에서 가장 쉽게 몽고 DB를 설치하는 방법은 brew로 설치하는 것
$ brew tap mongodb/brew
$ brew install mongodb-community
- 설치 된 몽고 DB버전 확인
$ mongo --version
Mac에 MongoDB-Compass 설치
- 자신의 컴퓨터에 해당하는 버전으로 설치
- 참고 튜토리얼 문서 링크 (Mac os 기준 링크) : www.docs.mongodb.com/compass/master/install/
아래와 같은 Version과 Platforms을 사용하여 설치
설치 완료 후 mongodb-compass를 어플리케이션으로 이동
[Trouble Shooting]
'MongoDB Compass'은(는) Apple에서 악성 소프트웨어가 있는지 확인할 수 없기 때문에 열 수 없습니다
>> 위와 같은 에러 발생 (어플리케이션을 열 수 없음)
>> 시스템 환경설정 > 보안 및 개인 정보 보호 > 다음에서 다운로드한 앱 허용 클릭
>> 자물쇠 클릭 후 설정 변경
>> Application으로 앱 이동 가능
>> MongoDB-Compass 앱 오픈
DB와 연결하기
- Fill in connection fiedls individually 클릭 (새로운 커넥션)
- 연결 시 승인정보가 필요 할 경우 Authentication클릭 후 해당하는 영역을 클릭한다
- 위와 같은 화면이 나오면
Hostname : MongoDB가 있는 서버의 ip 주소 (동일 서버의 경우 localhost)
Port : MongoDB 접속 포트 (기본 : 27017)
Username : 접속 시 유저이름
Password : 접속 시 비밀번호