찾다

 >  Q&A  >  본문

가동 중지 시간 없이 mongodb 데이터베이스 조각 모음을 수행하는 방법은 무엇입니까?

mongo에서 대량의 중복 데이터를 삭제한 후에도 메모리와 파일이 줄어들지 않는 것을 발견했습니다. 여전히 많은 양의 메모리와 하드 디스크를 차지하고 성능은 크게 변하지 않습니다.

習慣沉默習慣沉默2789일 전761

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-05-02 09:24:51

    MongoDB 버전과 엔진은 무엇인가요?
    3.2 이상의 WT 엔진은 Compact를 사용하여 공간을 확보할 수 있습니다. WT든 MMAPv1이든 이전 버전은 복제본 세트를 다시 동기화해야만 공간을 확보할 수 있었습니다.
    문제는 조만간 다시 점유될 것이고 어쨌든 여유 공간이 재사용될 것이기 때문에 일반적으로 프로덕션 환경에서 릴리스할 필요가 없다는 것입니다. 풀어주지 마세요.
    다운타임 문제인지는 이 문제만이 아닙니다. 대부분의 경우 이를 해결하려면 복제 세트를 고려해야 합니다. 다운타임이 발생하지 않도록 여러 노드가 병렬로 실행되는 경우는 많지 않습니다. 유지 관리를 위해 하나를 제거하는 것과의 차이점은 기본 노드를 얻을 때 몇 초 동안 쓰기가 불가능할 수 있다는 것입니다.

    이론적으로 디스크 공간을 확보해도 성능에 어떤 유익한 영향도 미치지 않습니다. 그러나 3.0.6과 3.0.7에서 사용된 WiredTiger 엔진에서는 대량의 문서가 삭제되면 BTree의 잔액이 잘못되어 성능이 심각하게 저하되는 버그가 발생했습니다. 자세한 내용은 JIRA 티켓 SERVER-21063을 참조하세요.

    회신하다
    0
  • 취소회신하다