1. NoSQL 이란?
NoSQL은 관계형 데이터베이스가 제공하는 SQL 언어와 스키마 구조 외의 다양한 데이터 모델을 지원하는 데이터베이스를 의미한다. NoSQL 데이터베이스는 주로 다음과 같은 특성을 가진다.
- 비관계형 데이터 모델: 테이블, 행, 열 대신 다른 구조(문서, 키-값, 그래프 등)를 사용하여 데이터를 저장한다.
- 유연한 스키마: 사전에 정의된 스키마가 없어, 데이터 구조를 유연하게 변경할 수 있다.
- 수평적 확장성: 데이터와 트래픽이 증가함에 따라 여러 서버에 데이터를 분산시켜 확장할 수 있다.
- 고성능: 대량의 데이터를 빠르게 읽고 쓸 수 있도록 최적화되어 있다.
SQL(MySQL) | NoSQL(MongoDB) |
규칙에 맞는 데이터 입력 | 자유로운 데이터 입력 |
테이블 간 JOIN 지원 | 컬렉션 간 JOIN 미지원 |
안정성, 일관성 | 확장성, 가용성 |
용어(테이블, 로우, 컬럼) | 용어(컬렉션, 다큐먼트, 필드) |
2. MongoDB 설치 (MacOS)
설치 방법 : https://www.mongodb.com/ko-kr/docs/manual/tutorial/install-mongodb-on-os-x/
macOS에 MongoDB Community Edition 설치 - MongoDB 매뉴얼 v8.0
설치 후 macOS가 mongod 실행을 차단할 수 있습니다. mongod을 시작할 때 개발자를 식별하거나 확인할 수 없다는 보안 오류를 수신한 경우 다음을 실행하여 mongod에 액세스 권한을 부여합니다. 시스템
www.mongodb.com
2.1. 공식 Homebrew tap을 추가하고 MongoDB를 설치
brew tap mongodb/brew
2.2. MongoDB brew 로 설치
brew install mongodb-community@8.0
2.3. MongoDB 서비스 실행
brew services start mongodb-community@8.0
2.4. MongoDB 서비스 중지
brew services stop mongodb-community@8.0
3. MongoDB에 접속하기
mongosh
4. admin 전환
MongoDB에서 어드민 계정을 생성하기 위해 admin 데이터베이스로 전환한다.
use admin
프롬프트가 다음과 같이 변경된다:
switched to db admin
5. admin 사용자 생성
이제 admin 데이터베이스에 어드민 사용자를 생성하면 된다. 어드민 사용자는 MongoDB의 모든 데이터베이스에 대한 관리 권한을 가진다.
db.createUser({
user: "admin",
pwd: "강력한비밀번호123!", // 반드시 강력한 비밀번호로 변경하세요
roles: [ { role: "root", db: "admin" } ]
})
MongoDB에 접속 중일 때, 위와 같이 계정을 생성할 수 있다.
6. Compass 설치
몽고디비는 compass, Studoi 3T, Robo 3T 등 10가지의 GUI Tools를 제공한다.
compass는 몽고디비에서 공식적으로 배포하는 도구이다.
https://www.mongodb.com/try/download/compass
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
MacOS 인 경우 위와 같은 패키지를 다운로드 받아 설치하면 된다.
'Node.js' 카테고리의 다른 글
데이터베이스 - MongoDB CRUD 작업하기 (0) | 2025.01.20 |
---|---|
데이터베이스 - MongoDB 데이터베이스 및 컬렉션 생성 (0) | 2025.01.18 |
데이터베이스 - Sequelize 쿼리 정리 (0) | 2025.01.17 |
데이터베이스 - 테이블 관계 (0) | 2025.01.17 |
데이터베이스 - 시퀄라이즈 모델 (0) | 2025.01.17 |