A functional, persistent, off-heap sorted key-value data structure for scalable databases with snapshot and fork capabilities.
Hitchhiker Tree is a functional, persistent, off-heap sorted key-value data structure designed for building scalable databases. It combines fractal trees and functional data structures to provide fast operations, immutable snapshots, and lazy loading from backing stores like Redis. The project solves the problem of managing large in-memory data structures beyond JVM heap limits while supporting instant restarts and efficient persistence.
Clojure developers building scalable database systems, data-intensive applications, or alternatives to Datomic who need off-heap persistence and snapshot capabilities.
Developers choose Hitchhiker Tree for its unique synthesis of fractal tree scalability with functional persistence, enabling off-heap storage, zero-copy snapshots, and git-like forking—all in an open-source package that avoids JVM memory limitations.
Functional, persistent, off-heap, high performance data structure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables safe concurrent reads and historical queries with git-like forking, as shown in the API where snapshots can be saved and forked independently without affecting other branches.
Manages tens of gigabytes of data outside the JVM heap, avoiding garbage collection issues and enabling large in-memory datasets, as emphasized in the Outboard application description.
Reduces startup times by loading data on-demand from backing stores like Redis, allowing applications to restart and reuse persisted data without full reloads.
Serializes changes gradually to durable storage without blocking operations, ensuring data durability with minimal performance impact, as part of the core design for scalable databases.
Implementation is specific to Clojure and relies on its ecosystem, limiting adoption in polyglot environments or with other JVM languages without porting efforts.
Requires a running Redis instance or custom backing store for persistence, adding operational complexity and potential single points of failure in deployments.
Snapshots have a default lifetime of only 5 seconds, which may not suit long-running queries without additional work to extend their life, as noted in the API example.
Hitchhiker Tree is an open-source alternative to the following products: