샤딩을 사용하여 저장되는 상대적으로 많은 양의 비즈니스 데이터가 있습니다.
또한 각 테넌트에 대한 컬렉션에 제한되는 일부 로그 데이터가 있습니다. 백그라운드에서 일부 일괄 처리를 실행하기 위해 특정 양의 데이터만 유지되므로 각 컬렉션의 레코드 수가 그리 많지 않습니다. 샤딩이 사용됩니다. 더욱이 이는 제한된 컬렉션이므로 샤딩할 수 없습니다.
현재 문제는 이러한 컬렉션이 여전히 많다는 것입니다. 이러한 컬렉션이 하나의 서버에 집중되면 해당 서버의 부하가 증가하여 원래 샤딩된 컬렉션의 읽기 및 쓰기에 영향을 미치게 됩니다.
이러한 제한 컬렉션을 다양한 샤드 서버에 더 잘 배포할 수 있는 방법이 있나요?
예:
샤드 Svr1, 샤드 Svr2, 샤드 Svr3
로그_1, 로그_2, 로그_3
log_4, log_5, log_6
데이터베이스를 단위로 사용하면 movePrimary를 사용하여 샤딩되지 않은 다양한 데이터베이스 컬렉션을 분산시킬 수 있습니다.