이것은 시스템에 따라 다르지만, 임의의 절벽을지나 실제 문제에 빠질 가능성은 거의 확실합니다. 좋은 RAM 대 디스크 공간 비율을 위해 어떤 종류의 규칙이 있는지 궁금합니다. 우리는 다음 시스템 라운드를 계획하고 있으며 RAM, SSD 및 새로운 노드 각각에 대해 얼마를 선택해야합니다.
그러나 이제 일부 성능 세부 정보가 필요합니다!
단일 프로젝트 실행의 일반적인 워크 플로 중에 MongoDB는 쓰기 비율이 매우 높습니다 (70-80 %). 처리 파이프 라인의 두 번째 단계에 도달하면 처리 전반부에 식별 된 레코드를 중복 제거해야하므로 읽기가 매우 높습니다. 이는 "작업 집합을 RAM으로 유지"하는 워크 플로이며 이러한 가정을 중심으로 설계하고 있습니다.
전체 데이터 세트는 지속적으로 최종 사용자 파생 소스의 임의 쿼리로 적중됩니다. 빈도는 불규칙하지만 크기는 일반적으로 매우 작습니다 (10 개 문서 그룹). 이는 사용자를 대상으로하므로 응답은 "지루한"임계 값 인 3 초 미만이어야합니다. 이 액세스 패턴은 캐시에있을 가능성이 훨씬 적으므로 디스크 적중이 발생할 가능성이 큽니다.
2 차 처리 워크 플로우는 며칠, 몇 주 또는 몇 달이 지난 이전 처리 실행에 대한 높은 읽기이며, 자주 실행되지 않지만 여전히 복잡해야합니다. 이전 처리 실행에서 문서의 최대 100 %에 액세스합니다. 캐시 워밍의 양이 도움이 될 수는 없습니다.
완성 된 문서 크기는 다양하지만 중간 크기는 약 8K입니다.
일반 프로젝트 처리에서 높은 읽기 부분은 읽기 트래픽을 분배하는 데 도움이되는 복제본 사용을 강력하게 제안합니다. 내가 읽고 다른 곳에서 비슷한 규칙이있을 경우 우리가 심각 훨씬 빠른 SSD의 사용을 고려되기 때문에 HD-GB에 1:10 RAM-GB가 좋은 규칙 -의 - 엄지 손가락 느린 디스크는 것을, 나는 알고 싶습니다 빠른 디스크의 경우
캐시에서 모든 것이 실제로 작동하지 않는 방식으로 Mongo를 사용하고 있다는 것을 알고 있습니다. 그래서 그러한 사용에서 살아남을 수있는 시스템을 설계하는 방법을 찾고 있습니다. 전체 데이터 집합 가능성이 반년 이내에 TB의 대부분을하고 성장 유지합니다.