Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ / /

autoCompact (데이터베이스 명령)

autoCompact

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

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

Before you enable autoCompact, run the $collStats aggregation stage with the storageStats: {} option to see if you have enough available storage space for compaction to proceed. If the amount of available space returned by freeStorageSize is less than freeSpaceTargetMB, background compaction has no effect.

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

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

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

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 M0 및 Flex 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

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

필드
유형
설명

freeSpaceTargetMB

Integer

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

기본값: 20

runOnce

부울

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

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

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

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

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

db.runCommand( { autoCompact: false } )

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

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

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

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

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

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

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

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

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

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

돌아가기

관리

이 페이지의 내용