복붙노트

[MONGODB] 그것은 MongoDB를위한 RAM에 "작업 집합"에 맞게 무엇을 의미 하는가?

MONGODB

그것은 MongoDB를위한 RAM에 "작업 집합"에 맞게 무엇을 의미 하는가?

MongoDB를 빠르게입니다,하지만 당신의 작업 집합 또는 인덱스가 RAM에 들어갈 수있는 경우. 내 서버의 RAM 16G, 즉 내 모든 컬렉션의 크기를 의미합니까있다 그래서 경우 16G 같보다 작거나 할 필요가? 어떻게 하나 "확인이 나의 작업 집합이, 나머지는 할 수있다"보관라고합니까? "

해결법

  1. ==============================

    1."작업 세트"시스템에서 사용 / 활성화 할 데이터 및 인덱스의 크기는 기본적이다.

    "작업 세트"시스템에서 사용 / 활성화 할 데이터 및 인덱스의 크기는 기본적이다.

    그래서 예를 들어, 데이터 1 년의 가치가 있다고 가정합니다. 단순화하기 위해, 매달 총 12기가바이트을주는 1GB의 데이터에 관한 것으로, 다시 올해 12기가바이트 총 인덱스 1GB의 가치가 데이터의 각 달의 가치를 포함 할 수 있습니다.

    당신은 항상 데이터의 지난 12 달의 가치를 액세스하는 경우, 다음 작업 집합은 다음과 같습니다 12기가바이트 (데이터) + 12기가바이트 (인덱스) = 24기가바이트

    실제로 데이터 만의 마지막 3 달의 가치를 액세스 할 경우, 다음 작업 집합은 다음과 같습니다 3기가바이트 (데이터) + 3기가바이트 (인덱스) = 6기가바이트 이 시나리오에서는 경우 8GB의 RAM이 있고 당신은 정기적으로 다음 작업 집합이 가능한 RAM 과거 초과 및 성능에 영향을 시작 것, 데이터의 최근 6 개월 가치에 접근하기 시작했다.

    당신이 데이터 / 인덱스의 양을 충당하기에 충분한 RAM이있는 경우 그러나 일반적으로, 당신은 자주 당신이 잘 될 것 접근 할 것으로 예상된다.

    편집 : 의견의 질문에 대한 응답 나는 확실히 꽤 수행하지 해요,하지만 난 대답에 이동을해야합니다. 첫째, 작업 집합에 대한 계산은 "야구장 그림"입니다. 둘째, 당신은 (예를 들어, 다음 인덱스의 0.5GB 더 자주 비활성화됩니다있는 사용자의 50 %를 가정 USER_ID에 (예) 1 기가 바이트 인덱스, 일반적으로 RAM에있을 필요를 액세스 할 때 해당 인덱스의 다음 부분 만있는 경우 필요 /) RAM 필요. 일반적으로, 더 많은 세트를 작업하는 가능성이 증가 된 사용 시간을 통해 성장하는 것입니다 더 나은 특히, 당신은 RAM. 여러 노드에 걸쳐 분할 데이터를하고 수평 확장 비용 효율적으로 할 수 있습니다 - 샤딩이 들어오는 곳이다. 귀하의 작업 집합은 다음 RAM에 보관하실 수 있습니다 더 의미, 여러 시스템에 걸쳐 나누어 져 있습니다. 더 많은 RAM이 필요하십니까? 에게 파편에 다른 컴퓨터를 추가합니다.

  2. ==============================

    2.작업 집합은 기본적으로 당신이 (자주) 대부분을 사용하고있는 물건입니다. 이 문서의 일부를 검색 수집 B에 대한 인덱스 A를 사용하는 경우에 당신은 당신의 작업 집합 것을 고려할 수 있습니다. 만큼 그 구조의 가장 일반적으로 사용되는 부분이 메모리에 들어갈 수있는 다음 일이 대단히 빠르게 될 것입니다. 문서의 많은처럼 작업 집합의 부분 더 이상 적합로서, 그 속도가 느려질 수 있습니다. 당신의 인덱스가 메모리를 초과하는 경우 일반적으로 상황이 훨씬 느린 될 것입니다.

    작업 집합은 기본적으로 당신이 (자주) 대부분을 사용하고있는 물건입니다. 이 문서의 일부를 검색 수집 B에 대한 인덱스 A를 사용하는 경우에 당신은 당신의 작업 집합 것을 고려할 수 있습니다. 만큼 그 구조의 가장 일반적으로 사용되는 부분이 메모리에 들어갈 수있는 다음 일이 대단히 빠르게 될 것입니다. 문서의 많은처럼 작업 집합의 부분 더 이상 적합로서, 그 속도가 느려질 수 있습니다. 당신의 인덱스가 메모리를 초과하는 경우 일반적으로 상황이 훨씬 느린 될 것입니다.

    예, 그것의 대부분은 "보관"거의 우리의 응용 프로그램의 성능에 영향을 주거나 (즉, 아카이브 된 데이터를 포함하지 않음) 작업 집합에 영향을주지 않고 사용되지 않는 데이터를 많이 가질 수 있습니다.

  3. from https://stackoverflow.com/questions/6453584/what-does-it-mean-to-fit-working-set-into-ram-for-mongodb by cc-by-sa and MIT license