A tokio-enabled Rust library for storing and efficiently querying triple data (subject-predicate-object).
TerminusDB Store is a Rust library for storing and querying triple data, where each fact consists of a subject, predicate, and object (which can be a value or a node). It serves as a foundational storage layer for building databases that handle triple-based data, focusing purely on efficient storage and retrieval without imposing constraints on data validity.
Database developers and engineers building systems that require efficient storage and querying of triple-based data, such as graph databases, semantic web applications, or knowledge graphs.
Developers choose TerminusDB Store for its minimal, focused approach to triple storage, offering high performance with async/await support via Tokio and a synchronous wrapper for flexibility, without enforcing data validity rules.
a tokio-enabled data store for triple data
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Tokio for non-blocking I/O and locking, enabling high-throughput operations in asynchronous environments, as highlighted in the README's focus on tokio integration.
Provides both async and synchronous wrappers via the sync module, allowing use in various contexts without forcing an async runtime, demonstrated by the open_sync_directory_store function.
Optimized for storing and querying subject-predicate-object triples with support for large volumes, as per the library's design for fast search and retrieval of triple facts.
Uses a single-file archive from version 0.20+, simplifying data management and portability, as mentioned in the storage format upgrade and bundling features.
The transition to a new single-file format in v0.20 requires manual conversion for existing stores using an external tool, disrupting backward compatibility and adding migration overhead.
As a foundational storage layer, it lacks high-level features such as query languages or data modeling tools, necessitating significant additional development for full database functionality.
Reliance on Rust and Tokio may pose a barrier for teams unfamiliar with these technologies, as the async functions fail outside a tokio runtime, despite the sync wrapper option.