A vector space search engine, vector database, and key/value store for efficient string processing and vector operations.
Resin is a vector space search engine, vector database, and key/value store designed for efficient string processing and vector operations. It enables fast storage and retrieval with set operations across columns, supports text analysis utilities, and can generate language models from strings or arbitrary models from byte arrays.
Developers and researchers building search engines, machine learning pipelines, or custom storage systems that require efficient vector operations, text analysis, and flexible key/value semantics.
Resin offers a clean, dependency-light architecture that combines vector search, database capabilities, and storage primitives in one tool, with deterministic operations, append-only immutability, and support for set-based column operations.
Language model search engine built on a vector database and an anything key/value store.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides efficient column readers and writers with page-level operations, duplicate prevention via TryPut, and linked value appending with PutOrAppend, as detailed in the Key/Value Column Semantics section.
The .val stream is append-only, ensuring stable offsets, safe caching, and minimal fragmentation, which is explicitly highlighted in the storage artefacts and immutability benefits.
Columns store keys uniquely, enabling union, intersection, and joins across columns, making it effective for data analysis and search tasks as described in the column model.
Includes practical tools for strings, bags of words/chars, and vectors, along with command-line tools for lexicon building and validation, as noted in the TextAnalysis usage and highlights.
The README admits it's a reboot that is 'not yet as feature complete' compared to the old version, limiting advanced functionality for production use.
TKey must be a value type with stable IEquatable and IComparable implementations; non-primitive keys are hashed to long, leading to potential collisions and added complexity.
As a niche project, it lacks extensive documentation, community support, or integrations, which can hinder adoption and troubleshooting compared to established tools.