DynamoDB 네이티브 벡터 검색, 전용 벡터 DB를 대체할까
검색 증강 생성, 에이전트 메모리, 의미 기반 추천이 실제 서비스로 확산되면서 업무 데이터와 임베딩 벡터를 서로 다른 시스템에 저장하는 구조가 널리 쓰였다. Amazon DynamoDB는 이제 네이티브 벡터 검색을 제공하며, 이 분리된 구조를 줄일 수 있는 선택지를 내놓았다.
무엇이 달라졌나
새 기능은 새로운 벡터 인덱스 유형을 기반으로 한다. 개발자는 테이블 속성에 임베딩을 저장하고, 필요한 차원과 거리 함수를 지정한 뒤 SearchVectors API로 근사 최근접 검색을 수행할 수 있다. 지원되는 함수는 유클리드 거리, 코사인 거리, 내적이며 벡터는 최대 4096차원까지 지원한다. 검색 시에는 속성 필터를 함께 적용할 수도 있다.
특정 임베딩 모델만 사용해야 하는 것도 아니다. Amazon Bedrock Titan Text Embeddings, Cohere Embed, OpenAI 텍스트 임베딩 모델 등을 활용해 벡터를 생성한 다음, 일반적인 애플리케이션 필드와 같은 DynamoDB 테이블에 보관할 수 있다. 적용 대상은 의미 검색, RAG, 추천 엔진, 개인화, 이상 탐지, AI 에이전트의 장기 기억 검색 등이다.
통합이 주는 이점
기존에 DynamoDB 기반 애플리케이션에서 유사도 검색을 구현하려면 데이터를 별도의 벡터 데이터베이스로 복제해야 하는 경우가 많았다. 이때 이중 쓰기, 동기화 지연, 삭제 전파, 장애 복구 같은 문제까지 함께 설계해야 했다. 벡터와 업무 데이터를 하나의 테이블에 저장하면 데이터 일관성을 관리하는 경계와 운영 복잡성을 줄일 수 있다.
이미 DynamoDB를 사용하고 있고 벡터 데이터의 생명주기가 업무 데이터와 비슷한 팀이라면 특히 매력적인 방식이다. DynamoDB는 서버리스 서비스이며, 데이터가 늘어날 때 벡터 인덱스도 수평 확장되도록 설계됐다. 별도의 벡터 클러스터를 프로비저닝하거나 운영할 필요가 없다. 이 기능은 DynamoDB가 제공되는 지역에서 사용할 수 있으며 Standard와 Standard-IA 테이블 클래스도 지원한다.
비용과 한계
네이티브 기능이라고 해서 무료인 것은 아니다. 기본 테이블의 일반 요금 외에 벡터 인덱스의 쓰기 데이터, 검색 처리 데이터, 저장 데이터가 각각 과금 대상이다. 세 항목 모두 바이트 단위로 측정되고 GB 기준으로 요금이 부과된다. 낮은 차원의 임베딩을 선택하고, 인덱스 프로젝션을 줄이며, 결과에 임베딩 자체를 포함하지 않고, 파티션을 선택적으로 설계하면 비용을 낮추는 데 도움이 된다.
따라서 DynamoDB가 모든 전용 벡터 데이터베이스를 대체한다고 보기는 어렵다. 복잡한 하이브리드 검색, 전문적인 벡터 연산, 세밀한 인덱스 튜닝, 강한 비용 최적화가 필요한 시스템은 여전히 전용 서비스를 선택할 수 있다. 반면 아키텍처 단순화를 중시하고 이미 DynamoDB를 운영 중인 팀이라면 새 기능을 우선 검토할 만하다. AWS는 로컬 개발과 자체 호스팅을 위해 DynamoDB 호환 ExtendDB 어댑터도 계획하고 있다.
출처: InfoQ 中文
댓글
로그인 상태 확인 중…
댓글 불러오는 중…