검색 인덱스를 S3에 올리면 무엇이 달라질까

What changes when your search index lives on S3?

검색 인덱스를 S3에 올리면 무엇이 달라질까

Infino는 SQL, 벡터 검색, BM25 전문 검색을 하나로 처리하는 검색 엔진을 S3, GCS, Azure Blob 위에 직접 구축했다. 로컬 SSD에서는 랜덤 읽기가 거의 공짜지만 오브젝트 스토리지에서는 매 읽기가 수십 밀리초짜리 HTTP GET 요청이자 과금 대상이다. 그래서 병목은 CPU나 바이트가 아니라 왕복 횟수가 된다. 인덱스 단위를 단일 Parquet 파일인 superfile로 묶고, manifest에 footer와 인덱스 헤더를 미리 담고, term index로 해당 단어가 있는 파일만 골라 읽는 식으로 왕복을 줄인다. 141개 superfile에 대한 단일 단어 카운트 쿼리는 파일을 하나도 열지 않게 됐다.

가장 희소한 자원은 CPU도, 바이트도 아니라 오브젝트 스토리지에 보내는 왕복 횟수이며, 아래의 대부분 설계 결정은 여기서 나온다.

이 날의 다른 글

2026-10-17