쇼핑몰에서 '셔츠'를 검색했는데, 상품명에 영문으로 'shirt'라고 적힌 옷은 검색 결과에 나오지 않아 답답했던 적이 있으신가요? 혹은 데이터가 쌓일수록 검색창에 단어를 입력하고 엔터를 쳤을 때 모래시계만 뱅글뱅글 도는 것을 본 적이 있을 것입니다.일반적인 관계형 데이터베이스(RDB)에서 사용하는 'LIKE' 검색은 왜 느리고 한계가 명확한지, 그리고 이를 완벽하게 극복한 검색 엔진 '엘라스틱서치(Elasticsearch)'의 마법 같은 원리에 대해 알아보겠습니다. 1. 기존 RDB 검색의 한계와 엘라스틱서치의 철학우리가 흔히 쓰는 RDB의 LIKE 쿼리(예: LIKE '%셔츠%')는 치명적인 단점이 있습니다. 데이터베이스에 있는 수백만 개의 행(Row)을 처음부터 끝까지 하나하나 뒤져보는 '풀 스캔(..