70_Lecture/MongoDB
MongoDB 소개
1. MongoDB 개요
- 정의: C++로 작성된 오픈 소스 지향 NoSQL 데이터베이스입니다.
- 문서 지향(Document-oriented): 데이터를 테이블 형식이 아닌 유연한 JSON과 유사한 문서(BSON)로 저...
70_Lecture/MongoDB
데이터 모델링
1. 관계 설계 전략
MongoDB에서 관계를 모델링하는 두 가지 주요 방법이 있습니다.
임베딩 (Embedding)
- 정의: 연관된 데이터를 하나의 문서 내에 중첩된(nested) 필드로 저장.
- 장점: 단일 읽기...
70_Lecture/MongoDB
CRUD 작업
1. 쓰기 작업 (Create & Update)
Write Concern
쓰기 작업의 안정성을 결정하는 옵션입니다.
- w: 1: 기본값. Primary 노드의 메모리에만 쓰기가 성공하면 응답.
- w: majority:...
70_Lecture/MongoDB
집계 프레임워크
1. 집계 파이프라인 (Aggregation Pipeline) 개요
여러 단계(Stage)를 거쳐 데이터를 필터링, 그룹화 및 변환하는 강력한 엔진입니다.
주요 파이프라인 단계 (Stages)
- $match: 쿼리 조건...
70_Lecture/MongoDB
인덱싱 및 성능
1. 인덱스 유형 (Index Types)
- 단일 필드 (Single Field): 하나의 필드에 대해 생성.
- 복합 인덱스 (Compound Index): 두 개 이상의 필드를 조합. 필드의 순서가 중요함.
- 멀티키...
70_Lecture/MongoDB
복제
1. 레플리카 셋 아키텍처
데이터 가용성을 보장하기 위해 여러 서버에 데이터를 복제하는 방식입니다.
- Primary: 모든 쓰기 작업을 처리하고 Oplog(Operations Log)를 생성.
- Secondary: Primary의...