Show HN: UnisonDB – Log-native KV database that replicates like a message bus
Show HN (score: 10)Description
For the past few months, I’ve been building UnisonDB — a log-native database where the Write-Ahead Log (WAL) is the database, not just a recovery mechanism.
I started this because every time I needed data to flow — from core to edge, or between datacenters — I ended up gluing together a KV database + CDC + Kafka.
It worked, but it always felt like overkill: too many moving parts for even small workloads, and too little determinism.
What is it?
UnisonDB unifies storage and streaming into a single log-based core. Every write is: • Durable (appended to the WAL), • Ordered (globally sequenced for safety), • Streamable (available to any follower in real time).
It combines B+Tree storage (predictable reads, no LSM compaction storms) with WAL-based replication (sub-second fan-out to 100+ nodes).
Key Ideas
1. Storage + Streaming = One System — no CDC, no Kafka, no sidecar pipelines
2. B+Tree-Backed — predictable reads, zero compaction overhead
3. Multi-Model — KV, wide-column, and large objects (LOB) in one atomic transaction
4. Replication-Native — WAL streams via gRPC; followers tail in real time
5. Reactive by Design — every write emits a ZeroMQ notification
6. Edge-Friendly — replicas can go offline and resync instantly
Performance & Tradeoffs 1. Write throughput is lower than pure LSM stores (e.g. BadgerDB) — because writes are globally ordered for replication safety. Deliberate tradeoff: consistency > raw write speed.
2. Still ~2× faster than BoltDB with replication enabled.
Tech Details
Written in Go
FlatBuffers for zero-copy serialization
gRPC for streaming replication
More from Show
Show HN: React-like Declarative DSL for building synthetic LLM datasets
Show HN: React-like Declarative DSL for building synthetic LLM datasets
Show HN: A context aware backend for AI coding agents
Show HN: A context aware backend for AI coding agents Hey HN, I’m Hang. Today I’m open-sourcing InsForge, a context aware backend for AI coding agents.<p>When using agents like Cursor or Claude to build applications, they often assume what the backend looks like instead of inspecting it. Without access to the actual backend state, they fall back on outdated information, which leads to concrete issues. For example:<p>1. Storage, edge functions, and database logic are closely connected. Without understanding how these parts interact, existing setups get overwritten and important flows break. 2. Database migrations conflict with foreign keys or miss functions because the agent never inspects the live schema. 3. Recreating tables or adding columns that already exist, which leads to conflicts and failed deploys.<p>These problems are not about the agent’s ability to code. They happen because there’s no structured way for the agent to inspect and understand the actual backend before acting.<p>To address this, I built InsForge, which exposes the backend in a structured way and gives the agent direct control:<p>1. Introspection endpoints for schema, relations, functions, triggers, policies, routes, storage, roles, documentation, logs and events 2. Control endpoints for operations usually done through CLI, dashboards or SQL editors<p>InsForge is a full backend platform that includes:<p>- Postgres - Authentication - Storage - Edge functions - Built in AI-model endpoints (via OpenRouter)<p>On top of this, it exposes structured backend metadata and control capabilities through an MCP server and tools, providing a structured, self-describing interface for agents to inspect schemas, policies, triggers, and docs, and interact with the backend.<p>It’s open source and can be self hosted (<a href="https://github.com/InsForge/InsForge" rel="nofollow">https://github.com/InsForge/InsForge</a>) or try our cloud service at (<a href="https://insforge.dev/" rel="nofollow">https://insforge.dev/</a>).<p>We love feedback!
Show HN: FingerprinterJS – A tiny JavaScript library for browser fingerprints
Show HN: FingerprinterJS – A tiny JavaScript library for browser fingerprints I made FingerprinterJS, a small library with no dependencies that creates browser fingerprints from signals like canvas, WebGL, audio, fonts, userAgent, and screen info.<p>It’s written in TypeScript, lets you enable/disable collectors, add custom data, and includes a simple suspicious-activity score.<p>Would love feedback.
Show HN: Macscope – I decide to built a better Cmd-Tab replacement for macOS
Show HN: Macscope – I decide to built a better Cmd-Tab replacement for macOS Hi HN,<p>Macscope is a new window manager and and app switcher for macOS built on the philosophy of enhancing, not replacing, your existing muscle memory.<p>It works by augmenting the familiar Cmd+Tab workflow. A quick tap of your shortcut instantly switches between recent apps, just like you're used to. A slightly longer hold, however, opens the full Macscope interface where you can manage all your open windows and tabs.<p>You can also use modifier shortcuts to enter Placement Modes, which let you instantly snap a selected window to the left/right/top/bottom/ half of your screen.<p>Here are some of the key features:<p>- Unified Search & Switch: A single interface to instantly find and switch to any window, browser tab (Safari, Chrome, Arc, etc.), or application just by typing.<p>- Live Previews: See a real-time preview of what's inside each window so you know exactly where you're going. You can also disable previews for a more minimal experience.<p>- Advanced Window Management: Go beyond just switching. Select multiple windows and arrange them into layouts like vertical/horizontal splits or grids.<p>- Scopes: Save collections of app windows as a "Scope" and instantly restore that entire workspace later. It's ideal for quickly switching between different projects or tasks.<p>It’s a native macOS app built with Swift and supports both Apple Silicon and Intel machines.<p>Launch Offer for HN:<p>There's a free trial with 250 actions. For the Hacker News community, I'm offering a 50% discount on the lifetime license.<p>Website: <a href="https://macscope.app" rel="nofollow">https://macscope.app</a><p>Discord Community: <a href="https://discord.gg/ehktEWr97K" rel="nofollow">https://discord.gg/ehktEWr97K</a><p>I'll be here all day to answer questions and would be grateful for any feedback. Thanks for checking it out!
No other tools from this source yet.