PostgreSQL용 고성능 전문 검색 확장 기능 'TIN' 출시
Tin: full-text search for Postgres
Hacker NewsPostgreSQL용 전문 검색 확장 기능인 'TIN(Text INdex)'이 출시되었습니다. 부울 연산, 구문 검색, BM25 점수 산출 등 복잡한 검색 요구사항을 모두 충족하는 고성능 인덱스입니다.
- 실제 워크로드 테스트 결과, TIN은 기존 검색 인덱스 대비 월등한 처리량과 낮은 지연 시간을 입증했습니다. 특히 대규모 데이터 환경에서의 동시 쓰기 및 복합 쿼리 처리가 뛰어납니다.
- 복잡한 검색 기능(예: 전자상거래 필터링)을 구현하려는 개발자에게 최적의 솔루션을 제공합니다. 이를 통해 애플리케이션의 전반적인 검색 경험과 성능 기준을 한 단계 높일 수 있습니다.
- 다양한 검색 패턴(접속/분산/구문)과 실시간 업데이트를 동시에 테스트했습니다. TIN은 이러한 까다로운 조건에서도 안정적인 성능을 유지하며 기존 인덱스의 한계를 극복했음을 확인했습니다.
Postgres 사용자들로부터 가장 많이 요청받는 기능 중 하나인 전문 검색 기능을 위한 새로운 확장이 발표되었습니다. TIN(Text INdex)은 빠르고, 기능이 풍부하며 신뢰할 수 있는 Postgres용 전문 검색 확장입니다. 이 인덱스는 부울 표현식, 구문 쿼리, BM25 점수 기반의 상위 K개 쿼리 외에도 퍼지 매칭, 와일드카드 및 정규 표현식 일치, 대소문자 및 악센트 처리 등을 지원하도록 설계되었습니다.
애플리케이션 개발자는 검색 기능을 위해 텍스트 인덱스를 사용하며, 전자상거래 플랫폼의 키워드 검색이나 법률 문서에서 특정 키워드를 포함하는 모든 문서를 찾는 등의 다양한 시나리오가 있습니다. 또한, 대부분의 애플리케이션은 데이터를 조회하는 동시에 문서를 삽입, 업데이트, 삭제해야 하므로, TIN은 이러한 복잡한 쿼리와 지속적인 데이터 변경을 모두 처리할 수 있도록 설계되었습니다.
TIN의 성능은 실제 워크로드 테스트를 통해 입증되었습니다. AWS i7i.8xlarge EC2 인스턴스와 Postgres 18.6 환경에서 기존 검색 인덱스(ParadeDB, pg_textsearch, GIN)와 비교하여 다양한 시나리오로 테스트가 진행되었습니다. 특히 복합 쿼리 및 동시 쓰기 작업이 포함된 경우, TIN은 경쟁 제품 대비 월등히 높은 초당 쿼리 수(QPS)와 낮은 p99 지연 시간을 기록했습니다.