본문 바로가기
Web/Server

[Linux] Ubuntu MongoDB 설치

by 수짱수짱 2022. 8. 24.

Mongo DB란?

웹 애플리케이션과 인터넷 기반을 위해 설계된 데이터베이스 관리 시스템이다.

데이터 모델과 지속성 전략을 높은 읽기와 쓰기 효율, 자동 장애조치(Failover)를 통한 확장의 용이성을 염두에 두었다.

기존의 테이블 기반 관계형 데이터베이스(RDBS) 구조가 아닌 문서 지향 데이터 모델을 사용하는교차 플랫폼 오픈 소스 데이터베이스이다.

 

비필수 스키마(스키마가 없다는 것)와 함께 JSON(Key-Value 데이터 구조)와 같은 문서를 사용하여 대량의 데이터를 저장하는 NoSQL(비관계형) 데이터 베이스이다.

NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해 비 관계형 데이터 저장소비 구조적인 데이터를 저장하기 위한 분산저장 시스템이다.

 

이를 통해 유연한 데이터 저장 모델을 통해 사용자는 쿼리를 더 쉽게 작성할 수 있고, 또한 개발자도 데이터베이스를 쉽게 관리할 수 있다. 그리고 정형 & 비정형 데이터를 보다 쉽고 빠르게 통합할 수 있다.

 

개발자 입장에서 테이블의 변경이 발생했을 때 테이블을 추가하거나 스키마를 맞춰야 하는 걱정 없이 구조화된 문서를 데이터 베이스에 저장할 수 있는 점이 매우 유연한 장점이다.

또한, RDBS에서 필요한 여러 테이블 간의 복잡한 조인 연산이 없어지며 RDBS에서 지원하는 ACID 특징이 보장되지 않는다.

 

더보기

참조

 

- https://jwprogramming.tistory.com/70

 

NoSQL 이란?

이전에 DB 포스팅에서 RDB와 NoSQL을 잠깐 이야기하며 NoSQL이 무엇인지 추후 올려드리겠다고 했었는데 지금 다루게 되었습니다. [NoSQL] - NoSQL이 무엇의 약자인지는 사람에 따라 NoSQL, Not Only SQL, Non-Rel

jwprogramming.tistory.com

- https://aws.amazon.com/ko/nosql/

 

NoSQL이란? | 비관계형 데이터베이스, 유연한 스키마 데이터 모델 | AWS

수십 년간, 애플리케이션 개발을 위해 가장 많이 사용된 데이터 모델은 Oracle, DB2, SQL Server, MySQL, PostgreSQL과 같은 관계형 데이터베이스에서 사용하는 관계형 데이터 모델이었습니다. 2000년대 중반

aws.amazon.com

- https://blckchainetc.tistory.com/350

 

[MongoDB] 몽고디비란? 기본 개념, 장점 단점 / CRUD

 MongoDB 출현 배경 알아보기 클라우드, 빅데이터 출현함으로써 이를 효율적으로 처리할 빅데이터 솔루션이 필요해짐 -> NoSQL(Not Only SQL) 의 등장 -> 대량의 데이터를 빠른 속도로 처리가능 (SQL의 부

blckchainetc.tistory.com

-https://hoing.io/archives/1379

 

MongoDB란 - 역사, 설계 목표, 핵심 기능, 몽고DB를 사용하는 이유

안녕하세요 이번 포스팅은 MongoDB in Action(몽고디비 인 액션) 2nd Edition 책의 내용을 정리한 글 입니다 인터넷에서 태어나다MongoDB 의 역사는 간단하지만, 좀 더 야심 찬 프로젝트로 부터 만들어진

hoing.io

- https://kr.teradata.com/Glossary/What-is-MongoDB

 

몽고DB란? | 테라다데이터

MongoDB는 기존의 테이블 기반 관계형 데이터베이스 구조가 아닌 문서 지향 데이터 모델을 사용하는 교차 플랫폼, 오픈 소스 데이터베이스입니다.

kr.teradata.com


1. 우분투 버전 확인

lsb_release -dc

출력된 내용중 Description 부분을 확인하면 현재 설치된 Ubuntu의 버전을 확인할 수 있다.

 

2. 패키지 관리 시스템에서 사용하는 public key 가져오기

wget -qO https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
# 대문자 O

 

3. MongoDB를 위한 List 파일 생성

리스트 경로로는  /etc/apt/sources.list.d/mongodb-org-4.4.list 으로 정한다.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

 

4. 로컬 패키지 데이터베이스 불러오기

MongoDB 패키지 설치를 위해 로컬 패지리 데이터 베이스를 불러온다.

sudo apt-get update

 

5. MongoDB 패키지 설치하기

로컬 패키지 데이터베이스 불러오기를 했다면 MongoDB 패키지를 설치하자.

sudo apt-get install -y mongodb-org

 

 

MongoDB 실행/관리용 init 시스템 확인

init 시스템은 프로세스를 실행하고 관리할 때 운영체제 내장된 시스템이다.

최신 버전의 우분투는 systemctl 을 사용하지만 service를 사용하는 경우도 있기 때문에 확인이 필요하다.

 

확인하는 방법은 터미널에 해당 명령어를 통해 사용 중인 init 시스템을 확인하는 것이다.

ps --no-headers -o comm 1

 

systemd 라면 systemctl 을 사용하고

init 이라면 service를 사용하면 된다!

 

따라서, 필자는 systemd 이므로 systemctl 명령어를 사용한다.

 
 

 

6. MongoDB 실행

sudo systemctl start mongod

6-1. MongoDB 실행 확인

sudo systemctl status mongod

 

7. MongoDB 사용 시작

mongo

위의 명령어로 MongoDB에 접속하여 작업을 진행할 수 있다.

 


MongoDB 옵션 사항

 

- MongoDB 시스템 재부팅 후 자동으로 시작 되도록 설정

sudo systemctl enable mongod

 

- MongoDB 프로세스 중지

sudo systemctl stop mongod

 

- MonogDB 재시작

sudo systemctl restart mongod

monogd 란?


MongoDB 시스템에서 가장 대표적인 작업 데몬 프로세스이다.

mongod를 통해 데이터를 요청, 데이터 접근 관리, 백그라운드 관리 작업을 수행한다.

MongoDB는 mogod 프로세스를 띄우고 운영하고 종료하는 과정으로 진행되는 것이다.

 

mongo 란?

mongod를 관리하는 자바스크립트 기반 Shell 프로그램이다.


참조: https://velog.io/@seungsang00/Ubuntu-MongoDB-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Ubuntu-20.04

 

[Ubuntu] MongoDB 설치하기 (Ubuntu 20.04)

터미널 창에서 위의 명령어를 입력해 Description 부분을 확인하면 현재 설치된 우분투의 버전을 확인할 수 있다.터미널에서 다음 명령을 실행하여 https://www.mongodb.org/static/pgp/server-4.4.asc 에서 MongoDB

velog.io

 

'Web > Server' 카테고리의 다른 글

[Linux] MySQL 설치 & Port 변경  (0) 2022.08.17
[Linux] Ubuntu - MySQL 삭제 및 재설치  (0) 2022.08.17
[Linux] 내가 주로 쓰는 명령어 정리  (0) 2022.08.15
[Oracle DB] 오류 | ORA-12514  (0) 2022.08.09