피드로 돌아가기
Build a Searchable Creator Database with PostgreSQL and Node.js
Dev.toDev.to
Backend

PostgreSQL Full-Text Search로 구현하는 고성능 크리에이터 DB

Build a Searchable Creator Database with PostgreSQL and Node.js

Olamide Olaniyan2026년 4월 7일12intermediate

Context

고가의 인플루언서 마케팅 플랫폼들이 제공하는 핵심 기능의 실체는 단순한 검색 가능 DB 구조. 기존 스프레드시트 방식은 데이터 증가 시 검색 및 필터링 성능 한계 발생. 복합 조건 검색과 데이터 최신성 유지를 위한 체계적인 백엔드 설계 필요.

Technical Solution

  • PostgreSQL의 tsvectorGIN 인덱스를 활용한 내장 Full-Text Search 구현으로 별도의 Elasticsearch 도입 없이 검색 성능 확보
  • 필드별 가중치(Weight A, B, C) 설정을 통해 사용자명, 바이오, 카테고리 순의 검색 결과 관련성 랭킹 최적화
  • SociaVault API를 통한 데이터 수집과 Prisma ORM 기반의 Upsert 로직을 적용하여 프로필 정보의 최신 상태 유지
  • 최신 데이터 기준(7일)을 설정한 조건부 갱신 파이프라인 설계로 불필요한 API 호출 및 네트워크 비용 절감
  • 플랫폼별(Instagram, TikTok) 데이터 스키마 정규화 및 인덱싱 전략을 통한 다차원 필터링 쿼리 최적화

Impact

  • 복합 조건(플랫폼, 팔로워 수, 참여율, 니치) 쿼리 처리 속도 3ms 달성

Key Takeaway

복잡한 검색 엔진 도입 전 RDBMS의 내장 기능을 활용한 검색 최적화 가능성을 먼저 검토하여 아키텍처 복잡도 감소.


검색 대상 필드가 많을 경우 Generated Column으로 tsvector를 통합 관리하고 GIN 인덱스를 적용하여 조회 성능을 높일 것

원문 읽기