Skip to content

Graft is an open-source transactional storage engine optimized for lazy, partial, and strongly consistent replication—perfect for edge, offline-first, and distributed applications.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

orbitinghail/graft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graft

docs.rs   Build Status   crates.io

Graft is an open-source transactional storage engine designed for efficient data synchronization at the edge. It supports lazy, partial replication with strong consistency, ensuring applications replicate only the data they need.

Core Benefits:

  • Lazy Replication: Clients sync data on demand, saving network and compute.
  • Partial Replication: Minimize bandwidth by syncing only required data.
  • Edge Optimization: Lightweight client designed for edge, mobile, and embedded environments.
  • Strong Consistency: Serializable Snapshot Isolation ensures correct, consistent data views.
  • Transactional Object Storage: Graft turns object storage into a transactional system—supporting consistent updates to subsets of data at page granularity, without imposing any data format or schema.
  • Instant Read Replicas: Decoupled metadata and data allow replicas to spin up immediately—no replay, no waiting for full recovery.

Use Cases:

  • Offline-first and mobile applications
  • Cross-platform synchronization
  • Stateless replicas for serverless or embedded environments
  • Diverse data replication scenarios
  • Storage and replication for databases

Learn more:

Using Graft

Graft should be considered Alpha quality software. Thus, don't use it for production workloads yet.

SQLite extension

The easiest way to use Graft is via the Graft SQLite extension which is called libgraft. Please see the documentation for instructions on how to download and use libgraft.

Rust Crate

Graft can be embedded in your Rust application directly, although for now that is left as an exercise for the reader. You can find the Rust docs here: https://docs.rs/graft-client

Other languages?

Please file an issue if you'd like to use Graft directly from a language other than Rust!

Technical Overview

For a detailed overview of how Graft works, read design.md.

Contributing

Thank you for your interest in contributing your time and expertise to the project. Please read our contribution guide to learn more about the process.

License

Licensed under either of

at your option.

About

Graft is an open-source transactional storage engine optimized for lazy, partial, and strongly consistent replication—perfect for edge, offline-first, and distributed applications.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Languages