Helland, Pat, and One Market Street. “Immutability changes everything.” (2012).
Abstract
There is an inexorable trend towards storing and sending immutable data. We need immutability to coordinate at a distance and we can afford immutability, as storage gets cheaper.
This paper is simply an amuse-bouche on the repeated patterns of computing that leverage immutability. Climbing up and down the compute stack really does yield a sense of déjà vu all over again.
Thoughts
저장 장치의 가격이 싸지면서 immutability에 기반한 컴퓨팅이 필요해지고 가능해지고 있다고 주장하며, 컴퓨팅의 여러 layer 걸쳐서 그러한 예들을 보이고 있다. immutability가 컴퓨팅에서 중요한 도구임에는 분명하지만 그렇다고 mutability가 컴퓨팅의 역사에서 사라질 것은 아니므로 선택편향이 의심된다. 차라리 로그가 중요하다는 주장이 나아보인다.
이 페이퍼에서 언급하는 Immutability를 활용하는 예들은 다음과 같다.
- Transaction logs of DBMSs
- The truth is the log. The database is a cache of a subset of the log.
- Accounting: “Accountants don’t use erasers.”
- Append-only distributed single master
- Forms with many layers
- Data on the outside: messages, files, documents
- MapReduce, Dryad
- Immutable inputs, idempotent functional computation over immutable inputs
- Versions
- A linear version history, DAG of version history
- Multi-version concurrency control
- Log structured merge trees
- Copy-on-write
- Log structured file systems
- GFS, HDFS
- Consistent hashing
- Wear leveling of SSDs
- Shingled disk systems