내 서버를 통과하는 이벤트 스트림이 있습니다. 모든 것을 저장할 수는 없지만 일부를 정기적으로 처리 할 수 있기를 원합니다. 그래서, 내가 본 모든 것을 무작위로 샘플링하는 스트림의 하위 집합을 유지하려고하지만 최대 크기로 제한됩니다.데이터 스트림의 임의의 하위 집합을 유지하는 방법은 무엇입니까?
따라서 새 항목마다 저장 된 집합에 추가할지 또는 삭제해야하는지 결정하는 알고리즘이 필요합니다. 추가하고 이미 한계에 도달했다면 이전 항목 중 하나를 제거하는 알고리즘이 필요합니다.
분명히 내가 제한 한도에 도달하면 (모든 것을 저장하면) 이것은 쉽습니다. 그러나 한도를 초과하면 오래된 아이템이나 새로운 아이템에 편향되지 않고 어떻게 무작위로 좋은 샘플링을 유지할 수 있습니까? 당신이 찾고있는 무엇을 정확하게하지
당신이 최소한의 부분 집합의 크기를 가지고 있습니까? – Enrique
엔리케, 무슨 뜻인지 확실하지 않습니다. 내가 1 이벤트 만 얻으면, 나는 그것을 구할 것으로 기대합니다. – twk
http://en.wikipedia.org/wiki/Reservoir_sampling –