Summit 2014: Scaling out Datastores and the CAP Theorem / Yoav Abrahami
Friday 4th June 1976, the Sex Pistols kicked off their first gig, a gig that's considered to change western music culture forever, pioneering the genesis of punk rock.
Wednesday 19th July 2000 had a similar impact on internet scale companies as the Sex Pistols did on music, with the keynote speech by Eric Brewer at the ACM symposium on the Principles of Distributed Computing (PODC). Eric Brewer claimed that as applications become more web-based we should stop worrying about data consistency, because if we want high availability in those new distributed applications, then we cannot have data consistency. Two years later, in 2002, Seth Gilbert and Nancy Lynch formally proved Brewer's claim as what is known today as the Brewer's Theorem or CAP.
The CAP theorem mandates that a distributed system cannot satisfy both Consistency, Availability and Partition tolerance. In the database ecosystem, many tools claim to solve our data persistence problems while scaling out, offering different capabilities (document stores, key/values, SQL, graph, etc).
In this talk we will explore the CAP theorem
We will define what are Consistency, Availability and Partition Tolerance
We will explore what CAP means for our applications (ACID vs BASE)
We will explore practical applications on MySQL with read slave, MongoDB and Riak based on the work by Aphyr - Kyle Kingsbury.