MongoDB
- NoSQL 데이터베이스로, JSON 형태의 데이터를 저장하는 도큐먼트 지향 데이터베이스
NoSQL
- 관계형 데이터 모델을 사용하지 않고 SQL을 사용하지 않는 그 이외의 모든 데이터베이스 시스템 또는 데이터 스토어를 일컬어 NoSQL이라 함
- 확장성과 기용성, 높은 성능, 그리고 다양한 데이터 형태를 수용 가능
MongoDB 핵심 기능
도큐먼트 데이터 모델
- 내부적으로 BSON(Binary JSON)이라고 하는 Binary 인코딩 형식으로 JSON 문서 저장
- 도큐먼트를 컬렉션에 저장(RBD에서는 로우를 테이블에 저장)
- 스키마가 없는 데이터 모델을 통해 가변적인 속성을 갖는 데이터 표현
애드훅 쿼리
- 동적 질의를 제공
- MongoDB의 설계 목적중에 하나는 RDBMS에서 필수적인 풍부한 쿼리 기능을 NoSQL에서도 사용할 수 있게 하는것
인덱스
- 세컨더리 인덱스를 통해 더 넓은 범위의 쿼리를 최적화 가능
- 한 컬렉션에 64개까지 세컨더리 인덱스 생성 가능
- 오름차순, 내림차순, 고유키, 복합키, 해시, 텍스트, 지리공간적 인덱스 같은 모든 인덱스를 사용가능
복제
- 자체적으로 복제기능을 갖추고 있고, 장애에 대비해 데이터를 여러대의 서버에 분산하며, 자동화된 failover 시스템을 제공
- 복제 세트를 통해 읽기 작업을 분산 가능
속도와 내구성
- 시맨틱스(Write semantics)와 저널링(journaling)을 통해 구현
확장
- 샤딩을 통한 확장을 지원
트랜잭션
- MongoDB는 4버전 부터 Replication Set 대한 트랜잭션을 지원하기 시작, 4.2부터는 RDBMS 같은 트랜잭션 기능을 지원
'dev > DB' 카테고리의 다른 글
| MongoDB - 집계1 (0) | 2021.10.28 |
|---|---|
| MongoDB - Query Selectors(1) (0) | 2021.10.22 |
| [MongoDB] 도큐먼트 지향 데이터 (0) | 2021.10.15 |
| 자바스크립트 셸을 통한 MongoDB (0) | 2021.09.30 |
| MongoDB 설치 (0) | 2020.07.27 |