← Work로 돌아가기
생성형 AI(K-Bot) Vector DB 구조 설계 및 임베딩 마이그레이션
partition key 멀티테넌트 구조와, 서비스를 멈추지 않는 임베딩 모델 교체 체계
고객과 파일마다 컬렉션·파티션이 늘어나는 구조는 Vector DB 한계에 가까워졌고, 임베딩 모델을 바꾸면 기존 벡터 공간과 차원이 달라져 검색을 그대로 유지할 수 없었습니다.
02 / Constraints
서비스를 중단하지 않고 기존 문서를 새 모델로 다시 임베딩해야 했습니다.
장시간 작업의 중단·재개·재시도와 동시 실행을 통제해야 했습니다.
삭제된 문서가 새 컬렉션에 되살아나지 않도록 정합성을 보장해야 했습니다.
03 / Decisions & approach
공용 컬렉션과 partition key
모델·차원 단위 컬렉션을 공유하고 tenant를 partition key로 격리했습니다.
설정 변경이 아닌 데이터 이전
준비→재임베딩→검증→적용의 명시적인 마이그레이션으로 모델 교체를 다뤘습니다.
최종 적용 게이트
새 컬렉션의 검증이 끝나기 전에는 서비스가 기존 컬렉션을 계속 사용하도록 했습니다.
04 / System flow
모델 교체 흐름
-
Prepare
-
Migrate
-
Verify
-
Apply
-
Observe
05 / Outcome
- 고객·파일 수에 비례한 물리 컬렉션 증가를 차단했습니다.
- 운영자가 진행 상태와 실패를 통제하며 서비스 중단 없이 모델을 교체할 수 있게 됐습니다.
임베딩 모델 교체는 설정 배포가 아니라 재시도와 정합성이 필요한 데이터 마이그레이션입니다.