描述
ITZMA 是一个基于 Rust 的向量数据库库,旨在直接在对象存储上高效地进行向量搜索。它为需要数据随时可访问的 AI 应用程序提供了可扩展、持久和云原生的解决方案,无需中介数据库服务器的开销。通过将 ITZMA 嵌入到您的应用程序进程中,您可以直接与 S3、GCS、Azure、本地磁盘或甚至内存存储进行交互,将其视为您向量数据的持久真实来源。
阅读更多
ITZMA 的核心架构专为云环境设计,允许多个进程同时读取和写入同一个对象存储桶,而无需协调者、锁或领导者。这是通过利用对象存储的固有 `put-if-absent` 和 `conditional update` 功能来实现的,确保数据的正确性和一致性。在调用返回之前,写入操作在桶中得到确认,确保持久性。
ITZMA 支持密集和稀疏向量搜索。密集向量可以使用 HNSW 或 SQ8 算法进行索引,按段选择,并在精确向量上重新排序候选项,以确保结果的准确性。稀疏向量以(术语 ID,权重)对的形式存储,与密集向量一起存储,支持带有可选倒排索引的精确稀疏查询。此外,它还提供过滤搜索功能,允许用户在创建命名空间时定义类型属性(布尔值、数字、文本、文本集、数字集),并独立应用过滤器或缩小向量查询。
主要功能包括原子批量写入、对各种对象存储后端的支持,以及可以适应不同访问模式的灵活索引策略(例如,HNSW 用于缓存读取,SQ8 用于未缓存读取)。该库还在其内存安全的 Rust 核心上提供 Python 绑定,使其可供更广泛的开发者社区使用。维护任务如压缩和索引是显式的,给予开发者对数据管理的完全控制。ITZMA 由 Sergio Marcial 构建,他是一位具有丰富分布式系统经验的首席软件工程师,旨在提供精确和持久的向量搜索解决方案。
- 类别向量数据库与检索
- 定价模式开源
- 部署Library
- 平台网页版
ITZMA的核心功能
在对象存储上进行向量搜索
带有 Python 绑定的 Rust 库
可扩展和持久的数据存储
无服务器的云原生架构
支持密集向量搜索(HNSW、SQ8)
支持带有倒排索引的稀疏向量搜索
基于类型属性的过滤搜索
来自多个进程的并发写入
原子批量插入和删除
与 S3、GCS、Azure、本地磁盘、内存兼容
显式压缩和索引
RAM 和 NVMe 读取缓存
只读健康报告
Python 中的 NumPy 和 Arrow 输入
如何使用 ITZMA?
安装 ITZMA:从 crates.io 添加 Rust crate 或从 PyPI 安装 Python 包。
创建命名空间:定义具有固定维度、度量(L2、余弦、点积)和类型属性的命名空间。
写入文档:将批量插入和删除发送到命名空间,这些数据存储在对象桶中。
查询数据:执行密集或稀疏向量查询,带有可选过滤器,以检索最近的命中。
管理维护:根据需要显式调用压缩、垃圾回收和索引,以获得最佳性能。
ITZMA的使用案例
- 构建 AI 应用程序
- 云原生数据存储
- 实时检索
- 密集和稀疏向量搜索
- 过滤向量查询
- 分布式数据管理
- Rust 和 Python 开发



