충돌2 자료구조 - 해시 블룸필터 심화 해시 심화 (블룸필터, 일관성해싱)자료구조 #6에서 해시 테이블의 기본을 다뤘다면, 본 글은 그 응용으로 한 단계 더 들어간다. 거대한 데이터 셋에서 "존재 여부"를 메모리 단 몇 비트로 검사하는 블룸 필터(Bloom Filter), 분산 캐시·분산 DB에서 노드를 추가·제거할 때 키 재배치를 최소화하는 일관성 해싱(Consistent Hashing), 그리고 암호학적 해시 함수의 핵심 성질까지 — 해시가 시스템 설계 전반에서 어떻게 변형되어 쓰이는지를 세심하게 정리한다(출처: 위키백과 — Bloom filter). 제가 학교 캡스톤에서 사용자가 100만 명 가까이 늘었을 때 "이 이메일이 가입자 목록에 있는지" 검사를 매번 DB 쿼리로 하다가 화면 응답이 5초 가까이 늦어진 사고를 겪고 나서, 블룸 필.. 2026. 5. 17. 자료구조 - 해시 자료구조 해시 (충돌, 체이닝, 자료구조)배열·연결리스트·트리·힙은 모두 데이터의 순서나 구조를 메모리에 어떻게 배치할지에 답을 준 자료구조였다. 해시 테이블은 완전히 다른 질문에 답한다. "키만 알면 그 값을 거의 즉시 찾을 수 있는 자료구조가 있을까?"라는 질문이며, 그 답이 평균 O(1) 시간의 조회·삽입·삭제를 보장하는 해시 테이블(Hash Table)이다. 파이썬 dict, 자바 HashMap, JavaScript Object, Redis 같은 거의 모든 현대 키-값 저장소의 토대가 해시 테이블이며, 그 위에서 데이터베이스 인덱스·캐시·세션 저장소·중복 제거 같은 일상적인 기능들이 동작한다. 본 글은 해시 함수·충돌 해결·시간복잡도와 실전 응용까지 세심하게 정리한다(출처: 위키백과 — Hash Table.. 2026. 5. 16. 이전 1 다음