Wednesday, January 09, 2013

Data Immutability

Pat Helland (ex-Microsoft/Amazon, currently at Salesforce) gave a good talk on data immutability at Ricon 2012, which refers to the distributed systems challenges and solutions, like NoSQL, replication, big data.

These are the takeaways:

  • Things have changed towards immutability
  • Versioning allows a changing view of objects with immutable backing
  • Increasingly, systems are based on writing immutable data
  • Immutability extends consistent relational systems
  • Semantically immutable data may be changed for optimization
  • Immutability is the backbone of emerging "Big Data" systems

For me, with the personal experience of moving a system from a SQL-based data store to NoSQL, it is very interesting to Pat's talking about immutability and versioning because that's essentially the solution we took to get to a more scalable solution.

Also, what killed us when thinking of geo-replication in my experience on a NoSQL store was the linear version, which is strongly consistent, like Pat mentions on the takeaway slide. Going for what he calls a Directed-Acyclic-Graph (eventually consistenty) history is definitely a better approach for scalability.
Post a Comment