피드로 돌아가기
Dev.toDatabase
원문 읽기
Aurora pgvector와 DynamoDB의 하이브리드 구조를 통한 시맨틱 지식 베이스 구현
How I Built a Personal AI Knowledge Base with Amazon Aurora pgvector and Next.js — AWS H0 Hackathon
AI 요약
Context
선형적 구조의 AI 채팅 이력으로 인한 정보 탐색 효율성 저하 및 검색 불가능한 휘발성 데이터 문제 발생. 단순 키워드 매칭을 넘어선 의미 기반의 데이터 추출 및 체계적 관리 체계 필요.
Technical Solution
- gemini-embedding-001 모델을 통한 3072-dimensional vector 임베딩 생성 및 Aurora PostgreSQL 저장
- pgvector의 Cosine Distance 연산을 활용하여 0.5 이상의 임계값을 가진 시맨틱 유사도 검색 구현
- ltree 확장 기능을 도입하여 재귀 쿼리 없이 효율적인 계층적 폴더 구조 및 하위 트리 검색 수행
- tsvector 기반의 Full-text search와 pgvector를 결합한 Hybrid Search 구조 설계
- 고빈도 채팅 메시지는 DynamoDB의 TTL 기반 자동 삭제 구조로 처리하여 Aurora의 저장 부하 분산
- Cognito sub 기반의 사용자 계정 관리와 정형 데이터 및 벡터 데이터의 통합 저장소 운영
실천 포인트
1. 벡터 검색과 정형 데이터 쿼리가 동시에 필요한 경우 pgvector와 같은 DB 내장 확장 기능 검토
2. 쓰기 빈도가 높은 스트림 데이터와 복잡한 쿼리가 필요한 구조적 데이터를 DynamoDB와 Aurora로 분리하여 성능 최적화
3. 계층 구조 데이터 처리 시 Recursive CTE 대신 ltree를 통한 쿼리 복잡도 감소 고려
4. 시맨틱 검색의 정확도 확보를 위해 Cosine Similarity 임계값(Threshold) 설정 및 튜닝 수행