You could also call it "declarative infrastructure", because you declare in your configuration.nix how the system should look like: users, packages, file paths, etc.
The title says 'erase' rather than 'refresh', and does acknowledge they're 'mutable systems'.
Me too. Mutable State is to Software as Moving Parts are to Hardware :-)
https://medium.com/@kristiandupont/mutable-state-is-to-softw...
It's called the point free style.
Netflix had immutable databases back in 2012. I mean, as close as you can get I suppose. We could lose 1/3 of the nodes and keep running normally, and lose 2/3 and keep reading.
It was built with Cassandra and based on the Dynamo model.
There was also an open source, fully in memory database with the same reliability: https://github.com/Netflix/dynomite
I assume it is still that way, because it would be odd otherwise. But I just can't say for certain because I'm not there anymore.
But, more than anything this is an ad for nixOS.
Wouldn't event stores with CQRS effectively do this?
Additionally what if I want to look up a "row" of data that was modified 5 times on 5 different "columns" at various dates across 3 years? That's an aggregation job across 3 years of event data.
For event sourcing you still need to turn the "event" into an actual operation and record that database operation in a classic database.
Event stores just make the "event" the source of truth. It doesn't get rid of regular databases.
Traditionally other services read a single entity database/service and use that as a source a truth. Now a single button click records data across several databases and several services. It's not necessarily a better architecture, just different/buzz-wordy, and definitely more complicated.
Bottleknecks writes through an acid layer, makes reads against any single database connection (the value) immutable.
That's where the CQRS architecture comes into play. An event is recorded to the event store, the projection database is updated to the latest point in time, then any further reads are done from the projection database.
I'm just waiting for the day they can make the database immutable. It'll probably look something like git.