文章目录
一、什么是weaviate
Weaviate 是一个开源的向量数据库(vector database),它能够同时存储数据对象和它们的向量表示。
与传统的关系型数据库不同,Weaviate 支持基于语义相似度的检索(即向量搜索/语义搜索(向量和文本相似的搜索)),可以高效地处理文本、图片等多种类型的数据,并支持结合结构化过滤进行复杂查询。
Weaviate 的主要特点包括:
搜索:
- 高效的向量检索:能够在百万级甚至更大规模的数据集中,毫秒级完成最近邻(Nearest Neighbor)搜索。
- 混合搜索: 结合向量搜索和关键词搜索(文本和向量搜索ing)
- 向量搜索: 基于 HNSW 算法的高效向量索引
- 多媒体支持:支持文本、图片等多种数据类型的向量化和检索。
典型应用场景包括语义搜索、图片搜索、相似性检索、推荐系统、异常检测、数据分类等Weaviate 简介 官方文档。
二、High-Level Architecture
参考:
https://deepwiki.com/search/highlevel-architecture_254cebb0-bc55-4fd7-a374-cfbcaaaaa6ea

如上架构图体现了 Weaviate 的分层设计:
API 层处理外部接口,Core Components 管理业务逻辑,Extension System 提供可插拔功能,Storage Layer 负责数据持久化。
1. Core Components
| 核心组件 | 描述 |
|---|---|
| API Layer | Weaviate主要入口点,支持REST API(负责设置各种REST处理器,含认证、授权、Schema、对象操作、批量处理、GraphQL接口 )、gRPC API(提供高性能服务,含traverser、认证、schema管理、批量管理功能 )、GraphQL API(提供查询接口,通过traverser解析请求 ) |
| Objects Manager | 管理单个对象的CRUD操作,依赖Schema Manager、DB、Modules和授权器 通过 ShardLike接口实现对象的CRUD操作,如PutObject、ObjectByID、DeleteObject等 |
| Schema Manager | 1. 负责类定义和元数据管理,集群级别通过Indexer</ |

最低0.47元/天 解锁文章
2640

被折叠的 条评论
为什么被折叠?



