컬렉션을 고정 사이즈로 변환하기
비 고정 사이즈 컬렉션 을 고정 사이즈 컬렉션 으로 변환하려면 convertToCapped
데이터베이스 명령 을 사용합니다.
convertToCapped
명령은 작업 기간에 데이터베이스 배타적 잠금을 유지합니다. 동일한 데이터베이스에 잠금을 적용한 다른 작업은 convertToCapped
작업이 완료될 때까지 차단됩니다.
이 작업에 대하여
일반적으로 TTL(Time To Live) 인덱스는 고정 사이즈 컬렉션보다 더 나은 성능과 유연성을 제공합니다. TTL 인덱스는 날짜로 입력된 필드 값과 인덱스의 TTL 값에 따라 일반 컬렉션에서 데이터를 만료하고 제거합니다.
고정 사이즈 컬렉션은 쓰기 작업을 직렬화하므로 비고정 사이즈 컬렉션보다 동시 삽입, 업데이트 및 삭제 성능이 떨어집니다. 고정 사이즈 컬렉션을 만들기 전에 TTL 인덱스를 대신 사용할 수 있는지 고려하세요.
시작하기 전에
log2
이라는 고정 사이즈 컬렉션을 만드세요.
db.createCollection("log2")
단계
1
컬렉션을 고정 사이즈 컬렉션으로 변환합니다.
log2
컬렉션을 고정 사이즈 컬렉션으로 변환하려면 convertToCapped
명령을 실행합니다.
db.runCommand( { convertToCapped: "log2", size: 100000 } )
log2
컬렉션의 최대 크기는 100,000 바이트입니다.
2
컬렉션에 한도가 있는지 확인
이제 log2
컬렉션에 한도가 있는지 확인하려면 isCapped()
메서드를 사용하세요.
db.log2.isCapped()
true