Bloom Filter 라는 자료구조에 대하여

태그
Data Structure
  • Bloom Filter 는 어떤 값 하나에 대해 여러개의 해시함수를 만들어 놓고 그 결과를 인덱싱한 자료구조이다.
  • 이걸 왜 쓰냐면
    • 어떤 값이 확률적으로 존재하는지를 알려주되, 없는 경우에는 없다고 확실히 알려주는 특성을 가지고 있다.
    • 따라서 해시함수 결과로 인덱싱을 해도 반드시 값이 나와야함을 보장받을 필요가 없는 경우에 유용하게 쓰일 수 있다.
    • 대표적인 사용례
      • 구글의 악의적 URL 판단기
  • 다만 단점이 있는데
    • 테이블에 기록된 값을 삭제할 수 없다는 단점이 있다.

요약

📌
요약: Bloom Filter 는 보통 어떤 값이 확실하게 존재하지 않다는 것을 보고싶을 때 쓰면 좋다.