Immutability Changes Everything, Pat Helland, Salesforce.com
"It wasn’t that long ago that computation was expensive, disk storage was expensive, DRAM was expensive, but coordination with latches was cheap. Now, all these have changed using cheap computation (with many-core), cheap commodity disks, and cheap DRAM and SSD, while coordination with latches gets harder because latch latency loses lots of instruction opportunities. We can now afford to keep immutable copies of lots of data, and one payoff is reduced coordination challenges."
Reality | Expensive | Cheap | Solution |
---|---|---|---|
Old | CPU, HDD, RAM | Coordination | no duplication => DB normalization |
New | Coordination | CPU, HDD, RAM | no locking => no DB updates |
"Can not re-write history. Database transaction logs never change. No updates.
A database is a caching of a subset of the log."
A database is a caching of a subset of the log."
"There are emerging solutions which are based on immutable data. It seems we need to look back to our grandparents and how they managed distributed work in the days before telephones."
Immutability Changes Everything - Pat Helland, RICON2012 from Basho Technologies on Vimeo.
- Accountants Don’t Use Erasers (Ledger)
- Keeping the Stone Tablets Safe
- Hey! Versions Are Immutable, Too!
- Immutability by Reference
- Immutability Is in the Eye of the Beholder
- Normalization Is for Sissies
One such database system: Datomic