这是indexloc提供的服务,不要输入任何密码
Skip to content
/ graft Public
forked from orbitinghail/graft

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

Notifications You must be signed in to change notification settings

alsuren/graft

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graft

Build Status   docs.rs   crates.io   graft.rs

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, visit https://graft.rs/docs/internals.

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 95.0%
  • Shell 3.4%
  • Other 1.6%