MongoDB 개념 및 docker로 서비스

NoSQL DB란

Not only SQL라는 뜻으로써 단순히 기존 관계형 DBMS의 특성뿐만 아니라 다른 특성들도 포용한다는 뜻으로 이해 된다. 정형화 되지 않은 데이터를 수용하고 그것들의 확장성을 쉽게 할 수 있는 장점이 있어 요즘 각광을 받는 것 같다. RDBMS와 NoSQL의 차이점을 잘 정리된 이 있어 공유 한다.

Mongo DB

NoSQL 진영에서 제일 각광 받고 제일 많이 사용되는 Database이다. Mongo DB는 Document 기반으로 구성되었다. 또한 RDBMS의 ACID 대신 BASE특징을 지원한다. BASE는(Basically Available Sift state Eventually consistent)의 약자로써 기본적인 가용성을 보장한다고 이해하면 될것 같다.

Docker로 서비스 하기

기본적인 OS별 설치는 여기서 다루지 않기로 한다. Docker를 이용하여 컨테이너롤 서비스 하는 방법을 설명할 예정이다.

Mongo DB 컨테이너 실행

기본적으로 아래 사이트를 방문하여 MongoDB의 이미지 버전들과 사용법을 알 수 있다

https://hub.docker.com/_/mongo

아래 명령어로 서비스를 구동해 보자

docker run -d --name mongodb-test -p 17017:27017 \
 -v ~/mongod.conf:/etc/mongod.conf \
 -v ~/data/db:/data/db mongo --config /etc/mongod.conf
  • -name : 컨테이너 이름 지정

-p: 포트 매핑을 해준다. 앞에 host port를 쓰고 뒤에 컨테이너 service port를 적어준다.

-v: 볼륨 매팅을 해준다, 여기서는 설정파일과 데이터 저장 경로에 대한 볼륨을 각각 지정 했다.

  • -config: 설정파일 경로를 지정해 준다. MongoDB에서 설정파일 경로를 지정해 주지 않으면 기본적으로 설정파일을 읽어들이지 않는다.(MongoDB 설정파일에 대한 내용은 공식 문서를 참고하기 바란다.)

Docker-compose 사용

아래 yaml파일을 사용하여

version: "1.0"      
services:           
  mongodb:          
    image: mongo    
    restart: always 
    environment:    
      - MONGO_INITDB_ROOT_USERNAME: monggo
      - MONGO_INITDB_ROOT_PASSWORD: 1234
    volumes:
            - ~/mongod.conf:/etc/mongod.conf
            - ~/data/db:/data/db 
    ports:                
      - "27017:27017"     

MongoDB 접속

제일 쉬운 방법은 컨테이너로 접속하여 내부에서 MongoDB에 접속하는 방법이다.

아래 캡쳐는 구동된 컨테이너로 이동 후 DB에 접속하는 모습이다

Host에서 DataGrip를 이용하여 MongoDB 접근

컨테이너를 올릴때 사용된 정보를 입력하면 연결은 정상적으로 되는 것을 확인 할 수 있다.

다음편에서는 JPA를 이용하여 Spring boot에서 MongoDB 사용법에 대하여 다루어 볼 예정이다.

https://www.samsungsds.com/kr/insights/1232564_4627.html

 

NoSQL이란 무엇인가? 대량데이터 동시처리위한 DBMS 종류와 특징

NoSQL이란 무엇인가? 대량데이터 동시처리위한 DBMS 종류와 특징

www.samsungsds.com

https://junho94.tistory.com/7

 

MongoDB 이해하기

MongoDB의 장점 -MongoDB는 NoSQL을 이용한 DBMS이다. NoSQL은 Not only SQL의 약자이며 특징으로는 1) 관계형 모델을 사용하지 않는다. 2) 스키마 없이 동작한다. 정도가 있다. MongoDB는 왜 빠를까? -NoSQL인..

junho94.tistory.com

https://elfinlas.github.io/2019/02/11/docker-on-mongo/

 

Docker에서 MongoDB 설치하기

Docker에서 MongoDB 설치하기최근 Spring boot에 사용자 로그 기록을 위해 MongoDB를 사용해야 했고, 이를 위해 Aws에서 Docker 기반에 MongoDB 환경을 구성하게 되었다.나중에 또 사용할 것 같아서 정리하여

elfinlas.github.io

'DataBase' 카테고리의 다른 글

ORM 장단점  (0) 2021.12.12
Postgres Failover 방법  (0) 2021.12.12
PostgreSQL 설치부터 이중화까지  (0) 2021.12.12
MongoDB 기본적인 사용법  (0) 2021.11.07
Docker로 PostgreSQL를 서비스 하기  (0) 2021.11.03