본문 바로가기
SingleStoreDB/사례연구

SingleStore Vector DB에 관한 10문 10답

by 에이플랫폼 [Team SingleStore Korea] 2023. 8. 4.

Q1. 요즘 DB 시장에서 특수 벡터 DB의 비중이 커지고 있는데, 이 특수 벡터 DB가 무엇인가요?

요즘 DB 시장에서 이 특수 벡터 DB를 빼놓고 이야기할 수가 없죠. 특수 벡터 DB는 주로 고차원의 벡터를 저장하고 검색하는 데에 특화되어 있는데, 특히 최근접 이웃 검색(nearest-neighbor search)에 많이 이용되고 있어요.

그리고 이런 DB들은 "메타데이터"라고 불리는 다른 속성들에 대해서도 어느 정도 필터링이 되긴 하지만, 일반적인 DB 시스템에서 기대하는 모든 기능을 갖추고 있지는 않아요.

Q2. 이것을 구매한 후 기존의 데이터 아키텍처에 합치면 어떤 일이 발생하나요?

음.. 과도한 데이터 이동이나 데이터 중복 현상, 그리고 분산된 컴포넌트 간의 데이터 값 불일치 등 몇 가지 일반적인 문제들이 생길 거예요. 또한 아예 새로운 소프트웨어를 사용하게 되는 것이니 라이센스 비용이나 인건비 같은 부분도 생각을 안 할 수가 없죠.

Q3. 벡터와 벡터 검색이 왜 데이터 처리를 위한 새로운 방식의 기반이 될 수 없는지도 설명해 주실 수 있나요?

왜냐하면 벡터는 하나의 데이터 타입일 뿐이고, 벡터 검색도 그냥 데이터 처리의 방법 중 하나일 뿐이기 때문이죠.

요즘 앱들은 벡터 외에도 문자열, 숫자, 날짜 및 시간, 텍스트, 공간 정보, JSON, 시계열 데이터 등 훨씬 많은 데이터들이 필요해요.

Q4. 그렇다면 대안은 무엇인가요?

개발자 친화적인 기존의 범용 DB를 사용하는 방법이 있어요.

Q5. SingleStoreDB는 벡터 DB의 하위 시스템을 제공하는 것으로 알고 있는데, 이건 특수 벡터 DB와 어떻게 다른가요?

SingleStore의 벡터 DB 하위시스템은 SQL을 이용해서 의미가 비슷한 객체를 보다 빨리 찾을 수 있게 매우 빠른 속도의 최근접 이웃 검색을 가능하게 해줘요. 게다가 SingleStore DB는 특수 벡터 DB 제공 업체보다 훨씬 강력하고 일반적인 형태의 메타데이터 필터링 기능을 제공해 주죠. 또, SingleStore DB는 병렬 처리, 스케일 아웃, ACID 트랜잭션, 높은 가용성, 재해 복구, 백업 및 복원, 그리고 시점 복원도 가능하답니다.

그래서 개발자들은 SingleStore DB의 높은 성능과 클라우드 네이티브, 현대적인 SQL 등 모든 이점을 사용하여 운영 분석 및 인공지능/머신러닝 애플리케이션을 편하게 다룰 수 있게 되죠.

Q6. SingleStoreDB는 dot_product(코사인 유사성) 및 euclidean_distance(유클리디안 거리) 함수를 사용하여 벡터 및 벡터 유사성 검색을 지원한다고 들었어요. 이것들은 어디에 유용한가요?

이 기능들은 얼굴 인식, 텍스트 기반 시맨틱 검색 및 사진 검색과 같은 애플리케이션에 주로 사용되고, 텍스트 기반 AI 챗봇의 기반이 되기도 해요.

Q7. DOT_PRODUCT() 함수와 함께 사용하기 위해서는 SingleStoreDB에 벡터를 삽입해야 한다고 하던데, 이 과정은 얼마나 복잡한가요?

그냥 BLOB 타입 열을 가진 테이블을 만들고 JSON_ARRAY_PACK() 함수를 사용해서 올바르게 포맷된 벡터를 테이블에 삽입하면 끝이에요. 전혀 복잡하지 않죠?

Q8. 어떤 종류의 애플리케이션들이 최근접 이웃 검색을 사용하나요? SingleStoreDB의 SQL에서는 이 작업을 얼마나 쉽게 처리할 수 있나요?

최근접 이웃 검색을 사용하는 애플리케이션에는 텍스트의 의미적 검색, 얼굴 인식, 제품 및 객체 사진 인식, 개체 해결, 퍼지 일치, 챗봇 등이 있어요. 이러한 유형의 검색은 벡터 유사도 함수를 사용하여 근접도 메트릭을 얻는 ORDER BY/LIMIT 쿼리를 사용하여 SingleStoreDB의 SQL에서 쉽게 처리가 가능하죠.

Q9. 벡터 조인은 어디에 유용한가요?

집합 기반 가장 가까운 이웃 작업을 하는데 용이하죠. 싱글스토어 DB도 벡터 조인을 지원한답니다.

Q10. SingleStore DB는 AI와 맞춤 훈련 벡터 임베딩 모델을 사용하는 기업들에게는 어떤 도움을 줄 수 있나요?

SingleStoreDB는 반정형 데이터를 빠르게 처리하여 벡터로 변환할 수 있고, 인덱싱 기능을 사용해 검색할 수 있어요. 게다가 추가 컨텍스트를 통해 결과를 개선하거나 재정렬 할 수 있고 AI API를 답변 생성에 활용할 수 있을 뿐만 아니라 사용자와 공유하고 분석을 위해 따로 저장도 할 수 있어요.

 

 

 

 

 

Eric Hanson은 쿼리 처리, 스토리지 및 확장성 기능 영역을 담당하는 SingleStore의 제품 관리 이사입니다.

그는 2016년에 SingleStore 제품 관리 팀에 합류했습니다.

원문:

https://www.odbms.org/2023/07/on-vector-databases-qa-with-eric-hanson/?utm_source=advocacy&utm_medium=osm&utm_campaign=&blaid=4805490