DEV.co
Open-Source Databases · orbitinghail

graft

Graft is an open-source transactional storage engine built in Rust designed for edge, offline-first, and distributed applications. It enables lazy, partial data replication with strong consistency guarantees, allowing applications to sync only the data they need without constant network connectivity.

Source: GitHub — github.com/orbitinghail/graft
1.5k
GitHub stars
33
Forks
Rust
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryorbitinghail/graft
Ownerorbitinghail
Primary languageRust
LicenseApache-2.0 — OSI-approved
Stars1.5k
Forks33
Open issues34
Latest releasev0.2.1 (2025-12-04)
Last updated2026-07-06
Sourcehttps://github.com/orbitinghail/graft

What graft is

Graft provides a transactional object storage layer optimized for edge replication scenarios, implementing Serializable Snapshot Isolation and supporting instant read replicas through decoupled metadata and data layers. Available as a Rust crate, SQLite extension, or through a low-level Volume API, it abstracts the transactional semantics of page-granular updates independent of data format or schema.

Quickstart

Get the graft source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/orbitinghail/graft.gitcd graft# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Offline-first and Mobile Applications

Graft's lazy replication model allows mobile clients to sync only required data on demand, reducing bandwidth and enabling seamless operation with intermittent connectivity.

Edge and Embedded Deployments

Lightweight client design optimized for resource-constrained environments; supports instant read replicas without replay or full recovery overhead.

Cross-platform Synchronization

Accessible via SQLite extension from any language with native SQLite bindings; transactional guarantees ensure consistent data views across heterogeneous platforms.

Implementation considerations

  • Alpha maturity status requires explicit pre-production contact with maintainers and integration with community Discord; no SLA or commercial support guarantee evident.
  • Primary integration path is SQLite extension; direct Rust crate embedding is documented as 'left as an exercise for the reader'—expect moderate integration effort.
  • Serializable Snapshot Isolation and page-granular transactional updates require careful schema and access pattern design to avoid conflicts in high-contention scenarios.
  • Lazy replication model requires application-level logic to specify which data subsets to sync; no automatic inference of replication scope.
  • Testing methodology includes Antithesis-driven property-based testing (noted in README badge), indicating robustness approach but requiring independent validation for your workload.

When to avoid it — and what to weigh

  • Production-Critical Systems Without Contact — README explicitly states Alpha quality; production use requires prior coordination with @carlsverre via the Discord community. Not recommended for systems where vendor contact is unavailable.
  • Requirement for Non-Rust Low-Level API Access — The low-level Volume API is currently Rust-only. Non-Rust language bindings would require filing an issue; timeline for availability is unknown.
  • Highly Centralized, Always-Connected Workloads — Graft's design is optimized for partial, lazy replication. Traditional centralized databases with continuous connectivity may be simpler alternatives.
  • Strict Backward Compatibility Requirements — At v0.2.1 with Alpha maturity, API or serialization format breaking changes are possible. Production systems with strict compatibility constraints should defer adoption.

License & commercial use

Dual-licensed under Apache License 2.0 (OSI-approved, permissive) and MIT (OSI-approved, permissive). Users may choose either license at their discretion.

Apache 2.0 and MIT are both OSI-approved permissive licenses permitting commercial use, modification, and distribution. However, Alpha maturity and explicit recommendation to contact maintainers before production use suggests no formal commercial support, indemnification, or warranty. Commercial users should document their pre-production coordination with maintainers and evaluate risk tolerance for Alpha software.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceMedium
Security considerations

No explicit security audit or formal threat model documentation is evident. Alpha maturity and replication-focused design introduce considerations: cryptographic transport and encryption-at-rest status are Unknown; access control and authentication model for replicas requires review; lazy replication could expose data exposure windows if partial sync is interrupted. Antithesis testing suggests property-based robustness but does not replace security review. Perform independent security assessment before sensitive use.

Alternatives to consider

SQLite with Third-party Sync Layer (e.g., Litestream, Dolt)

Mature, widely deployed, and with established operational patterns. Trade-off: requires separate sync orchestration and may not provide Graft's lazy/partial replication optimization.

CouchDB or Apache Sync Gateway

Production-ready distributed sync with document replication. Trade-off: higher overhead, schema-aware (vs. Graft's schema-agnostic approach), and different consistency model (eventual vs. strong).

Firestore or AWS DynamoDB with DataSync

Managed cloud services with built-in replication and offline support. Trade-off: vendor lock-in, closed-source, and higher operational cost vs. open-source self-hosted Graft.

Software development agency

Build on graft with DEV.co software developers

Graft is Alpha-quality and requires pre-production coordination with maintainers. Contact the community on Discord before deployment. For production-grade edge replication, consider mature alternatives or engage with the Graft team to assess fit.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

graft FAQ

Can I use Graft in production today?
README explicitly marks Graft as Alpha quality and recommends contacting @carlsverre via Discord before production use. Not recommended without prior maintainer coordination and risk acceptance.
What languages can I use Graft with?
Rust directly via crate; any language with native SQLite bindings via the Graft SQLite extension. Other languages require filing a feature request for low-level API bindings.
Does Graft replace SQLite?
No. Graft is a transactional storage engine optimized for replication. SQLite integration is via extension; Graft layers replication, lazy-loading, and partial sync on top of transactional semantics.
What consistency guarantees does Graft provide?
Serializable Snapshot Isolation (SSI), ensuring strong consistency within a replica and across replicas for committed transactions. Read your own writes and cross-client causality require application-level coordination.

Software development & web development with DEV.co

DEV.co helps companies turn open-source tools like graft into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source databases stack.

Evaluating Graft for Your Edge-Sync Stack?

Graft is Alpha-quality and requires pre-production coordination with maintainers. Contact the community on Discord before deployment. For production-grade edge replication, consider mature alternatives or engage with the Graft team to assess fit.