벡터 데이터베이스란 무엇인가요?

벡터 데이터베이스 는 벡터 임베딩 또는 텍스트, 이미지, 오디오와 같은 구조화되지 않은 데이터의 수치 표현을 저장, 색인 생성, 쿼리할 수 있게 해주는 모든 데이터베이스입니다.

벡터 임베딩이란 무엇인가요?

벡터 임베딩은 시맨틱 유사성이 n차원 벡터 공간에서 거리로 표현되는 방식으로 콘텐츠를 매핑하기 때문에 비정형 데이터의 유용한 표현입니다. 이를 통해 손쉽게 유사성을 검색하거나 기술 자료에서 관련 콘텐츠를 찾거나 복잡한 사용자 생성 쿼리와 가장 일치하는 항목을 검색할 수 있습니다. 

일부 특수 데이터베이스는 벡터 임베딩만 지원하지만, 벡터 임베딩 외에도 다른 많은 데이터와 쿼리 유형을 지원하는 데이터베이스도 있습니다. 풍부한 실제 데이터를 기반으로 생성형 AI 애플리케이션을 빌드하려면 다양한 데이터 유형과 쿼리 유형을 지원하는 것이 중요합니다. 벡터 임베딩을 사용하는 시맨틱 쿼리의 이점이 명확해짐에 따라 대부분의 데이터베이스에서 벡터 지원을 추가할 예정입니다. 미래에는 모든 데이터베이스가 벡터 데이터베이스가 될 것이라 생각합니다.

Vertex AI의 벡터 검색이 고성능 생성형 AI 애플리케이션 빌드를 지원하는 방법을 알아보세요. Vertex AI의 벡터 검색은 Google 연구팀에서 개발한 확장 가능하고 효율적인 벡터 검색 기술인 ScaNN(Scalable Nearest Neighbor Search)을 기반으로 하므로 대규모 데이터 세트와 실시간 검색 요구사항을 처리하는 데 이상적입니다. 이 동영상에서 벡터 검색 및 임베딩에 대해 자세히 알아보고 빠른 시작 가이드로 시작하세요. 

벡터 데이터베이스는 어떻게 작동하나요?

다른 데이터 유형과 마찬가지로 대규모 벡터 집합을 효율적으로 쿼리하려면 색인이 필요하며 벡터 데이터베이스는 벡터에 대한 특수 색인을 지원합니다. 텍스트 또는 숫자와 같이 단일 논리 순서를 사용하는 다른 많은 데이터 유형과 달리 벡터에는 실제 사용 사례에 해당하는 자연 순서가 없습니다. 대신 가장 일반적인 사용 사례는 내적, 코사인 유사성, 유클리드 거리와 같은 거리 측정항목 측면에서 다른 벡터에 가장 가까운 k 벡터를 쿼리하는 것입니다. 이러한 종류의 쿼리를 'k(정확한) 최근접 이웃' 또는 'KNN' 쿼리라고 합니다.

안타깝게도, 효율적인 KNN 쿼리를 위한 일반적인 알고리즘은 없습니다. 주어진 벡터 q에 대해 k개의 최근접 이웃을 찾기 위해 q와 다른 모든 벡터 사이의 거리를 계산해야 합니다. 하지만 k개의 근사 최근접 이웃('ANN')을 찾기 위한 효율적인 알고리즘이 있습니다. 이러한 ANN 알고리즘은 속도를 크게 향상시키기 위해 약간의 정확도(구체적으로 재현율, 알고리즘이 실제 최근접 이웃 중 일부를 생략할 수 있음)를 희생합니다. 많은 사용 사례에서 이미 벡터 임베딩 계산 프로세스를 다소 부정확하게 취급하고 있기 때문에 성능을 크게 개선하기 위해 재현율 손실을 어느 정도 감수할 수 있습니다.

벡터 인덱스는 다른 벡터와의 거리를 기반으로 하는 벡터에 대해 ANN 쿼리를 사용하기 위해 근처 벡터의 클러스터가 일반적으로 함께 그룹화되는 방식으로 구성됩니다. 공통 벡터 색인 유형은 각 목록이 지정된 클러스터의 벡터를 나타내는 목록 집합으로 구성될 수 있습니다. 각 벡터가 몇 개의 최근접 이웃과 연결된 그래프, 브랜치가 상위 노드 클러스터의 하위 집합에 해당하는 트리 등으로 구성될 수 있습니다. 각 색인 유형은 조회 속도, 재현율, 메모리 소비, 색인 생성 시간, 기타 요인 간의 균형을 유지합니다.

그러나 대부분의 데이터베이스 쿼리는 시맨틱 유사성만을 기준으로 하지 않습니다. 예를 들어 사용자가 '아이와 강아지에 관한 마음 따뜻한 이야기'와 유사한 설명의 책을 검색하면서 문고판 형식의 20달러 미만 도서로 제한하고자 할 수 있습니다. 특수 목적 벡터 데이터베이스는 제한된 추가 필터링 기능('제한'이라고도 함)을 제공할 수 있는 반면, 범용 데이터베이스는 SQL과 같은 표준 언어를 사용하여 풍부한 조건자를 작성할 수 있으며, 이를 벡터 유사성 순서 지정과 결합하여 매우 강력하고 표현력이 풍부한 쿼리를 만들 수 있습니다.

벡터 데이터베이스 사용 사례

벡터 임베딩이 구조화되지 않은 데이터의 시맨틱 의미를 표현하는 기능과 벡터 데이터베이스가 근처 벡터를 효율적으로 검색하는 기능을 결합하여 중요한 사용 사례를 많이 창출할 수 있습니다.

  • 채팅 기록에서 현재 대화와 관련된 메시지를 찾아 AI 기반 챗봇이 '기억'을 갖도록 합니다.
  • '수비수를 뛰어넘어 공을 잡고 터치다운 하기'와 같은 간단한 설명과 일치하는 방대한 스포츠 방송 기록에서 동영상 클립을 찾습니다.
  • 사용자가 이전에 구매한 제품과 유사하고 사용자의 가격 및 스타일 선호도에 맞는 제품을 찾습니다.
  • AI 기반 어시스턴트가 사실에 기반한 관련성 높은 답변을 제공할 수 있도록 '진공청소기의 필터 교체'와 같은 작업과 관련된 문서를 찾습니다.

벡터 데이터베이스의 이점

벡터 데이터베이스는 관계형 조건자 또는 텍스트 검색 기술만으로는 해결하기 어렵거나 불가능한 다양한 문제를 해결하는 데 사용할 수 있기 때문에 중요합니다.

벡터 데이터베이스는 LLM이 복잡한 사용자 쿼리에 응답할 수 있도록 관련 채팅 기록 또는 비즈니스별 구조화되지 않은 콘텐츠와 같은 중요한 비즈니스 및 애플리케이션 컨텍스트를 쉽게 검색할 수 있으므로 생성형 AI 애플리케이션에 적합합니다.

또한 자연어를 사용하여 콘텐츠를 쉽게 검색하거나 예시별로 쿼리할 수 있습니다.

Google Cloud로 비즈니스 문제 해결

신규 고객에게는 Google Cloud에서 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Google Cloud 영업 전문가와 고유한 문제에 대해 자세히 논의해 보세요.

다음 단계 수행

$300의 무료 크레딧과 20여 개의 항상 무료 제품으로 Google Cloud에서 빌드하세요.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
콘솔
Google Cloud