티스토리 뷰

DataBase/MongoDB

MEAN Stack + MongoDB 설명

IT공부블로그 2019. 4. 2. 13:16
728x90
반응형

M : MongoDB

E : Express JS

A : Angular JS

N : Node JS

 

ExpressJS로 어플리케이션을 제작하는데 사용 

Node.js를 웹서버 구축에 사용한다

 

몽고db는 JSON으로 전달하기때문에 Node.js와 함께 사용하면 좀더 편하게 사용할수있다

JAVA와 함께 사용하면 매핑해야하기때문에 좀 불편할수있다

 

RDB의 레코드 == 몽고DB의 하나의 문서

RDB의 테이블 == 몽고DB의 컬렉션

RDB의 컬럼 == 몽고DB의 속성

 

RDB의 장점

데이터를 중복없이 구조적으로 모델링 가능

안정감이있다

 

RDB의 단점

스키마 (테이블구조)가 변경되면 큰일남   처음 설계가 굉장히 중요함

 

 

MongoDB의 장점

스키마가 변해도 상관이 없다  ( document형식이기때문에 문제되지않는다)

속도와 분산의 장점이있다

NoSQL의 장점만을 이용해 설계한다

 

Scale up : 수직적 확장  RDB

Scale out : 좌우로 확장 MongoDB

 

MongoDB의 ScaleOut은 shading이라고 불리기도한다

 

예를들면 Redis server에

 

 

 

primary는 쓰기서버이고 secondary는 읽기만하는서버이다

 

그런데 만약 primary서버가 고장이나면 secondary 서버중 하나가 모니터링하다가 primary를 대신한다

 

위 사진처럼 서버를 분산시키는 (shading)을 몽고db에서는 auto로 해준다 (약간의 설정필요)   auto shading == replica

 

몽고db의 내구성이 좋지않은이유 : 쓰기속도와 내구성은 반비례

 

 

몽고의 쓰기 시맨틱스 (Write Symantics)

 

1. 명령하고 잊어버리기 (fire-and-forget) : 명령을 치고 잊어버려서 복구가 되지않는다 주로 로그같은것에 사용

2. 안전모드 (safemode) : 기본적으로 disabled 되어있다  사용시 속도가 조금 느려질수있음

 

 

명령하고 잊어버린다해도 저널링을 사용하면 된다 

 

저널링 : 디스크의 io, CRUD를 다 기억해둔다 

 

저널링을 사용하지않는다면 백업을 사용

 

클러스터링 == Shading

 

728x90
반응형

'DataBase > MongoDB' 카테고리의 다른 글

MongoDB 기본 쿼리문  (0) 2019.04.02
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함