4 ms·
So basically, classic timestamp versioning with some consistency checking. Might work. Cache invalidation is hard. The only problem I ever faced while working i
by AtNightWeCode 4y ago
So basically, classic timestamp versioning with some consistency checking. Might work. Cache invalidation is hard. The only problem I ever faced while working in the biz that I could not solve even at theory level was cache related.
What I thought the article would tackle is the dependencies between stored objects. Some solve it with super complicated graphs others by just flushing the entire cache.
At Meta, why not just use flat files or a store that act as one, pubsub the changes, listen on the changes and update aggregated views as needed and store them. Then just short-term cache everything on the edge.
- uvdn7 4y ago> What I thought the article would tackle is the dependencies between stored objects. Like tracking dependencies, so it knows what to invalidate on mutations?
- AtNightWeCode 4y agoYes. The Boss changes his name from Mark. It will directly hit a lot of caches. It will need an update of all bosses that materialized this. Then all the staff that materialized the boss of the boss and so on. This is simple example because it is a tree. This can be circular dependencies as well.