TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
321
Database
카디널리티 추정 — 플래너가 행 수를 예측하는 법
인덱스가 있는데 왜 안 탈까. 범인은 대개 틀린 행 수 추정입니다. pg_stats 통계와 EXPLAIN의 추정 대 실제, 확장 통계로 컬럼 상관을 바로잡는 법을 다룹니다.
Backend
HyperLogLog — 수억 개의 유니크를 12KB로 세는 법
수억 개의 유니크 방문자를 12KB로 추정하는 HyperLogLog. 앞자리 0 개수라는 직관부터 메모리·오차 맞교환, 병합(union)의 위력까지 실무 관점으로 풀었습니다.
Backend
블룸 필터(Bloom Filter) — 12MB로 1천만 개를 훑는 확률적 집합
'없음'은 확실하고 '있음'은 확률적인 블룸 필터. 적은 메모리로 값비싼 조회를 걸러내는 원리와 거짓 양성률 조절, 삭제 불가 같은 함정까지 짚었습니다.