MongoDB 소개

70_Lecture/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 myDatabase

5. 시험 팁 (Certification Tips)

  • MongoDB가 BSON을 사용하는 이유를 이해하세요 (효율성, 데이터 타입 확장).
  • mongodmongosh의 역할을 구분할 수 있어야 합니다.
  • 유연한 스키마가 RDBMS의 고정 스키마와 어떻게 다른지 숙지하세요.

6. 베스트 프랙티스

  • 가능한 최신 버전을 유지하여 성능 개선 및 보안 패치를 활용하세요.
  • 데이터 파일과 로그 파일의 저장 경로를 별도의 디스크로 분리하는 것이 성능에 유리합니다.