[NoSQL이란?]
MongoDB는 대표적인 NoSQL중 하나이다. 뭔지 한번 알아보자.
NoSQL은 "Non Relational Operation Database SQL"의 줄임말로 관계형 데이터베이스가 아닌 것을 뜻한다.
요즘에는 No SQL이라는 의미보다는 Not Only SQL이라는 의미로도 통용되는 것으로 알고 있다.
이러한 NoSQL은 인터넷의 활성화, 소셜네트워크 서비스의 등장에 따라 생겨난 각종 비정형데이터들을
기존의 기술인 SQL보다 효율적으로 처리할 수 있는 구조를 가지고 있는 새로운 기술이다.
MongoDB는 JSON타입의 Document를 다루는 방식의 NoSQL이다
[장점 및 단점]
장점
-Read/Write 성능이 뛰어나다
-Schema-less라서 어떤 형태의 데이터라도 저장 가능
-JSON형태로 저장하여 직관적인 이해가 가능
-강력한 Query 성능
-하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리하는 수평적 확장 개념인 Scale-out기반으로 확장이 용이
단점
-JOIN이 없음
-memory mapped 방식으로 관리되어 메모리의 크기가 성능을 좌우한다(많은 양의 데이터를 담기 위해선 virtual memory가 필수적으로 사용되며 이때에 성능을 잡아먹는 주요 요인인 page-fault를 피하기 위해 적절한 caching 및 key 설계를 해야한다)
http://bcho.tistory.com/746(참조)
-B트리 인덱스를 사용하여 인덱스를 생성하는데, B트리는 크기가 커질수록 새로운 데이터를 입력하거나 삭제할 때 성능이 저하된다. 이런 B트리의 특성 때문에 데이터를 넣어두면 변하지않고 정보를 조회하는 데에 적합하다.
[MongoDB 설치]
MongoDB Download라고 검색하면 나오는 MongoDB 공식 사이트에서
아래의 MongoDB Community Server를 다운받는다.(https://www.mongodb.com/try/download/community-edition)
플랫폼을 Ubuntu 22.04으로 설정하자.

이후 terminal을 열고
cd를 통해 Downloads폴더에 들어간 후
ls를 통해 실행시키고자 하는 .deb파일의 이름을 복사하여 다음과 같은 sudo dpkg -i문으로 실행한다
cd Downloads
sudo dpkg -i mongodb-org-server_6.0.6_amd64.deb

이러면 설치는 완료된다.
설치가 잘 되었는지 확인하고 MongoDB 서버를 활성화하기 위한 명령어는 다음과 같다.
#mongoDB 서버의 상태를 확인
sudo systemctl status mongod
#mongoDB 서버를 활성화
sudo systemctl start mongod
sudo systemctl start mongod 명령어를 입력하자 Active로 변하는 모습이다.

[MongoDB Shell 설치]
위의 방법과 동일하다
MongoDB 공식 웹사이트에서 좌측에 Tool메뉴를 클릭해(https://www.mongodb.com/try/download/shell)
해당 파일을 설치해준다.

다운받은 파일을 위와 동일한 방식으로 sudo dpkg -i문을 이용하여 패키지를 설치해준 후
mongosh를 입력하면 아래와 같이 접속된다.(MongoDB server를 active상태로 설정해놔야 함)

CLI환경에서 간단하게 다음과 같이 DB에 Collection과 JSON 데이터를 추가해보았다.
use mydb 명령어를 통해 새로운 데이터베이스를 만들면서 switch해 들어가고
db.createCollection("students")를 통해 새로운 collection을 생성
db.students.insert({JSON파일})을 통해 새로운 데이터를 추가해준 모습이다.

[MongoDB Compass]
앞의 MongoDB Shell이 CLI환경이었다면
MongoDB Compass는 GUI환경에서 데이터베이스 관리를 할 수 있게 해주는 툴이다.
동일하게 (https://www.mongodb.com/try/download/compass)
에서 해당 파일을 다운받고 동일하게 sudo dpkg -i문을 이용하여 패키지를 설치한다
이후 Ubuntu Applications에서 새로 추가된 MongoDB Compass앱을 찾아 실행한다

아까 추가했던 students collection과 해당 JSON data를 확인할 수 있다.

데이터베이스 생성(create), 삭제(drop), add data등의 명령을 GUI를 통해 더 편하게 실행하고
눈으로 확인할 수 있는 모습이다.
[참고]
https://www.youtube.com/watch?v=HSIh8UswVVY
'CS > 리눅스로 한 학기 살기' 카테고리의 다른 글
| [12주차] 리눅스로 한 학기 살기 프로젝트를 마치며.. (0) | 2023.05.29 |
|---|---|
| [11주차] Ubuntu 22.04에 Jira 설치하기 (0) | 2023.05.24 |
| [9주차] Fcitx를 이용한 우분투 한글 설치 (0) | 2023.05.21 |
| [8주차] wireshark를 통해 패킷 뜯어보기(컴네 시험 공부를 곁들인) (0) | 2023.05.17 |
| [7주차] - 우분투 게임 맛보기 (0) | 2023.05.16 |