Crux – open-source answer to Datomic
juxt.proPretty excited about this for a bunch of reasons.
- MIT licensed. Pretty big risk reduction factor for users if the project is run well.
- Transaction time and assigned 'valid' time axes. We can use transaction time to audit the system while assigning our own time basis for queries (e.g. midnight billing triggers)
- Data stored as documents but indexed for graph traversal
- Datalog/EDN interface
- Kafka for primary distributed store and transaction log
- Highly pluggable and customizable
Looks cool, but years of cynicism regarding “new” databases has me deeply suspicious of things like “Kafka as a database”. I mean Kafka is already a complicated enough thing I refuse to rely on it 100% for its normal usage. How can I ever trust it as a persistent data store? The answer is I can’t. Others will have to blaze this trail. Sorry but my love of Datalog is insufficient to motivate me to A: trust Kafka, and B: add java/clojure/anything JVM to my tech stack.
My reservations aside, serious nerd <3 for the Datalog support, I really wish more data storage has native support for Datalog. I hope this project matures to the point cynical system architects like myself can trust it, because Datalog is just that awesome. The project looks like it’s off to a great start so keep it up, and don’t let the cynical types [ like myself ;-) ] derail you.
It's worth noting that the back-end is pluggable via a protocol. I imagine that the community will eventually make a Postgres adapter for it.
Great!!
Finally!