문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
컬렉션을 고정 사이즈로 변환하기
비고정 사이즈 컬렉션을 고정 사이즈 컬렉션 으로 변환하려면 convertToCapped
데이터베이스 명령을 사용합니다.
convertToCapped
명령은 작업 기간 동안 데이터베이스 배타적 잠금을 유지합니다. 동일한 데이터베이스를 잠그는 다른 작업은 convertToCapped
작업이 완료될 때까지 차단됩니다.
이 작업에 대하여
일반적으로 TTL(Time To Live) 인덱스 는 고정 사이즈 collection보다 성능과 유연성이 뛰어납니다. TTL 인덱스는 날짜로 입력된 필드 값과 인덱스의 TTL 값을 기반으로 만료되고 일반 collection에서 데이터를 제거합니다.
고정 사이즈 컬렉션은 삽입을 직렬화하므로 고정 사이즈 컬렉션이 아닌 컬렉션보다 동시 삽입 성능이 떨어집니다. 고정 사이즈 컬렉션을 만들기 전에 TTL 인덱스를 대신 사용할 수 있는지 고려하세요.
시작하기 전에
log2
이라는 비고정 사이즈 컬렉션을 만듭니다.
db.createCollection("log2")
단계
1
collection을 고정 사이즈 컬렉션으로 변환
log2
컬렉션을 고정 사이즈 컬렉션으로 변환하려면 convertToCapped
명령을 실행합니다.
db.runCommand( { convertToCapped: "log2", size: 100000 } )
log2
collection의 최대 크기는 100 000 바이트입니다.
2
collection이 한도에 도달했는지 확인
이제 log2
collection이 고정되었는지 확인하려면 isCapped()
메서드를 사용합니다.
db.log2.isCapped()
true