- 분산 확장 기반의 설계
- BSON : 다양한 데이터 유형, 적은 용량, RPC 에서의 빠른 통신
- Oplog : replica set (primary, secondary), 비동기적으로 데이터 동기화, 모든 동작의 로그
- Journaling : Wired Tiger, binary, 데이터 복구, write-ahead log
- Replica set : mongo에서 High Availability를 위한 복제 그룹
- Sharding: 여러 대의 서버에 DB 분산, shard key (cardinality 고려)
- 분산 DB의 전통적인 분할 3계층: 응용 계층 (client) / 중개자 계층 (mongos, config servers) / 데이터 계층 (shards)
- mongo index : b- tree, non clustered index, esr rule
- read preference, write concern
MongoDB를 사용할 이유
https://rastalion.dev/rdbms-전문가인-내가-mongodb를-추천하는-이유/
https://youtu.be/sqVByJ5tbNA?si=20WVYyhvN4uj2LJz
유연성과 안정성의 결합
- MongoDB 4.0부터 다중 문서 ACID 트랜잭션 지원
- RDBMS에서 보장하는 수준의 데이터 일관성을 MongoDB에서도 실현 가능
- session.startTransaction(); session.commitTransaction();
- 스키마 검증
최신 기능
- 벡터 검색 기능 (AI / ML 개발 시 사용)
- Lucene 기반의 MongoDB Atlas 검색 엔진