jacobobryant / biff

A Clojure web framework for solo developers.
https://biffweb.com
MIT License
870 stars 40 forks source link

Provide a second crux node for materialized views #67

Closed jacobobryant closed 2 years ago

jacobobryant commented 3 years ago

We could have a second, standalone crux node and let the user define a set of functions some how. We'd watch the primary node's transaction log. On each transaction, we'd run the functions. If they return another transaction, that transaction would be applied to the materialized view node. If you change the functions, we can just throw away the node and start over from the beginning of the primary transaction log.

jacobobryant commented 3 years ago

Materialize would also be worth taking another look at.

jacobobryant commented 3 years ago

I think I will be adding Materialize to Findka this week FYI. I may add the relevant code to Biff after I've used it in production for a bit.

cc #27

jacobobryant commented 3 years ago

I was using Materialize for Findka for several weeks, but I've determined its memory usage characteristics just don't fit the use-case and/or size of Findka/small web projects. I just replaced it with a second Crux node, which so far I'm pretty happy with. So I'll probably add that to Biff at some point.

jacobobryant commented 2 years ago

eh