프로젝트 목록으로
API case
PythonVector DBEmbeddings
생성형 AI(K-Bot) · 영림원 BackendAI 2025.11 ~ 2026.04
생성형 AI(K-Bot) Vector DB 구조 설계 및 임베딩 마이그레이션
partition key 멀티테넌트 구조와, 서비스를 멈추지 않는 임베딩 모델 교체 체계
Vector DB 컬렉션·파티션 개수 한계를 partition key 기반 멀티테넌트 구조로 해결하고, 임베딩 모델 변경을 "준비→실행→검증→적용" 단계로 나눠 운영 중에도 안전하게 전환하는 마이그레이션 체계를 구현했습니다.
역할
Backend · Database
스택
Python · Vector DB · Embeddings
임팩트
- 컬렉션/파티션이 고객·파일 수에 비례해 증가하던 구조를 모델·차원 단위 공용 컬렉션으로 전환해 물리 리소스 증가를 차단
- 서비스 중단 없이 임베딩 모델을 교체하는 마이그레이션 플로우 구축
문제 해결 과정
파일·고객 단위로 컬렉션과 파티션이 계속 늘어나면 Vector DB의 개수 한계에 부딪히고, 임베딩 모델을 바꾸면 기존 벡터 공간과 차원이 달라 검색이 깨집니다. 그래서 저장 구조를 모델·차원 단위 공용 컬렉션 + partition key 격리로 바꾸고, 모델 교체를 단순 설정 변경이 아니라 신규 컬렉션 생성 → 전체 재임베딩 → 검증 → 적용으로 이어지는 데이터 이전 과정으로 다뤘습니다. 장시간 작업을 고려해 동시 실행 방지, 중단·재개, 실패 재시도, 삭제 문서 정합성, 최종 적용 게이트를 두어 운영자가 위험을 통제하며 전환할 수 있게 했습니다.
핵심 포인트
partition key 기반 멀티테넌트 격리신규 모델 검증 후 재임베딩백그라운드 배치 + 실시간 진행률 UI