Settings

Theme

Show HN: Triplox, a distributed Datalog engine with incremental queries

github.com

3 points by fiv0 · 3 comments · 1 min read

Reader

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

- Object storage centric. In its 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.

- Incremental Datalog queries. You can dynamically subscribe and unsubscribe from live Datalog queries. This is the most experimental part of Triplox and will need more effort to scale. Standard connectives (`and`, `or`, `not`) are already supported. You can find an intro here: https://triplox.xyz/incremental-queries/overview/.

The incremental query angle is likely the most interesting aspect for people considering such a solution. If you have an incremental Datalog problem or are working on sync engines, Triplox might be of interest.

Website: https://triplox.xyz/

1 thread
panick21_

Wow cool, commenting so I remember.

There was a team that did something like this, I saw a talk about it once. But I think they did in JS with Datomic in browser that somebody wrote. I might update this comment later with the relevant links.

But its really cool idea and I think very useful for some applications.

  • fiv0OP

    Thanks. Yes happy to hear about other full solutions. By Datomic in the browser you likely mean https://github.com/tonsky/datascript.

    Full solutions like InstantDB or ConvexDB offer the syncing part, but they don't seem to be doing full incremental queries in the backend, but rather some combination of smart invalidation and then full recalculation of the subscriptions which then get pushed to the clients.

    • panick21_

      I can't find the library that I was referring to, yes Datascript is what they used to build it on.

      I just now using Datahike in a hobby project, but I don't think incremental queries are relevant for me in that case.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection