수천만 건 공공데이터 부분 검색 속도를 10배 향상시키는 MySQL 8.0 N-gram 전문 검색(Full-Text Index) 아키텍처
전국 사업자 상호명, 요양기관 시설명, 도로명 주소 등 수천만 건의 공공데이터를 서비스하는 백엔드 시스템에서 가장 높은 빈도로 호출되는 기능은 사용자가 입력한 검색어가 상호명이나 주소의 중간에 포함되어 있는지 확인하는 부분 일치(Sub-string) 검색입니다. 하지만 RDBMS의 기본 B-Tree 인덱스는 전방 일치(Prefix Match, LIKE ‘강남%’)에만 인덱스 레인지 스캔이 동작하며, 전방 와일드카드가 포함된 LIKE ‘%강남%’ 쿼리는 인덱스를 완전히 무시하고 수천만…