Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

autoCompact

이 페이지의 내용

  • 정의
  • 구문
  • 호환성
  • 명령 필드
  • 필수 권한
  • 행동
  • 자세히 알아보기
autoCompact

버전 8.0에 추가 되었습니다.

배경 압축 을 활성화하거나 비활성화합니다. 활성화하면 autoCompact 는 사용 가능한 모든 파일을 주기적으로 반복하고 사용 가능한 저장 공간이 충분한 경우 압축 을 지속적으로 실행합니다.

autoCompact 을 활성화 하기 전에 dbStats 명령을 실행 하여 압축 을 계속할 수 있는 사용 가능한 저장 공간이 충분한지 확인합니다. dbStats 에서 반환한 사용 가능한 공간이 freeSpaceTargetMB 보다 작으면 배경 압축 이 적용되지 않습니다.

명령은 다음과 같은 구문을 가집니다:

db.runCommand(
{
autoCompact: <boolean>,
freeSpaceTargetMB: <int>, // Optional
runOnce: <boolean>, // Optional
}
)

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

참고

이 명령은 현재 MongoDB Atlas 클러스터에서 지원되지 않습니다.

이 명령은 다음과 같은 선택적 필드를 사용할 수 있습니다.

필드
유형
설명
freeSpaceTargetMB
Integer

선택 사항. 압축 을 계속 진행하기 위해 복구할 수 있어야 하는 최소 저장 공간(MB)을 지정합니다.

기본값: 20

runOnce
부울

선택 사항. runOncetrue 로 설정하다 하면 노드 의 모든 컬렉션 을 통해 배경 압축 이 한 번만 실행됩니다.

runOncefalse 로 설정하다 하면 데이터베이스 의 모든 컬렉션에서 배경 압축 이 지속적으로 실행됩니다. runOnce 이(가) false 있는 동안 컬렉션 을 압축하지 못하면 MongoDB 는 해당 컬렉션 을 일시적으로 건너뛰고 나머지 컬렉션을 계속 압축합니다. MongoDB 는 약 하루 후에 실패한 컬렉션 을 다시 압축하려고 시도합니다.

인증 을 시행하는 클러스터의 경우, 클러스터 에 대해 compact 권한 조치 을 가진 사용자로 인증해야 합니다. hostManager 역할 은 autoCompact 실행 에 필요한 권한을 제공합니다.

autoCompact 명령 자체는 읽기 및 쓰기를 차단 하지 않지만 배경 압축 은 compact 명령과 동일한 차단 동작을 적용합니다.

또한 배경 압축 이 활성화된 상태에서 autoCompact 를 호출하면 MongoDB 에서 오류를 반환합니다. autoCompact 를 다시 시작하거나 다른 옵션으로 다시 실행 해야 하는 경우 먼저 현재 배경 압축 작업을 중지해야 합니다.

db.runCommand( { autoCompact: false } )

현재 배경 압축 이 비활성화되면 새 구성으로 autoCompact 를 다시 시작할 수 있습니다.

oplog 가 있는 경우 MongoDB 는 이를 배경 압축 에서 제외합니다.

트래픽이 적은 기간에는 autoCompact 를 실행 것이 좋습니다.

압축은 정기적으로 데이터베이스를 검사하므로 동기화 오버헤드가 발생할 수 있습니다. 트래픽이 많은 데이터베이스에서는 백업 수행과 같은 운영 작업이 지연되거나 방해받을 수 있습니다. 예기치 않은 중단을 방지하려면 백업을 수행하기 전에 압축을 비활성화하세요.

복제본 세트 에 저장된 컬렉션 및 인덱스에 대해 배경 압축 을 실행 수 있습니다. 그러나 다음 사항에 유의하세요.

  • 프라이머리 노드 는 autoCompact 명령을 세컨더리 노드에 복제하지 않습니다.

  • 세컨더리 노드 는 배경 압축 이 실행 동안 데이터를 복제할 수 있습니다.

  • 배경 압축 이 실행 되는 동안 읽기 및 쓰기가 허용됩니다.

autoCompact mongod 인스턴스에만 적용됩니다. 샤딩된 된 환경에서는 각 샤드 에서 개별적으로 autoCompact 를 실행 합니다.

mongos 인스턴스 에 대해 autoCompact 를 실행 수 없습니다.

돌아가기

관리