FULLTEXT ngram 인덱스
B-Tree 인덱스의 한계를 넘어 FULLTEXT ngram 역색인으로 LIKE 검색을 대체하고, 57만 건 한국어 데이터에서 12초→6ms로 약 2,100배 성능을 개선한 과정과 ngram의 알려진 한계점을 정리한다.
검색 결과가 없습니다
제목, 태그, 카테고리로 검색
B-Tree 인덱스의 한계를 넘어 FULLTEXT ngram 역색인으로 LIKE 검색을 대체하고, 57만 건 한국어 데이터에서 12초→6ms로 약 2,100배 성능을 개선한 과정과 ngram의 알려진 한계점을 정리한다.
자동완성 LIKE prefix 검색이 인덱스 없이 Full Table Scan으로 타임아웃되는 문제를 B-Tree 복합 인덱스(title, view_count DESC)로 해결하고, 단일 인덱스 대안과 커버링 인덱스, Trie 자료구조를 비교 검토한 과정을 정리한다.
LIKE 검색이 Full Table Scan으로 2,744만 행을 스캔하며 HikariCP 커넥션 풀을 고갈시켜 시스템을 마비시킨 원인을 분석하고, 긴급 완화 조치로 시스템 안정성을 확보한 과정을 정리한다.
나무위키, 위키피디아 덤프 데이터를 MySQL에 적재하고, 커뮤니티 수준의 트래픽을 감당할 수 있는 검색엔진을 만드는 프로젝트의 개요와 서버 구성을 정리한다.
UUID를 PK로 쓰면 안 되는 이유, Auto Increment의 한계, Snowflake ID로 내부 PK와 외부 노출용 ID를 분리한 과정을 정리한다.
채팅 시스템에서 MySQL(관계 데이터), MongoDB(메시지 저장), Redis(실시간 전달+캐싱) 세 DB를 함께 사용한 Polyglot Persistence 설계를 정리한다.
단위 테스트 환경을 MySQL에서 H2 인메모리로 전환하여 테스트 속도를 45% 개선한 과정과 Spring Profile 분리 전략을 정리한다.
청각장애인을 위한 온라인 교육 플랫폼 EduMeet을 6주간 개발하며 배운 것들을 정리했습니다.
UUID vs Auto Increment PK 전략, S3 업로드 방식 비교, 이미지 처리 접근 방식을 분석하고 프로젝트에 적합한 전략을 선택한 과정을 정리한다.