1 week ago
Mon Nov 10, 2025 1:35am PST
Show HN: UnisonDB – Replicates like a message bus. Acts like a database
Hey Folks, I’ve been experimenting with an idea that combines a database and a message bus into one system, for a system that need colocated state at the edge.

Every database already has a log—the Write-Ahead Log. It's durable, ordered, and append-only. It's literally what you'd build if you were designing a message queue.

  So I asked: what if we just replicate the log itself?

  UnisonDB is the result. It's a Go-based KV store where:

  Every write:
  1. Appends to a memory-mapped WAL (durability)
  2. Streams to 100+ replicas instantly (no separate CDC) from the Wal itself.
  3. Becomes queryable via B+Tree (state)

  How replication works

  Each replica gets a WAL reader positioned at its last applied offset.

  - New data arrives → reader pulls it → replicate.
  - Network partition? Reconnect and resume from offset
  - Replica crashes? Recover local WAL, catch up from last commit

  No consensus. No quorum. No global coordination. Just: stream the log.
GitHub: github.com/ankur-anand/unisondb Would love your feedback.
read article
comments:
add comment
loading comments...