MongoDB의 sharded cluster에서 데이터는 chunk 단위로 저장/관리 됨.
chunk size의 기본값은 64MB.
chunk size가 크면 migration은 적게 일어나겠지만 한 번 일어나면 대규모 migration이 될 것이고,
chunk size가 작으면 소규모 migration이 자주 일어날 것임.
왠만하면 기본값으로 두는 게 가장 무난하나,
테스트 용도로 chunk size를 변경시킬 일이 있을 땐 아래처럼 하면 됨.
// config 서버 선택
mongos> use config
// settings에서 chunksize 항목 변경
// value에 지정하고픈 chunk size를 MB로 입력해주면 됨. 범위는 1 ~ 1024
// 아래는 chunk size를 32MB로 변경
mongos> db.settings.save({_id: "chunksize", value: 32})
chunk size 변경에는 아래와 같은 제약사항이 있음.
- chunk 자동 split은 insert/update가 있을 때에만 일어남.
- 데이터가 이미 존재하는 cluster에서 chunk size를 줄이면 기존 chunk들을 줄어든 size로 나누는 과정이 일어남.
- 나눠진 chunk는 다시 병합할 수 없음. (실수로 1MB로 변경했다가 울어도 소용 없다)
- chunk size를 크게 변경했을 때 기존 chunk들은 insert/update가 일어날 때에만 늘어날 수 있음.
- chunk size 범위는 1 ~ 1024
[참고]
http://docs.mongodb.org/manual/tutorial/modify-chunk-size-in-sharded-cluster/
'DataBase' 카테고리의 다른 글
[MongoDB] shard별 최대용량 제한 (set the maximum storage size for a shard) (0) | 2015.05.26 |
---|---|
[MongoDB] MongoDB 클러스터 가용성 테스트 (MongoDB availability) (0) | 2015.01.15 |
[MongoDB] 샤딩+레플리카셋 구성 (Sharding with ReplicaSet) (0) | 2014.12.29 |
[MongoDB] Sharding과 ReplicaSet의 User는 별개임. (0) | 2014.12.29 |
[MongoDB] 사용자 정의 Roles (user defined roles, collection-level access control) (0) | 2014.12.24 |