> MongoDB 아키텍쳐
- Replica Set : Fail-Over용 백업 Primary가 죽으면 Secondary가 primary가 됨 = Shard 1개를 의미한다. - auto fail-over 가 된다.
primary와 secondary 각각 데이터 파일을 가지고 있다. secondary는 사용할 수 없다. primary만 서비싱
- MongoDB는 HTTP 즉 World Wid Web(WWW) 상의 모든 데이터를 연결시키는 것과 같다. 상상을 해보자 MongoDB는 웹상의 데이터가 합쳐지고 관리되어 지도록 만들었다는데 의미가 있다.
- primary와 secondary 자체도 머신이 분리 될 수 있다. 당연히 shard 들도 머신 분리 될 수 있다.
Replica Set = Shard 이다
- shard에 전체 데이터를 나누어 갖는다. mongos(몽고스)가 routing 한다. 즉, client는 mongos로 접속한다.
* mongoos (몽구스)는 Node.js와 연결하는 driver이다.
- replica, shard는 disk 서비스이다. memcached 같은 것은 memory 서비스이다.
- 3개월에 한번씩 major version upgrade
- 데이터베이스 = 중복되지 않는 데이터들의 집합체
- CAP 개념 : NoSQL의 CAP
> MongoDB 특징
- Agile and Scalable : 신속하고 확장 가능한 개발을 위한 저장소
+ Agility : 실시간으로 변경된다. Schemeless 이다.
+ Scalable : 무한 확장 가능하다.
- 무조건 64bit로 사용하여 무한 메모리를 사용할 수 있다. 메모리 관리는 OS가 하도록 한다. 32bit는 4G만 사용할 수 있다.
- High Availability
- Auto Sharding
- Rich Query : human readerble & 인간의 뇌구조 key=value 즉, 문제=해결
- Full Indexing
- Fast In-Place Update : CRUD
- Map/Reduce : version 2.2 의 핵심. MongoDB 자체가 M/R하던가 Hadoop으로 M/R를 주던가 한다. 결국은 Hadoop으로 간다.
- GridFS : BSon = binary json 형태로 저장.
* 10gen 기본개념 소개자료
'MongoDB > Concept' 카테고리의 다른 글
[MongoDB] 왜 나오게 된것일까 (0) | 2013.10.10 |
---|---|
[MongoDB] 설치후 사용하기 (2) (0) | 2013.07.20 |
[MongoDB] 데이터 수집과 동시에 레포팅을 생성할 때 (0) | 2013.01.24 |
[MongoDB] 설치후 사용하기 (1) (0) | 2012.12.29 |