Skip to content
RhizomeDB
Towards an Assembly Language for Data
This is a project I’ve started and restarted several times over the years. I’m currently between implementations and getting ready to try to build this again, this time optimized for a more contemporary set of use cases. These ideas are heavily inspired by work I did for a startup called Skai, but the language and implementation details I’m sharing here are the result of me iterating on this stuff in isolation for over a decade now.
Included here are a series of essays about databases, root systems and complexity.
info

Current Implementation

You can find the most recent implementation of these ideas — Claude Fable helped me to streamline my reasoning. This isn’t a database, it’s a portable data format that conserves relationality while enabling fork/merge semantics. Fable built two versions, one in typescript and one in rust, and then built an agent memory tool - Chorus - on top of it. It’s all available at that repo, including an MCP for Chorus which I currently use on all my claude chats.

Essays

⁠ talks about the nature of relationality, the rise-and-fall of No-SQL alternatives to RDBMS technology, the emergence of “Big Data” and the evolution of Data Lakes.
⁠ introduces the concept of rhizomes, covering the original botanical meaning and then diving into their metaphorical application in philosophy. It ends with an analysis of the way rhizomes give us a powerful way to reason about relationality.
⁠ contains concrete implementation details about how to build Rhizome DB as a fully relational, distributed, and “functionally unstructured” datastore. We talk about the problem I’m trying to solve, show some examples, and dig into why an immutable append-only hypergraph of delta CRDTs gives us some magic properties.

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.