문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

컬렉션을 고정 사이즈로 변환하기

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • 단계
  • collection을 고정 사이즈 컬렉션으로 변환
  • collection이 한도에 도달했는지 확인
  • 자세히 알아보기

비고정 사이즈 컬렉션을 고정 사이즈 컬렉션 으로 변환하려면 convertToCapped 데이터베이스 명령을 사용합니다.

convertToCapped 명령은 작업 기간 동안 데이터베이스 배타적 잠금을 유지합니다. 동일한 데이터베이스를 잠그는 다른 작업은 convertToCapped 작업이 완료될 때까지 차단됩니다.

일반적으로 TTL(Time To Live) 인덱스 는 고정 사이즈 collection보다 성능과 유연성이 뛰어납니다. TTL 인덱스는 날짜로 입력된 필드 값과 인덱스의 TTL 값을 기반으로 만료되고 일반 collection에서 데이터를 제거합니다.

고정 사이즈 컬렉션은 삽입을 직렬화하므로 고정 사이즈 컬렉션이 아닌 컬렉션보다 동시 삽입 성능이 떨어집니다. 고정 사이즈 컬렉션을 만들기 전에 TTL 인덱스를 대신 사용할 수 있는지 고려하세요.

log2 이라는 비고정 사이즈 컬렉션을 만듭니다.

db.createCollection("log2")
1

log2 컬렉션을 고정 사이즈 컬렉션으로 변환하려면 convertToCapped 명령을 실행합니다.

db.runCommand( {
convertToCapped: "log2",
size: 100000
} )

log2 collection의 최대 크기는 100 000 바이트입니다.

2

이제 log2 collection이 고정되었는지 확인하려면 isCapped() 메서드를 사용합니다.

db.log2.isCapped()
true
← 컬렉션이 고정 사이즈인지 확인