본문 바로가기
  • AI (Artificial Intelligence)
Industry 4.0/Big Data

Mac OS에 MongoDB 설치 및 Robomongo 설치

by 로샤스 2019. 8. 16.

MongoDB는 아래의 설명에서도 알수 있듯이 문서지향(Document-Oriented)의 cross-platform 데이터베이스이다. NoSQL 데이터베이스이며 JSON형식의   문서를 사용한다. 이번에 Scrapy를 이용한 뉴스 크롤링하기에서 크롤링한 뉴스기사들을 MongoDB에 저장하기 위해 MongoDB 설치를 포스팅하게 되었다.

 

MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. MongoDB is developed by MongoDB Inc. and is free and open-source, published under a combination of the GNU Affero General Public License and the Apache License.

MongoDB 설치는 아래와 같이 HomeBrew를 이용해 설치하고 MongoDB GUI 중 하나인 Robomongo를 설치해본다.

 

1. HomeBrew 설치

HomeBrew는 Mac OS에서 다양한 패키지들을 관리하기 쉽게 해주는 역할을 한다.

이번 MongoDB를 설치할 때 Homebrew를 이용하여 설치한다.

HomeBrew 설치는 아주 간단하다. 아래의 명령어를 터미널(Terminal)에 입력해 주면 된다.

자세한 설명은 https://brew.sh/index_ko.html 에서 확인할 수 있다.

1

/usr/bin/ruby -"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

cs

 

 

2. MongoDB 설치

HomeBrew 설치 완료 후 아래와 같은 명령어를 입력하면 MongoDB가 설치된다.

1

brew install mongodb

cs


3. data 폴더 생성 및 설정

MongoDB는 /data/db 폴더에 데이터를 저장한다. 따라서, 다음과 같은 작업들이 필요하다.

1

2

3

4

5

#db폴더 생성

sudo mkdir -/data/db

 

#db폴더 권한 변경

sudo chown [사용자이름] /data/db

cs

위의 명령어를 입력한 뒤 폴더 권한을 확인하면 다음과 같이 폴더 권한이 변경된 것을 확인할 수 있다.

 

 

4. MongoDB 실행

MongoDB를 실행하기 위해서는 서버를 실행한 다음 MongoDB를 실행해야한다.

 

1) MongoDB 서버 실행

먼저 Terminal에 아래의 명령어를 통해 MongoDB서버를 실행한다.

1

2

# MongoDB 서버

mongod

cs

 

2) MongoDB 실행 (mongo shell)

새로운 Terminal을 실행하여 아래의 명령어를 입력한다. 

1

2

# MongoDB 실행

mongo

cs

아래의 그림에서 마지막에 나타난 문구 'WARNING: soft rlimits too low. Number of files is 256, should be at least 1000' 는 mongod가 적절하게 운용되려면 시스템 자원의 운용과 관련해서 리소스 한계치 설정 값(ulimit settigs)을 권장치 만큼 지정해 줄 것을 권장하는 경고 문구이다.(출처: 미남이의 이러쿵저러쿵)

테스트용으로 mongodb를 사용하는 것은 신경쓰지 않아도 괜찮을 듯 하다.

 

5. Robomongo 설치

Robomongo는 MongoDB를 관리하기 편하게 해주는 GUI 툴들 중 하나이다. Mac OS/Linux/Windows 운영체제를 지원한다.

다운로드는 https://robomongo.org/download 에서 다운가능하다.

 

6. Robomongo 실행

Robomongo를 실행하면 다음과 같은 창이 뜬다. 

'Create'를 클릭하여 'localhost' MongoDB Connection을 만든다. 

 

 

7. MongoDB DataBase 생성 및 Collection 생성하기

1) DataBase 생성

MongoDB에서 DataBase생성은 use [db_name] 이라는 명령어를 통해 생성할 수 있다. 

위의 4-2) Mongo shell을 실행시킨 후 다음과 같이 입력한다.

1

2

3

# Database 생성

>use news_crawl

switched to db news_crawl #결과

cs

 

2) Collection 생성

MongoDB에서 Collection은 RDBMS에서 테이블(Table)이라고 생각하면 될 듯(?) 하다. 실제로 데이터들이 저장되는 곳이 바로 Collection이다.

1

2

3

# Collection 생성

>db.createCollection("news")

"ok" : 1 } #결과

cs

 

위와 같이 DB와 Collection을 생성한 뒤, Robomongo를 통해 제대로 생성되었는지 확인 할 수 있다.

 

 

 

정말 오랜만에 Mongo를 사용하게 되었다.
MSA로 가면서 거의 RDBMS의 자리는 없어진다..
SQL-Mapper 대신 ORM이 대세인 것 처럼.

Front-end 개발자는 이제 죽어 날것이다..
GraphQL 공부도 좀 해놔야 겠다.

관리 툴 추가:

1. https://www.nosqlbooster.com/downloads

2. https://studio3t.com/features/

Reference: https://excelsior-cjh.tistory.com/85 [EXCELSIOR]

 

댓글