MongoDB는 우리가 알고있는 MySQL과 다르게 관계형 데이터베이스가 아닌 도큐먼트 지향 데이터베이스다.
아래에서 부턴 편하게 말하기 위해서 MongoDB를 몽고디비라고 부르겠다
1. 손 쉬운 사용
몽고디비는 도큐먼트의 키와 값을 미리 정의하지 않는다.
따라서 고정된 스키마가 없기 때문에 필요할때마다 필드를 추가하거나 제거할 수 있다
-> 개발속도를 향상 시킬 수 있다
2. 확장 가능한 설계
오늘날 저장할 데이터가 증가함에 따라 개발자는 '데이터베이스를 어떻게 확장할 것인가?' 하는 문제에 부딪히는데,
데이터베이스를 결국 확장한다는 것은 더 큰 장비로 성능확장을 할지, 아니면 데이터를 나눠서 분산확장할 지 결정해야하는데,
성능확장이 더 편한길이지만 가격이 비싸고 결국 더는 확장할 수 없는 물리적 한계에 도달할 수 있다
이럴때는 보통 분산확장을 하는 편인데, 처리공간을 늘리거나 처리량을 높이는 경우다.
하지만 이런 수천대의 장비를 운영해야하기 때문에 하나의 장비를 관리할 때 보다 관리가 더 어려워지기는 한다,,
몽고디비는 분산확장을 염두에 두고 설계된 데이터베이스다.
3. 다양한 기능
- 인덱싱 : 일반적인 보조 인덱스를 지원한다.
- 집계 : 데이터 처리 파이프라인 개념을 기반으로 한 집계 프레임워크를 제공한다.
- 특수한 컬렉션 유형 : 로그와 같은 최신데이터를 유지하고자 세션이나 고정 크기 컬렌션과 같이 특정 시간에 만료해야하는 데이터에 대해 유효시간 컬렉션을 지원한다.
- 파일 스토리지 : 큰 파일과 파일 메타데이터를 편리하게 저장하는 프로토콜을 지원한다.
=> 몽고디비의 주 관심사는 확장성이 높고, 유연하고 빠른 즉 완전한 기능을 갖춘 데이터 스토리지를 만드는 일이다.
'DB > MongoDB' 카테고리의 다른 글
[MongoDB] 쿼리 (0) | 2024.02.26 |
---|---|
[MongoDB] 도큐먼트 생성,갱신,삭제 (0) | 2024.02.24 |