매일 1,000,000개 이상의 고유 식별 코드가 시스템에 입력된다고 가정합니다. 식별 코드의 구조는 "ua_124wtybmlo_cfk"와 같이 문자열 숫자 밑줄입니다.
현재 요구 사항은 3일 이내에 특정 식별 코드가 시스템에 나타나는지 여부를 확인하는 것입니다.
유효기간이 3일인 문자열 구조를 사용하여 각 식별 코드를 저장하면 하루에 1,000,000개 이상의 문자열 유형 키가 발생하므로 많은 메모리를 소비하게 됩니다.
최적화를 하고 싶다면 해시 구조 저장용 샤딩으로 바꾸는 것만 생각하면 됩니다. 주된 이유는 샤딩 전략을 어떻게 수립해야 할지 모르기 때문입니다.
혹시 좋은 계획 있으신 분 계시나요? 아니면 다른 좋은 최적화 방법이 있으면 제안해 주실 수도 있습니다.
감사합니다~
키-값이 32바이트를 차지하고 3일 동안 90M만 소요된다고 가정하면 메모리를 많이 소모한다고 간주되나요?
메모리에 정말로 관심이 있고 특정 정확성을 무시할 수 있다면 블룸 필터 사용을 고려해 볼 수 있습니다.