강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

발그레지는개발님의 프로필 이미지
발그레지는개발

작성한 질문수

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략

Bloom Filter - Sharding

23강 5:38 부분 질문 있습니다!

해결된 질문

작성

·

32

0

m=32MB짜리 10개와 m=512MB짜리 1개의 경우를 비교해주셨습니다.

그런데 이는 샤딩을 통해서 메모리 효율적으로 됐다기 보다는 메모리 총량이 512MB->320MB로 감소했기 때문에 오차율이 조금 증가하는 대신 메모리를 덜 쓸 수 있는 것 아닌가요?

예를 들어 320MB 짜리 1개인 경우와 32MB짜리 10개인 경우의 오차율이 똑같지 않나 하는 생각이 들어서 질문드립니다!

 

답변 1

0

쿠케님의 프로필 이미지
쿠케
지식공유자

발그레지는개발님, 안녕하세요!

 

샤딩 자체를 한다고 해서 메모리를 덜 사용한다는 의미가 아니라,

n이 커질수록 1에 급격하게 수렴하는 특성으로 인해,

더욱 적은 메모리로도 충분히 목표 오차율에 도달할 수 있다는 의미입니다!

목표 오차율이 0.01이라면, 0.000001과 0.000000001의 차이를 신경쓸 필요는 없습니다.

그래프를 살펴 보시고 이러한 특성을 우선적으로 이해해 보시면 좋을 것 같습니다!

 

320MB 짜리 1개인 경우와 32MB짜리 10개인 경우의 오차율이 똑같지 않나 하는 생각

말씀하신대로 똑같습니다!

오차율이 조금 증가하는 대신 메모리를 덜 쓸 수 있는 것 아닌가요?

증가한 오차율은 무의미한 수준이고, 비싼 메모리는 덜 쓸 수 있게 됩니다.

발그레지는개발님의 프로필 이미지
발그레지는개발

작성한 질문수

질문하기