메모리 절약! 블룸 필터로 데이터 검색 효율 UP

by DD
5개월 전
조회수 4

대용량 데이터를 빠르게 검색하기 위한 자료구조인 블룸 필터(Bloom Filter)의 개념을 소개함

블룸 필터는 해시 함수(Hash Function)를 활용하여 데이터를 0과 1로 변환, 압축하여 저장함

메모리 사용량을 줄이고 검색 속도를 높이는 장점이 있으나, 오류 발생 가능성이 존재함

회원 가입 시 아이디 중복 확인, 악성 URL 탐지 등 실제 서비스 적용 사례를 제시함

블룸 필터(Bloom Filter)의 기본 원리

발표자는 블룸 필터(Bloom Filter)가 대용량 데이터를 빠르게 검색하기 위한 자료구조라고 설명한다. 데이터를 0과 1로 변환하여 저장하며, 해시 함수(Hash Function)를 사용하여 데이터를 압축한다. 여러 개의 해시 함수를 사용하고, 각 해시 함수가 반환하는 위치의 비트를 1로 설정하는 방식으로 데이터를 저장한다. 이 과정을 통해 메모리 사용량을 줄일 수 있다고 강조한다.

블룸 필터(Bloom Filter)의 장점과 단점

영상에서는 블룸 필터(Bloom Filter)의 주요 장점으로 메모리 효율성빠른 검색 속도를 꼽는다. 데이터 압축을 통해 메모리 사용량을 줄이고, 비트 연산을 통해 검색 속도를 높일 수 있다. 단점으로는 오류 발생 가능성을 지적하며, 데이터가 실제로 존재하지 않는데 존재한다고 판단하는 긍정 오류(False Positive)가 발생할 수 있다고 설명한다.

블룸 필터(Bloom Filter)의 활용 사례

발표자는 블룸 필터(Bloom Filter)의 실용적인 활용 사례를 제시한다. 회원 가입 시 아이디 중복 확인, 악성 URL 탐지, DB 쿼리(Query) 횟수 감소 등에 활용될 수 있다고 언급한다. 특히, URL 단축 서비스에서 해시 테이블(Hash Table) 대신 블룸 필터를 사용하여 메모리 사용량을 98% 줄인 사례를 소개한다. 또한, 페이스북(Facebook)에서 램(RAM) 절약을 위해 사용하고 있다고 덧붙인다.

램값이 비쌀 때 쓰는 자료구조