Redis HyperLogLog

gclee·2024년 2월 10일
0

Redis

목록 보기
4/5
post-thumbnail

HyperLogLog란?

HyperLogLog은 매우 큰 데이터 세트에서 고유 요소의 개수를 추정하기 위한 알고리즘입니다. 정확한 카운팅에 비해 극소의 메모리를 사용하면서도, 0.81%의 표준 오차 범위 내에서 고유 요소의 개수를 추정할 수 있습니다.

HyperLogLog 명령어

PFADD: HyperLogLog에 요소를 추가합니다.

PFADD myhll item1 item2 item3

PFCOUNT: HyperLogLog에 포함된 고유 요소의 개수를 추정합니다.

PFCOUNT myhll

PFMERGE: 두 개 이상의 HyperLogLog를 병합합니다.

PFMERGE resultHll hll1 hll2

HyperLogLog의 활용

HyperLogLog은 다음과 같은 분야에서 유용하게 활용될 수 있습니다:

  • 대규모 로그 데이터 분석: 웹사이트 방문자 수, 고유 IP 주소의 개수 등 대규모 로그 데이터에서 고유 요소의 개수를 추정할 때 사용됩니다.
  • 실시간 데이터 처리: 실시간으로 발생하는 이벤트나 트랜잭션에서 고유 요소의 개수를 추정해야 할 때 유용합니다.
  • 네트워크 모니터링: 대규모 네트워크 트래픽 데이터에서 고유 소스나 목적지 주소의 개수를 추정하는 데 사용됩니다.

예시

예를 들어, 웹사이트의 일일 고유 방문자 수를 추정하고자 할 때, 각 방문자의 ID나 IP 주소를 HyperLogLog에 추가합니다. 이후 PFCOUNT 명령어를 사용하여 그날의 고유 방문자 수를 추정할 수 있습니다.

PFADD visitors 192.168.0.1 192.168.0.2 192.168.0.3
PFCOUNT visitors

이 방법은 매우 큰 데이터 세트를 다룰 때 메모리 사용량을 크게 줄이면서도, 고유 요소의 개수를 효과적으로 추정할 수 있게 해줍니다.

0개의 댓글