4 ms·
We have to be very precise here I think. Git doesn't really store file changes as events, rather, it's a long chain of state snapshots, in something like a per
by codeflo 5y ago
We have to be very precise here I think.
Git doesn't really store file changes as events, rather, it's a long chain of state snapshots, in something like a persistent data structure. Sure, the history is all there, but so is the current state in its most efficient form.
DB transaction logs might be considered event sourcing by some definition, but their use is very different. It's purely a technical trick. As a consequence, logs are truncated as often as possible/reasonable, and you never rerun the transaction log from time zero. Very different from the event sourcing idea to keep events as long as possible.
- dtech 5y agoEvent sourcing with snapshotting and deleting old events - like DB transaction logs - is still event sourcing. In fact I'd say it's the only way ES makes practical sense.
- kephasp 5y agoES is always a technical trick. It's a way to store data, it's unrelated to the business domain…
- vegai_ 5y agoI believe ES allows taking snapshots (they call them projections, perhaps?) and removing all logs before the snapshot, which I think is kinda what dbs do?
- antod 5y agoyeah, describing git as a stream of change events sounds more like the way svn or mercurial worked than git.