MongoDB 소개
공유하기:
MongoDB 소개
1. MongoDB 개요
- 정의: C++로 작성된 오픈 소스 지향 NoSQL 데이터베이스입니다.
- 문서 지향(Document-oriented): 데이터를 테이블 형식이 아닌 유연한 JSON과 유사한 문서(BSON)로 저장합니다.
- 확장성: 수평적 확장이 용이하며 대규모 데이터 처리에 적합합니다.
2. 유연한 스키마 (BSON vs JSON)
- JSON (JavaScript Object Notation):
- 텍스트 기반, 인간이 읽기 쉬움.
- 지원하는 데이터 타입이 제한적임 (문자열, 숫자, 불리언 등).
- BSON (Binary JSON):
- MongoDB 내부 저장 및 네트워크 전송을 위한 이진 포맷.
- 더 많은 데이터 타입 지원 (Date, ObjectId, Binary 등).
- 효율적인 공간 사용 및 빠른 파싱.
3. MongoDB 아키텍처
- mongod: 데이터베이스 서버의 핵심 프로세스. 데이터를 처리하고 액세스하며 백그라운드 작업을 실행합니다.
- mongosh: MongoDB와 상호작용하기 위한 대화형 JavaScript 쉘.
- Data Directory: 기본적으로
/data/db를 사용 (설정에 따라 변경 가능).
4. 실습 명령어
// 서버 상태 확인
db.serverStatus()
// 현재 사용 중인 데이터베이스 확인
db.getName()
// 데이터베이스 목록 보기
show dbs
// 데이터베이스 전환 (없는 경우 생성됨)
use myDatabase5. 시험 팁 (Certification Tips)
- MongoDB가 BSON을 사용하는 이유를 이해하세요 (효율성, 데이터 타입 확장).
mongod와mongosh의 역할을 구분할 수 있어야 합니다.- 유연한 스키마가 RDBMS의 고정 스키마와 어떻게 다른지 숙지하세요.
6. 베스트 프랙티스
- 가능한 최신 버전을 유지하여 성능 개선 및 보안 패치를 활용하세요.
- 데이터 파일과 로그 파일의 저장 경로를 별도의 디스크로 분리하는 것이 성능에 유리합니다.