콜렉션의 레코드 집합을 지정된 시간 간격 후에 삭제해야하는 유스 케이스가 있습니다. 예 : 10 시간이 넘은 레코드는 매 10 시간마다 삭제됩니다.MongoDB의 콜렉션에 레코드 분할하기
우리는 id를 기반으로 삭제를 시도했지만 속도가 느린 것으로 나타났습니다.
모음의 레코드를 분할하고 몽고에 필요한 경우와
콜렉션의 레코드 집합을 지정된 시간 간격 후에 삭제해야하는 유스 케이스가 있습니다. 예 : 10 시간이 넘은 레코드는 매 10 시간마다 삭제됩니다.MongoDB의 콜렉션에 레코드 분할하기
우리는 id를 기반으로 삭제를 시도했지만 속도가 느린 것으로 나타났습니다.
모음의 레코드를 분할하고 몽고에 필요한 경우와
MongoDB를 현재 파티션을 지원하지 않는 파티션을 삭제하는 방법이 있나요 (SERVER-2097) 기능으로이를 추가하는 JIRA 티켓이 .
하나의 솔루션은 여러 개의 시간 기반 컬렉션을 활용하여 파티션과 비슷한 방식으로 컬렉션을 순환시키는 것입니다. 일반적으로 이러한 시간 기반 컬렉션 중 하나 또는 몇 가지 만 쿼리 할 때이 작업을 수행합니다. 종종 여러 콜렉션에서 읽을 필요가있는 경우,이를 단순화하기 위해 래퍼 코드를 추가 할 수 있습니다.
또한 TTL Indexes이 있습니다. mongod 서버의 백그라운드 스레드를 활용하여 삭제를 처리합니다.
귀하의 _id에 의한 삭제는 여러 가지 이유로 천천히 진행되었을 수 있으며 원래의 질문을 초과하여 더 많은 조사가 필요할 수 있습니다.