경험 기반 구체화
벡터 데이터베이스를 직접 설계한 경험은 없지만, 학교 NLP 수업에서 의미 기반 검색 시스템을 구현하는 프로젝트를 했습니다. FAISS 라이브러리를 활용해 문장 임베딩을 인덱싱하고, 사용자 쿼리와 코사인 유사도가 높은 문서를 검색하는 구조를 만들었습니다. 벡터DB 설계에서 가장 중요한 결정은 인덱스 타입 선택인데, Flat(정확 탐색)과 IVF(근사 탐색) 중 정확도와 속도 우선순위에 따라 선택이 달라집니다.
임베딩 모델 선택도 검색 품질을 결정하는 핵심인데, 도메인에 맞는 모델을 사용해야 쿼리와 문서 간 유사도 계산이 의미 있어집니다. 또 업데이트 빈도가 높은 데이터라면 인덱스를 실시간 재구축하는 비용을 미리 고려하는 것이 중요합니다. 향후 Pinecone이나 Weaviate 같은 클라우드 벡터DB를 실제 서비스에서 사용해보고 싶습니다.