DendroLabs
Workshop & Code Bench
graft icon

graft

High-performance graph database written in Rust

● Available Linux

A Graph Database Built for the Hardware

Most graph databases treat the operating system as a black box — generic memory allocation, thread pools with lock contention, buffered I/O through the kernel page cache. graft takes the opposite approach, co-designing with the hardware and OS to eliminate overhead at every layer.

Core Architecture

  • Shard-per-core, shared-nothing concurrency — one OS thread per CPU core, each owning its own data partition. No locks in the hot path.
  • Index-free adjacency — nodes carry direct pointers to their edges. Every traversal hop is O(1), regardless of total graph size.
  • 64-byte cache-line-aligned records — node and edge records fit exactly in one CPU cache line. No partial loads, no false sharing.
  • Custom memory allocators — slab allocators for topology (O(1) alloc, zero fragmentation), arena allocators for query execution.
  • Kernel-bypass I/O — io_uring on Linux, with a path toward SPDK/DPDK for full OS bypass.
  • GQL (ISO/IEC 39075:2024) — the first ISO-standard graph query language since SQL. Not Cypher, not Gremlin, not a proprietary language.

Performance

Single core, no network overhead (AMD Ryzen 5 3600, 64 GB RAM, NVMe):

OperationResult
Point lookup49 ns
Single traversal hop111 ns (9M hops/sec/core)
Fan-out traversal (1000 edges)65 ns/edge (15.4M edges/sec)
Node insert3.3M nodes/sec
Edge insert2.8M edges/sec

Standards-First Query Language

graft implements a substantial subset of the GQL standard, including pattern matching, graph mutations, variable-length path traversals with cycle detection, and aggregations.

Open Source

Licensed under AGPL v3 — one codebase, one license, every feature. No crippled community edition.