GuardianDB 0.10.15: Migration of the logging system + IPFS Core completed.
A peer-to-peer database for the Decentralized Web.
Architecture and Technology
The architecture of GuardianDB is fully decentralized and built with modern technologies, leveraging the strengths of the Rust programming language:
Security and Performance in Rust
Being written in Rust, GuardianDB benefits from memory safety (preventing common vulnerabilities) and high performance, compiling into optimized machine code without the need for a garbage collector.
Native IPFS
It integrates a native implementation of the IPFS API, enabling direct communication with the IPFS network without the need for an external Go-based node (Kubo).
P2P Communication
It uses libp2p for direct and efficient communication between nodes (peers), including a system of direct channels and PubSub (Publish/Subscribe) for message exchange and data synchronization.
Reactive Event System
It features an event system (EventBus) based on Tokio that enables asynchronous and type-safe communication between the different components of the database.
Synchronization with CRDTs
The core of GuardianDB uses an immutable operation log (OpLog) and a Lamport clock (LamportClock) to ensure the partial chronological ordering of events and the consistent synchronization of data across peers, a fundamental characteristic of CRDTs.
Access Control and Efficient Caching
It provides a flexible access control system that can validate read and write permissions based on the participants’ cryptographic identities. It uses a multi-level caching system, with Sled as the backend, to optimize data access and improve performance.
Main Features
GuardianDB offers different types of “stores” (databases), each suited for a specific use case:

Document Store
Allows storing documents in JSON format and performing queries on them, similar to databases like MongoDB.

Event Log Store
An immutable log where only new events can be added (append-only). It is ideal for use cases such as audit trails, activity feeds, or any scenario that requires a complete and ordered history of events.

Key-Value Store
A distributed key-value database. It allows put, get, and delete operations, functioning similarly to a dictionary or map.
“Guardian DB is evolving quickly. The idea is simple: to be a distributed system that is more logical, cohesive, polished, and robust.”

William Maslonek
Software Engineer
Blog:
Join Our Community
Join our Discord to collaborate:
