We describe an implementation of git-like database branching on top of LSM-tree (Log-Structured Merge-tree) storage using RocksDB. Unlike existing database branching implementations that use custom storage formats (Dolt’s prolly trees), distributed storage layers (Neon), or block-level snapshots (Simplyblock Vela), our approach mplements page-level copy-on-write using Delta SSTables within the LSM-tree architecture. Branches are created in sub-millisecond time as metadata-only operations (256bytes). Read operations traverse a four-layer hierarchy: branch memtable, branch Delta SSTables, parent Delta SSTables, and shared SSTables. The system supports seven merge strategies (Ours, Theirs,Manual, RuleBased, LastWriteWins, Custom UDF, Abort) with three-way merge conflict detection. Each branch maintains independent MVCC snapshots with SERIALIZABLE isolation. This disclosure establishes prior art for LSM-tree-specific database branching with Delta SSTables.
Daniel Moya Vaca (Thu,) studied this question.