대규모시스템 (1) 썸네일형 리스트형 블룸필터 (BloomFilter, 대규모 시스템에서 값에 중복이 있는지 확인하는 방법) 배경 개발하면서 이미 존재하는 값인지(중복된 값이 있는지)를 확인하는 기능은 굉장히 흔히 볼 수 있다. 회원 가입 기능에서 유니크(unique)한 값으로 쓰이는 식별자 즉, ID 중복 검사 같은 것이 그 예다. 🤔 사실 뭐 복잡할 게 있나? 싶은 마음이 든다. 중/소규모 애플리케이션에서는 데이터베이스에 적당히 인덱스를 만들고 조회 쿼리만 잘하면 존재하는지 여부 정도는 금방 나오기 때문이다. (심지어 PK는 자동으로 인덱스가 생성되어있다!) 하다 못해 개발을 조금이라도 해본 사람이라면 선형적으로 하나하나 전체를 탐색하는 것이 느리기 때문에 해시 테이블, Set, Map, B-Tree, … 같은 자료구조를 사용한다는 것을 알고 있다. 하지만 대규모 시스템에서는 값이 존재하는지 확인하는 방법에 대한 고민이 필.. 이전 1 다음