不停机下,mongodb数据库碎片如何整理?
習慣沉默
習慣沉默 2017-05-02 09:22:51
0
1
727

我将mongo里面大量多余的数据都删除后,发现内存和文件并没有收缩,仍然占用大量内存和硬盘,性能变化不大,请问,mongodb怎么进行碎片整理?

習慣沉默
習慣沉默

모든 응답(1)
洪涛

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

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!