I feel that it muddles storage logic with business logic. If it's an error-detecting raid1 storage system, can't we just use raid1 storage configurations separately from the application?
I feel that it muddles storage logic with business logic. If it's an error-detecting raid1 storage system, can't we just use raid1 storage configurations separately from the application?
It also prevents you (from an architectural perspective) to pull money out of thin air. If you create an account with 1000 on it from the start, there has to be a source for that money. That account is hidden and invisible, but will have a balance of -1000. It may look like nothing, but it helps to keep things in check.
"General-ledger accounting" (for lack of a better term) is superior in terms of having a single source of truth, but not very practical for manual accounting since all the transactions are mixed together. The introduction of computers changed all that by making it easy to generate targeted reports from the general ledger.