YAMS (Yet Another Memory System) ist eine experimentelle inhaltsadressierte Speicherlösung, die darauf ausgelegt ist, effizientes Datenmanagement durch Deduplizierung, Kompression und erweiterte Suchfunktionen bereitzustellen. Es ermöglicht Benutzern, Daten mithilfe unveränderlicher Referenzen zu speichern und abzurufen, wodurch die Datenintegrität sichergestellt und nahtlose Datenoperationen erleichtert werden. YAMS befindet sich derzeit in aktiver Entwicklung, mit einer stabilen Version 1.0, die für die zukünftige Produktionseinsatz geplant ist.
Hauptmerkmale und Funktionalität:
- Inhaltsadressierter Speicher: Nutzt SHA-256-Hashing, um unveränderliche Referenzen für gespeicherte Daten zu erstellen, was die Datenintegrität und Konsistenz gewährleistet.
- Deduplizierung: Verwendet Rabin-Fingerprinting für die Block-Level-Deduplizierung, wodurch der Speicherbedarf durch die Eliminierung redundanter Daten reduziert wird.
- Erweiterte Suchfunktionen: Integriert FTS5 für Volltextsuche und ONNX für Einbettungsvektorsuche, was sowohl schlüsselwortbasierte als auch semantische Suchfunktionen ermöglicht.
- Hohe Haltbarkeit: Verfügt über einen Write-Ahead-Logging-Mechanismus (WAL), der threadsichere Operationen und eine hohe Durchsatzleistung bietet.
- Benutzerfreundliche Oberfläche: Bietet eine Befehlszeilenschnittstelle (CLI) und unterstützt den Model Context Protocol (MCP) Server, was eine einfache Integration und Bedienung erleichtert.
- Erweiterbarkeit: Mit einer Plugin-Architektur gebaut, die zukünftige Erweiterungen und Anpassungen ermöglicht, um spezifische Benutzeranforderungen zu erfüllen.
Primärer Wert und Benutzerlösungen:
YAMS adressiert die Herausforderungen der effizienten Datenspeicherung und -abfrage, indem es ein System bereitstellt, das die Datenintegrität durch inhaltsadressierten Speicher sicherstellt und den Speicheraufwand durch Deduplizierung und Kompression reduziert. Seine erweiterten Suchfunktionen, die Volltext- und Vektorsuche kombinieren, ermöglichen es Benutzern, sowohl präzise als auch semantische Suchen durchzuführen, was die Datenauffindbarkeit verbessert. Die Haltbarkeit und hohe Durchsatzleistung des Systems machen es geeignet für Anwendungen, die zuverlässige und effiziente Datenoperationen erfordern. Darüber hinaus bietet YAMS Flexibilität durch Self-Hosting-Optionen, die es Benutzern ermöglichen, die volle Kontrolle über ihre Daten und Infrastruktur zu behalten.