Graph database engine written in Rust and queried with Cypher.
- Storage: in memory, hybrid (in-memory graph with a write-ahead log and snapshots) or disk-resident paged storage for graphs larger than RAM
- Cypher: query planner, streaming execution, indexes, constraints, transactions
- Protocols: HTTP/JSON and Bolt (Neo4j drivers), user accounts, TLS
- Tools: interactive shell, bulk CSV import, online backup, restore and consistency check
- GPU: graph kernels and algorithms on wgpu (Vulkan, Direct3D 12, Metal)
- Quick startStart GraphBuff with Docker or Cargo: the interactive Cypher shell, a script, durable data, the movies demo graph and the HTTP and Bolt server.
- Install without RustRun GraphBuff without a Rust toolchain: the Docker image for amd64 and arm64, prebuilt binaries for Linux, macOS and Windows, and durable data volumes.
- Storage modesIn-memory, hybrid (write-ahead log and snapshots) or disk-resident paged storage for graphs larger than RAM: how each GraphBuff storage mode works and when to use it.
- Multiple databasesMany named graph databases in one GraphBuff process: create, list and drop them with Cypher, switch with USE, and choose storage per database.
- Bulk CSV importLoad millions of nodes and relationships from CSV with graphbuff import: the header format, ID spaces, labels and types, and how fast it writes store records.
- Backup, restore and consistency checksOnline backup while queries keep committing, restore from the CLI or over HTTP, and consistency checks for GraphBuff stores.
- Graph algorithms and GPU kernelsPageRank, connected components, triangle count, BFS and multi-hop walks over a compressed sparse row export, on the CPU or the GPU with wgpu.
- HTTP/JSON serverRun Cypher over HTTP/JSON from Java, Python, JavaScript or any language: endpoints, parameters, transactions, databases and authentication.
- Bolt serverGraphBuff speaks Bolt 4.4 and 5.0 to 5.4, so the official Python, Java, JavaScript, .NET and Go drivers connect, including routing URIs.
- Users, roles and TLSPassword authentication over HTTP and Bolt, admin and reader roles, and HTTPS and Bolt over TLS on the same ports with rustls.
- ArchitectureHow GraphBuff is built: the GraphStore trait, in-memory storage, snapshot concurrency where readers never wait for writers, and the streaming query executor.
- Supported CypherEvery Cypher clause, expression, function and procedure GraphBuff supports today. Anything else fails with an Unsupported error, never with a wrong answer.
- Licensegraphbuff is licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). See LICENSE.