lazy O(1) commit #326
Replies: 2 comments
-
Hi @YuMingLiao, the current claim that commits happen in constant time is accurate relative to tuple count. Indeed, we can commit the expression regardless of how many tuples the expression may change. Furthermore, we don't have to write Just like lazy Haskell functions, the expressions compose through the graph, so we only load the tuples per se if the expression itself includes raw tuples. In short, I believe Project:M36 already implements maximum laziness in the graph that you allude to above. Do you have a counterexample where we could increase laziness? |
Beta Was this translation helpful? Give feedback.
-
Hi @agentm Here is what I found: If I If I close tutd and reopen it, it opens slowly. If I commit again without any changes, the second transaction is about 85.9MB too. So I believe the real data is saved twice. (Or is any change that I am not aware of recently?) If I save the second transaction as |
Beta Was this translation helpful? Give feedback.
-
I am interested in O(1) commit. I've read some codes and docs about it.
For now, uncommitted
RelationVariables
loads the whole GraphRefRelationalExpr from last commit.If we initialize uncommitted
RelationVariables
withrelvarname@last-commit-uuid
instead, then we can have lazy commit as you said in doc, right?it seems just one step away from O(1) commit.
Beta Was this translation helpful? Give feedback.
All reactions