Skip to content
0:00 / 0:00

#datomic#datalog#3df

Reactive Datalog for Datomic - Nikolas Göbel

ClojureTV

111K subscribers • 159 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Nikolas Göbel

Advanced. Deep dive for people who know the field.

6.7K views7 years ago1 recommendation

Databases and dataDistributed systemsLisp and ClojureDatabase internalsKafka and stream processing

Nikolas Göbel explains 3DF, a system that feeds off Datomic's transaction log to provide reactive Datalog queries via differential dataflows.

Imagine turning the way that web applications interact with the database on its head: instead of polling for changes, clients register their information interests and then continuously receive updates as new data enters the system. Can we do this while maintaining the power and flexibility of Datomic? This talk introduces 3DF, a stream processing system based on differential dataflows, which aims to do just that. Feeding off of Datomic’s transaction log, 3DF provides a reactive interface to your favourite database, making it an even more attractive choice for the next generation of web applications.

Why it's here

1 person recommends this

What people say. Recommended as an innovative approach to database interaction, allowing clients to receive continuous updates instead of polling.

u/TheLastSockin r/Clojure • Recommends

Reactive Datalog for Datomic Nikolas Gobel has given two talks about reactive datalog for Datomic * [video * [video To me, this represents one of the biggest advancements we could take towards writing simpler, faster and better systems/applications. i cannot think of a better way for clients to communicate their needs. I imagine even clojure codebases shedding upwards of 80% of their code by participating in such an architecture. Here are the biggest questions on my mind: * why don't we have this now? What problems are standing in the way? What is allowing this to happen now? Why haven't we developing systems this way for the last decade? * Is Cognitect, or anoth…

u/fmjreyin r/Clojure • Mentions

On “Clojure & graphs”

> Niko Göbel's work breaks further ground in making the Datomic model incremental Thanks for sharing this and taking the time to transcript. Niko's recent conj talk is really inspiring too. It's nice to see Naiad getting a new life after funding from Microsoft ended. Five years ago I was lurking into it while doing some prototyping for a startup. Back then I was dreaming of an incremental way to compute strongly connected components of a graph while new nodes and edges arrive. I do think there is tremendous value and power there and finding the right use case to establish the tech is essential. I hear that spreadsheet/excel did not sell well until it was touted as "something to do x" rath…

u/green-coderin r/Clojure • Mentions

On “Choosing libraries to use in an existing webapp”

My personal recommendations: * Router: Reitit for both FE and BE. * FE data store: use a graph instead of a tree, it's way more convenient when apps become big. Datascript is one option. * FE Components: Reagent or Rum, both are using React. Rum allows you to have full control on the binding to your data FE store. Use Reagent + Re-frame if you are afraid of or not prepared yet to too much freedom. * Websocket: use Sente. * FE build tool: Figwheel Main. You will get an awesome and fast hot-reload. * BE build tool: Leiningen. It does the job. For BE meteor-like reactivity, there is clj-3df which is in alpha but look very promising. See this video. I guess that it would still require some w…