티스토리 뷰

BigData/MongoDB

MongoDB paddingFactor 옵션

Tomining 2015. 3. 5. 18:38
compact 시에 option을 추가할 수 있는데, paddingFactor라는 것이 있다.
paddingFactor란 무엇일까?

MongoDB 공식 가이드에는 아래와 같이 설명되어 있다.
The amount of space added to the end of each document at insert time. The document padding provides a small amount of extra space on disk to allow a document to grow slightly without needing to move the document. mongod automatically calculates this padding factor

즉, document 저장시 실제 데이터 내용보다 조금 더 넓은 공간을 할당 받아 저장한다는 의미다. 해당 옵션은 1.0 ~ 4.0까지 지정이 가능하다.
예를 들면 1.2라고 옵션을 주면 저장시 실제 데이터보다 20% 넓은 공간을 할당받아서 저장된다는 의미이다.
특정 document가 update되어 커졌을 경우 migration이 일어나지 않도록 하기 위함인 듯 하다. 기본적으로 MongoDB가 자동으로 계산하지만, testDB 내에 collection을 확인해보니 1로 설정되어 있다.


oracle 이 extent 내에 block을 할당 받아서 저장된 후 update로 더 커졌을 때 migration 일어나는 것과 동일한 원리인 듯 하다.
compact의 경우 chunk 내에서 rewrite를 하기 때문에, 최초 collection생성시 paddingFactor 옵션을 1이상으로 주지 않았거나, 
자동으로 증가하지 않았다면, compact 후에도 데이터가 차지하는 공간에는 변화가 없는 것이 당연한 것 같다.

단순히 compact가 rewrite하는 방식으로 동작한다고 가이드에서 본 것 같은데, 좀 더 자세히 알아봐야겠다.






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

MongoDB Having 쿼리 적용하기  (0) 2015.03.05
MongoDB Aggregation시 Document Size 오류  (0) 2015.03.05
MongoDB 인덱스 관리  (0) 2015.03.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함