Profee 프로젝트를 위해 NoSQL 데이터베이스인 MongoDB를 사용하기로 했다.
NoSQL 이란?
→ 단어 뜻을 해석하면 "Not only SQL"로 SQL만을 사용하지 않는 데이터베이스 관리 시스템을 지칭하는 단어이다.
관계형 데이터베이스를 사용하지 않는다는 의미가 아닌, 여러 유형의 데이터베이스를 사용하는 것이다.
또한 기존의 관계형 데이터베이스의 한계를 극복하기 위한 데이터의 저장소로 문서, 그래프, key-value, 인메모리, 검색 등을 포함한 다양한 데이터 모델을 사용한다.
MongoDB 란?
→ 공식문서에는 몽고디비를 다음과 같이 정의하고 있다.
" 필요한 쿼리 제공 및 인덱싱을 활용해 원하는 수준의 확장성과 유연성을 제공하는 문서 데이터베이스 (Document DB) "
즉, 우리의 MongoDB는 Document Oriented (문서 지향적인) 특징을 가지고 있다.
MongoDB 의 특징
- JSON 형식의 데이터구조를 문서(Document)에 저장한다.
- 애플리케이션의 요구사항에 따라 스키마가 유연하게 변경될 수 있다.
- 각각의 document는 독립적인 개체이므로 여러 테이블 사이에 조인을 신경써야 하는 RDBMS에 비해 여러 데이터베이스 서버에 분산되어 있어도 영향이 없기 때문에 수평적 확장에 용이하다.
- 인덱스 : 인덱스를 생성해서 효율적인 쿼리 실행을 할 수 있다.
- 확장성 : 데이터를 여러 서버로 분할하는 샤딩을 사용해서 수평적 확장을 가능하게 한다. 여러 서버로 나누거나 용량을 늘리기 위해서는 단지 서버를 추가하기만 하면 된다. (다만, 샤딩 시 MongoDB의 기본 필드인 _id컬럼이 ObjectId로 되어있는 경우 새로 데이터를 삽입 할때마다 단일 샤드로 이동하기 때문에 해시 된 샤딩을 사용해야 한다고 함.)
- 복제와 고가용성 : 동일한 데이터 복사본을 여러 서버에 저장하면서 한 서버가 다운되도 데이터가 저장된 다른 서버에서 데이터를 쉽게 검색할 수 있게 하여 고가용성을 보장한다.
- 집계 : 데이터 집계를 위한 기본 도구를 제공하므로 대량의 데이터를 쉽게 분석하고 조작할 수 있다.(pipeline)
MongoDB 설치 (MacOS)
MongoDB 설치 방법은 공식 문서에 안내되어 있다.
macOS에 MongoDB Community Edition 설치 - MongoDB 매뉴얼 v7.0
MongoDB Atlas 는 클라우드에서 호스팅되는 MongoDB 서비스 옵션으로, 설치 오버헤드가 필요하지 않으며 무료 계층을 제공하여 시작할 수 있습니다.
www.mongodb.com
0. Homebrew 설치
Homebrew가 설치되어 있지 않아 Homebrew를 먼저 설치한다.
(Homebrew == MacOS 용 패키지 관리자)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew
The Missing Package Manager for macOS (or Linux).
brew.sh
1. MongoDB 및 Database Tools에 대한 공식적인 Homebrew 수식 다운로드
brew tap mongodb/brew
2. Homebrew 및 기존의 모든 수식 업데이트
brew update
3. MongoDB 설치 명령어 실행 (7.0 버전 기준)
brew install mongodb-community@7.0
잘 설치되었는지 버전을 확인해보자.
다음 명령어를 터미널에 입력했을 때 버전 정보가 뜨면 설치가 완료된 것이다.
mongod --version
MongoDB 실행 명령어
실행
brew services start mongodb-community@7.0
중지
brew services stop mongodb-community@7.0
MongoDB Shell 사용 명령어
mongosh
MongoDB Compass 설치 (MacOS)
1. 아래 사이트에서 MacOS 용 설치 파일 다운로드
Try MongoDB Tools - Download Free Here
Free download for MongoDB tools to do more with your database. MongoDB Shell, Compass, CLI for Cloud, BI Connector and other database tools available.
www.mongodb.com
2. MongoDB Compass Connect
MongoDB를 실행시킨 후 MongoDB Compass에서 localhost:27017 로 연결되는 것을 확인한다.
(27017 == MongoDB 기본 포트)
Compass 화면 내 Fill in connection fields individually 를 클릭하여 다음과 같이 작성하면 된다.
'프로젝트 > Profee' 카테고리의 다른 글
[SpringBoot] Google 소셜 로그인 구현: OAuth2.0 & Spring Security 활용 (0) | 2024.09.10 |
---|---|
[RN] React Native 프로젝트 Xcode 오류 해결: Could Not Open File (0) | 2024.09.07 |
[RN] Error: spawn cmd ENOENT 오류 해결 (1) | 2024.09.07 |
React-native 개발 환경 구축 (MacOS) (6) | 2024.09.07 |
Spring Security & OAuth2.0 & JWT Token 소셜로그인 개념 정리 (2) | 2024.08.29 |