A durable Datalog database with Datomic-compatible APIs, immutable snapshots, and distributed architecture.
Datahike is a durable, versioned Datalog database that provides Datomic-compatible APIs with git-like semantics. It is built on persistent data structures, enabling immutable database snapshots that can be shared and queried without locks, making it suitable for complex relationship modeling and historical data analysis.
Developers building applications that require complex relationship modeling (e.g., social networks, knowledge graphs, supply chains), historical data analysis, audit trails, or GDPR compliance, particularly those using Clojure, ClojureScript, JavaScript, or Java across JVM, Node.js, or browser environments.
Developers choose Datahike for its immutable, time-travel capabilities, flexible storage backends (file, LMDB, S3, JDBC, etc.), and distributed design that allows read scaling without database connections. Its Datomic-compatible API and cross-platform support provide a production-proven alternative with git-like semantics for versioning and branching.
Versioned, fast, distributed Datalog engine for everyone.
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 time-travel to any point in database history with full audit trails, crucial for debugging and GDPR compliance, as shown in the transaction audit trail features.
Supports file, LMDB, S3, JDBC, Redis, and IndexedDB via konserve, allowing flexible deployment across cloud, local, and browser environments without vendor lock-in.
Runs on JVM, Node.js, and browsers with APIs in Clojure, ClojureScript, JavaScript, and Java, facilitating wide application coverage from servers to client-side apps.
Deployed in government services like the Swedish Public Employment Service, handling billions of datoms and proving reliability for large-scale, critical applications.
ClojureScript, JavaScript, Java, Python, and CLI bindings are marked as beta in the README, indicating potential instability and incomplete feature parity with the core JVM API.
Depends on multiple replikativ libraries like konserve and kabel for storage and sync, increasing setup complexity and potential versioning issues for new users.
Datalog requires learning a new paradigm compared to SQL, which can slow adoption in teams unfamiliar with functional or logic programming, despite its power for graph queries.
Datahike is an open-source alternative to the following products: