-
[MongoDB] MongoDB 특징NoSQL/MongoDB 2022. 3. 8. 09:55반응형
MongoDB 소개
- 10gen 사에서 개발한 솔루션(C++)
- key-value와 다르게 여러 용도로 사용이 가능(범용적)
- 스키마를 고정하지 않는 형태
- 스키마 변경으로 오는 문제없음
- 데이터를 구조화해서 json 형태로 저장(데이터를 key-value화 저장)
- Join이 불가능하기 때문에 Join이 필요 없도록 데이터 설계 필요
MongoDB 특징
- 메모리맵 형태의 파일엔진 DB이기 때문에 메모리에 의존적
- 메모리 크기가 성능을 좌우
- 메모리를 넘어서는 경우 성능이 급격히 저하됨 - 쌓아 놓고 삭제가 없는 경우 적합
- “로그 데이터”
- “이벤트 참여 내역”
- “세션” - 트랜잭션이 필요한, 금융, 결제, 빌링, 회원 정보 등에는 부적합
도큐먼트 데이터 모델
- 속성의 이름과 값으로 이루어진 쌍의 집합
- 속성은 문자열이나 숫자, 날짜 가능
- 배열 또는 다른 도큐먼트를 지정하는 것도 가능함
- 하나의 document에 필요한 정보를 모두 담아야 함
- one query로 모두 해결이 되게끔 collection model 설계를 해야 함
- Join이 불가능하므로 미리 embedding 시켜야 함
도큐먼트 형태의 구조
JSON (JavaScript Object Notation)
- lightweight data 교환 형식
- 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉬움
- JavaScript의 Array 문법으로 데이터 구조를 기술하는 방법으로 XML이 가지는 유연성과 구조적 데이터 표현 기능을 확보하면서, XML이 가진 오버헤드를 줄이는 방법으로 사용됨
- 클라이언트에서 처리 퍼포먼스 높음
- XML이 표현하는 구조적인 정보 모두 표현 가능
- 송수신 데이터로 XML를 사용하는 것에 비해 훨씬 빠르고, 간편함
JSON 표기법
- 각 객체는 중괄호({})로 시작하고 끝남
- 문자열과 값으로 구성되어 있고 콜론(:)으로 구분
- 각 멤버들은 콤마(,)로 구분
- 값은 object, string, number, array, true, false, null 사용 가능
- 문자의 경우엔 따옴표를 사용하고, 숫자의 경우 따옴표를 사용하지 않음
- 배열의 경우 대괄호([])로 시작하고 끝나며 각 값은 콤마(,)로 구분
MongoDB 장점/단점 : https://tychejin.tistory.com/349
MongoDB 주요 기능 : https://tychejin.tistory.com/350출처 : https://tacademy.skplanet.com
반응형'NoSQL > MongoDB' 카테고리의 다른 글
[MongoDB] Robomongo 3T - Database, Collection, Document 생성 및 조회 (0) 2022.03.10 [MongoDB] MongoDB 명령어 - Database, Collection, Document (0) 2022.03.08 [MongoDB] MongoDB 설치 및 환경 설정(Windows10) (0) 2022.03.08 [MongoDB] MongoDB 주요 기능 (0) 2022.03.08 [MongoDB] MongoDB 장점/단점 (0) 2022.03.08