몽고 기본 연산
몽고 현황
몽고 Advanced
MongoDB로 대용량 데이터 마이그레이션
- 출처
- 몽고DB 완벽 가이드
- Atlas Search
- Mongo Query
MongoDB 기본 개념
- [ ] mongoDB는 분산 확장을 염두에 두고 설계됐다.
- [ ] field:value 형식으로 구성된 데이터 구조인 document 지향적 NoSQL 데이터베이스
- document 형태 데이터의 표현 방법은 JSON 타입
- JSON (JavaScript Object Notation) : 사람이 읽기 쉽고, 기계가 파싱하기 쉬운 장점이 있음
- DB에 저장될 때는, BSON 타입의 Binary 형태 데이터로 인코딩하여 저장됨
- BSON : JSON보다 스토리지 공간과 스캔 속도 모두 효율적으로 설계
- [ ] schema-less 구조로 필드 추가 및 제거가 간편
- [ ] Index : 쿼리를 효율적으로 할 수 있도록 documents에 기준(key)을 정해 정렬된 목록을 생성
- MongoDB Indexing은 B-Tree 구조
- [ ] DB 용어 정리
- cluster (sparta-prod) → database(dbintellipick) → collections(companies) → documents(data)
- Mongod : DB Server
- mongo : DB Client
ObjectId
mongoDB는 분산 DB로 설계됐기 때문에 이 특성상 샤딩된 환경에서 고유 식별자을 생성하는 것이 매우 중요했다.

- 첫 4 bytes : timestamp (timestamp가 ObjectId 앞에 있음으로써 효율적으로 인덱싱되서 입력 순서대로 정렬됨)
- 다음 5 bytes : 랜덤 (이 앞 9 bytes가 1초동안 여러 장비와 프로세스에 걸쳐 유일성 보장)
- 마지막 3 bytes : increment 값 (1초 내 단일 프로세스의 유일성 보장)
BSON (Binary JSON)