Mongo DB란?
웹 애플리케이션과 인터넷 기반을 위해 설계된 데이터베이스 관리 시스템이다.
데이터 모델과 지속성 전략을 높은 읽기와 쓰기 효율, 자동 장애조치(Failover)를 통한 확장의 용이성을 염두에 두었다.
기존의 테이블 기반 관계형 데이터베이스(RDBS) 구조가 아닌 문서 지향 데이터 모델을 사용하는교차 플랫폼 오픈 소스 데이터베이스이다.
비필수 스키마(스키마가 없다는 것)와 함께 JSON(Key-Value 데이터 구조)와 같은 문서를 사용하여 대량의 데이터를 저장하는 NoSQL(비관계형) 데이터 베이스이다.
NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해 비 관계형 데이터 저장소에 비 구조적인 데이터를 저장하기 위한 분산저장 시스템이다.
이를 통해 유연한 데이터 저장 모델을 통해 사용자는 쿼리를 더 쉽게 작성할 수 있고, 또한 개발자도 데이터베이스를 쉽게 관리할 수 있다. 그리고 정형 & 비정형 데이터를 보다 쉽고 빠르게 통합할 수 있다.
개발자 입장에서 테이블의 변경이 발생했을 때 테이블을 추가하거나 스키마를 맞춰야 하는 걱정 없이 구조화된 문서를 데이터 베이스에 저장할 수 있는 점이 매우 유연한 장점이다.
또한, RDBS에서 필요한 여러 테이블 간의 복잡한 조인 연산이 없어지며 RDBS에서 지원하는 ACID 특징이 보장되지 않는다.
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
'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 |