r/Clojure 1d ago

Triplox - A Datomic-inspired database with incremental queries

I have been working on a distributed Datalog engine à la Datomic on top of object storage. The system is called Triplox. I am using SlateDB at the storage layer. The main ideas are roughly the following (in no particular order):

  • Object storage centric. In it's final version Triplox should simply need a single (or likely two) S3 bucket(s) for deployment.
  • The Datomic Data model and API as main inspiration.
  • A Client/Server architecture. I hope that this will open the door to ecosystems outside of the JVM.
  • Incremental Datalog queries. You should be able to dynamically subscribe and detach from incremental Datalog queries. This is the most experimental part of Triplox and will need quite a bit of effort to get right, make fast, and to fully support all features of Datalog. See this page for an introduction.

I also wrote a intro post a while back. If you have questions, suggestions or feedback in any form please ask away. If you have an incremental Datalog problem or are working on sync engines, Triplox might be of interest .

Repo: https://github.com/fiV0/triplox
Website: https://triplox.xyz/
Incremental query tutorial: https://github.com/FiV0/triplox-incremental-tutorial

17 Upvotes

0 comments sorted by