Skip to content

Repository files navigation

FuseDB

An embedded Go key-value engine built for predictable latency under load.

CI Release Go Reference Go 1.25.13 MIT license

Русский · Documentation · API · Architecture · Benchmarks

What is FuseDB?

FuseDB is a concurrent embedded key-value engine for Go. It splits the keyspace into independently maintained leaves, keeping merges local instead of turning background maintenance into a database-wide latency event.

  • Durable primitives: Get, Put, Delete, atomic Inc, conditional batches, idempotent events, checksummed WAL, and crash recovery.
  • Adaptive maintenance: p95/p99 latency and CPU, disk, and RAM budgets control local merge admission and cooperatively interrupt LZ4 training.
  • Operations included: verification, backup/restore, Prometheus metrics, Grafana dashboards, and target-hardware qualification.

Quick start

Requires Go 1.25.13+, a C toolchain, and native LZ4 (liblz4-dev on Linux or brew install lz4 on macOS).

go get github.com/uchebnick/fusedb/pkg/fusedb@v0.1.0
package main

import (
    "fmt"
    "log"

    "github.com/uchebnick/fusedb/pkg/fusedb"
)

func main() {
    db, err := fusedb.Open(fusedb.DurablePilotOptions("./data"))
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    if err := db.Put([]byte("user:42"), []byte("Ada")); err != nil {
        log.Fatal(err)
    }

    value, found, err := db.Get([]byte("user:42"))
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("found=%t value=%s\n", found, value)
}

DB is safe for concurrent use; reads return owned copies. See the library guide for durability, batching, counters, configuration, and error contracts.

About

Embedded KV engine for small hot state: counters, rate limits, quotas, sessions, and other update-heavy workloads with local leaf-level merge.

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages