Beschreibung
ITZMA ist eine auf Rust basierende Vektordatenbankbibliothek, die für eine effiziente Vektorsuche direkt auf der Objektspeicherung entwickelt wurde. Sie bietet eine skalierbare, langlebige und cloud-native Lösung für KI-Anwendungen, die erfordern, dass ihre Daten ohne den Overhead eines Zwischen-Datenbankservers sofort zugänglich sind. Durch die Einbettung von ITZMA in Ihren Anwendungsprozess können Sie direkt mit Objektspeicher wie S3, GCS, Azure, lokalem Speicher oder sogar In-Memory-Speichern interagieren und ihn als die langlebige Quelle der Wahrheit für Ihre Vektordaten behandeln.
Weiterlesen
Die Kernarchitektur von ITZMA ist für Cloud-Umgebungen konzipiert und ermöglicht es mehreren Prozessen, gleichzeitig auf dasselbe Objektspeicher-Bucket zu lesen und zu schreiben, ohne einen Koordinator, ein Lock oder einen Leader zu benötigen. Dies wird erreicht, indem die inhärenten Funktionen „put-if-absent“ und „conditional update“ von Objektspeichern genutzt werden, um die Datenkorrektheit und -konsistenz sicherzustellen. Ein Schreibvorgang wird im Bucket bestätigt, bevor der Aufruf zurückkehrt, was die Haltbarkeit garantiert.
ITZMA unterstützt sowohl dichte als auch spärliche Vektorsuche. Dichte Vektoren können mithilfe der HNSW- oder SQ8-Algorithmen indiziert werden, die pro Segment ausgewählt werden, wobei Kandidaten auf genauen Vektoren neu eingestuft werden, um präzise Ergebnisse zu gewährleisten. Spärliche Vektoren, die als (Term-ID, Gewicht)-Paare dargestellt werden, werden zusammen mit dichten Vektoren gespeichert, was genaue spärliche Abfragen mit einem optionalen invertierten Index ermöglicht. Darüber hinaus bietet es gefilterte Suchfunktionen, die es Benutzern ermöglichen, typisierte Attribute (Bool, Number, Text, TextSet, NumberSet) bei der Erstellung eines Namensraums zu definieren und Filter unabhängig oder zur Eingrenzung von Vektoranfragen anzuwenden.
Zu den Hauptmerkmalen gehören atomare Batch-Schreibvorgänge, Unterstützung für verschiedene Objektspeicher-Backends und eine flexible Indexierungsstrategie, die sich an unterschiedliche Zugriffsarten anpassen kann (z. B. HNSW für zwischengespeicherte Lesevorgänge, SQ8 für nicht zwischengespeicherte Lesevorgänge). Die Bibliothek bietet auch Python-Bindings auf ihrem speichersicheren Rust-Kern, was sie einer breiteren Entwicklergemeinschaft zugänglich macht. Wartungsaufgaben wie Kompaktierung und Indizierung sind explizit, was den Entwicklern die volle Kontrolle über ihr Datenmanagement gibt. ITZMA wurde von Sergio Marcial, einem leitenden Softwareingenieur mit umfangreicher Erfahrung in verteilten Systemen, entwickelt, um eine präzise und langlebige Vektorsuchlösung bereitzustellen.
- KategorieVektordatenbanken & Retrieval
- PreismodellOpen Source
- BereitstellungLibrary
- PlattformenWeb
ITZMA's Kernfunktionen
Vektorsuche auf Objektspeicherung
Rust-Bibliothek mit Python-Bindings
Skalierbare und langlebige Datenspeicherung
Cloud-native Architektur ohne Server
Unterstützt dichte Vektorsuche (HNSW, SQ8)
Unterstützt spärliche Vektorsuche mit invertiertem Index
Gefilterte Suche nach typisierten Attributen
Gleichzeitige Schreibvorgänge von mehreren Prozessen
Atomare Batch-Upserts und -Löschungen
Kompatibel mit S3, GCS, Azure, lokalem Speicher, Speicher
Explizite Kompaktierung und Indizierung
RAM- und NVMe-Lese-Cache
Schreibgeschützter Gesundheitsbericht
NumPy- und Arrow-Eingabe in Python
Wie verwendet man ITZMA?
ITZMA installieren: Fügen Sie das Rust-Crate von crates.io hinzu oder installieren Sie das Python-Paket von PyPI.
Einen Namensraum erstellen: Definieren Sie einen Namensraum mit festen Dimensionen, Metrik (L2, Kosinus, Skalarprodukt) und typisierten Attributen.
Dokumente schreiben: Senden Sie gebündelte Upserts und Löschungen an den Namensraum, die im Objektspeicher-Bucket gespeichert werden.
Daten abfragen: Führen Sie dichte oder spärliche Vektoranfragen mit optionalen Filtern durch, um die nächsten Treffer abzurufen.
Wartung verwalten: Rufen Sie explizit Kompaktierung, Garbage Collection und Indizierung nach Bedarf für optimale Leistung auf.
ITZMA's Anwendungsfälle
- Entwicklung von KI-Anwendungen
- Cloud-native Datenspeicherung
- Echtzeit-Retrieval
- Dichte und spärliche Vektorsuche
- Gefilterte Vektoranfragen
- Verteiltes Datenmanagement
- Rust- und Python-Entwicklung



