MongoDB 고정 컬렉션
MongoDB Capped Collections는 성능이 뛰어나고 크기가 고정된 컬렉션입니다. 고정된 크기의 경우 컬렉션 공간을 모두 사용하면 삽입된 요소가 원본 요소를 덮어쓰게 되는 것과 같습니다.
고정 컬렉션 생성
createCollection을 사용하여 고정 컬렉션을 생성하고 capped 옵션이 true로 설정됩니다.
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
문서 수와 최대:1000 속성을 지정할 수도 있습니다:
>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})
Judge 컬렉션이 고정 컬렉션인지 여부 :
>db.cappedLogCollection.isCapped()
기존 컬렉션을 고정 컬렉션으로 변환해야 하는 경우 다음 명령을 사용할 수 있습니다.
>db.runCommand({"convertToCapped":"posts",size:10000})
위 코드는 기존 게시물 컬렉션을 고정 컬렉션으로 변환합니다.
고정 컬렉션 쿼리
고정 컬렉션 문서는 기본적으로 삽입 순서대로 반환됩니다. $natural을 사용하여 반환 순서를 조정할 수도 있습니다.
>db.cappedLogCollection.find().sort({$natural:-1})
고정 컬렉션의 기능
삽입 및 업데이트가 가능하지만 업데이트는 컬렉션 크기를 초과할 수 없습니다. 그렇지 않으면 업데이트가 실패하고 삭제가 허용되지 않습니다. 단, drop()을 호출하여 모든 행을 삭제할 수 있습니다. 컬렉션에 있지만 컬렉션을 다시 빌드한 후에 표시되어야 합니다.
32비트 시스템에서 제한된 컬렉션의 최대 크기는 약 482.5M입니다. 64비트 시스템에서는 시스템 파일 크기에 의해서만 제한됩니다.
고정 컬렉션 속성 및 사용법
속성
속성 1: 고정 컬렉션에 삽입하는 것이 매우 빠릅니다.
속성 2: 삽입 순서의 쿼리 출력이 매우 빠릅니다
속성 3: 삽입 시 가능 최신 데이터, 가장 오래된 데이터 제거
Usage
사용법 1: 로그 정보 저장
사용법 2: 소수의 문서 캐시