본문으로 건너뛰기

벡터 데이터베이스

타임라인

Vespa는 메인스트림(MainStream) BM25 키워드 검색 알고리즘 옆에 벡터 유사성 검색을 추가한 최초의 공급업체 중 하나입니다.

Weaviate는 이어 2018년 말 전용 오픈소스 벡터 검색 데이터베이스 제품을 출시했다.

2019년까지, 우리는 이 분야에서 Milvus(또한 오픈 소스)를 포함한 더 많은 경쟁을 보기 시작했습니다.Zilliz는 Milvus의 모회사입니다.

2021년에는 Vald, Qdrant, Pinecone 등 3개의 새로운 공급업체가 경쟁에 합류했습니다.

Elasticsearch, Redis, PostgreSQL과 같은 기존 공급업체가 벡터 검색을 제공하기 시작한 시점은 원래 생각했던 것보다 훨씬 늦은 2022년 및 그 이후입니다.

image-20240125145334529

오픈 소스 및 비즈니스

비즈니스: Pinecone 및 Zilliz

플러그인 형식

  • pgvector Redis Stack

image-20240125145550416

포스트그레스(Postgres)

단일 데이터베이스 지원:

  • 관계형 데이터베이스: RDS
  • 벡터 데이터베이스:pgvector
  • 시계열 데이터베이스: 메타데이터 필터링에 중요한 역할을 하는 시계열 데이터베이스는 이벤트 및 발생 시간을 기록하는 데이터베이스로 시계열 검색 속도가 매우 빠릅니다.RAG 앱에서는 2023년 3월 계약 파일만 검색하면 되는 등 업종별 지식 파일이 수만 개로 컷팅되면 시간 필터링을 사용하는 것이 매우 중요할 수 있는데, 이를 통해 시간 데이터로 목표 chunk를 수만 개 안에서 먼저 골라내고 벡터 계산을 할 수 있다.
image-20240125150309961

Timescale Vector 플러그인

수백만 개의 벡터에 대한 보다 빠른 유사성 검색: DiskANN 알고리즘, HNSW 알고리즘 지원

  • **Timescale Vector는 시간 기반 벡터 검색 쿼리를 최적화합니다. ** Timescale의 슈퍼 테이블의 자동 시간 기반 파티션 및 인덱스를 활용하여 가장 가까운 Embeddings를 효과적으로 찾아 시간 범위 또는 문서에 대한 연도 제약 벡터 검색, 대형 언어 모델(LLM) 응답 및 채팅 내역을 쉽게 저장하고 검색할 수 있습니다.또한 시간 기반 의미 검색을 통해 Enhanced Building(Retrieval Augmented Generation, RAG) 및 시간 기반 컨텍스트 검색을 사용하여 사용자에게 보다 유용한 LLM 응답을 제공할 수 있습니다.
  • **단순화된 AI 인프라 스택: 벡터 Embeddings, 관계형 데이터시계열 데이터를 하나의 PostgreSQL 데이터베이스에 결합하여 Timescale vector를 사용하면 여러 데이터베이스 시스템을 대규모로 관리할 때 발생하는 운영상의 복잡성을 없앨 수 있습니다.
  • ** 메타데이터 처리 및 다중 속성 필터링 단순화: ** 개발자는 모든 PostgreSQL 데이터 유형을 사용하여 메타데이터를 저장 및 필터링하고 벡터 검색 결과를 관계형 데이터에 연결하여 보다 많은 컨텍스트 관련 응답을 얻을 수 있습니다.향후 버전에서 Timescale Vector는 풍부한 다중 속성 필터링을 더욱 최적화하여 메타데이터를 필터링할 때 더 빠른 유사성 검색을 구현합니다.

LlamaIndex 정리를 위한 벡터 데이터베이스

链接

Vector Store Options & Feature Support

Vector StoreTypeMetadata FilteringHybrid SearchDeleteStore DocumentsAsync
Apache Cassandra®self-hosted / cloud
Astra DBcloud
Azure Cognitive Searchcloud
Azure CosmosDB MongoDBcloud
ChatGPT Retrieval Pluginaggregator
Chromaself-hosted
DashVectorcloud
Deeplakeself-hosted / cloud
DocArrayaggregator
DynamoDBcloud
Elasticsearchself-hosted / cloud
FAISSin-memory
txtaiin-memory
Jaguarself-hosted / cloud
LanceDBcloud
Lanternself-hosted / cloud
Metalcloud
MongoDB Atlasself-hosted / cloud
MyScalecloud
Milvus / Zillizself-hosted / cloud
Neo4jVectorself-hosted / cloud
OpenSearchself-hosted / cloud
Pineconecloud
Postgresself-hosted / cloud
pgvecto.rsself-hosted / cloud
Qdrantself-hosted / cloud
Redisself-hosted / cloud
Simplein-memory
SingleStoreself-hosted / cloud
Supabaseself-hosted / cloud
Taircloud
TencentVectorDBcloud
Timescale
Typesenseself-hosted / cloud
Weaviateself-hosted / cloud

대부분의 지원되는 데이터베이스

ector StoreTypeMetadata FilteringHybrid SearchDeleteStore DocumentsAsync
DashVectorcloud
Elasticsearchself-hosted / cloud总觉得比较重
Jaguarself-hosted / cloud
Lanternself-hosted / cloud
MyScalecloud
Pineconecloud
Postgresself-hosted / cloud
pgvecto.rsself-hosted / cloud
Qdrantself-hosted / cloud创始人好像出走了
TencentVectorDBcloud
Weaviateself-hosted / cloud

Elasticsearch:总觉得比较重

Postgress:先从最简单的开始吧。

Qdrant:创始人好像出走了。

LangChain의 데이터베이스 대비

原文

数据库名称应用场景
HNSWLib, Faiss, LanceDB, CloseVector如果你需要一个可以在你的Node.js应用程序中运行的内存数据库,无需其他服务器
MemoryVectorStore, CloseVector如果你在寻找一个可以在类似浏览器的环境中内存中运行的东西
HNSWLib, Faiss如果你来自Python,并且你在寻找类似于FAISS的东西
Chroma如果你在寻找一个开源的、功能全面的向量数据库,可以在docker容器中本地运行
Zep如果你在寻找一个开源的向量数据库,提供低延迟、本地嵌入文档支持,并且支持边缘上的应用
Weaviate如果你在寻找一个开源的、生产就绪的向量数据库,可以在docker容器中本地运行或在云中托管
Supabase vector store如果你已经在使用Supabase,看看Supabase向量存储,使用同一个Postgres数据库来存储你的嵌入
Pinecone如果你在寻找一个生产就绪的向量存储,你不必担心自己托管
SingleStore vector store如果你已经在使用SingleStore,或者你需要一个分布式、高性能的数据库,你可能会考虑SingleStore向量存储
AnalyticDB vector store如果你在寻找一个在线MPP(大规模并行处理)数据仓库服务,你可能会考虑AnalyticDB向量存储
MyScale如果你在寻找一个性价比高的向量数据库,允许使用SQL进行向量搜索
CloseVector如果你在寻找一个可以从浏览器和服务器端加载的向量数据库,看看CloseVector。它是一个旨在跨平台的向量数据库
ClickHouse如果你在寻找一个可扩展的、开源的列式数据库,对于分析查询有着出色的性能

데이터베이스별 비교

开源向量数据库对比

RAG 선택

Elasticsearch

Qdrant

Postgress

참조

https://mp.weixin.qq.com/s/YENmch0b4rbNJ73bvBLUpQ