Dropping ACID: Eating Data in a Web 2.0 Cloud World

Cloud Computing
Location: D139/140
Average rating: ****.
(4.33, 12 ratings)

Those who cannot remember the past are condemned to repeat it. This is part survey, part critique of the various Atomicity, Consistency, Isolation and Durability models available from various modern databases and data stores used in modern Web and Cloud environments. We’ll not just look at the single machine solution but how these systems work in a distributed environment. We’ll cover what happens when N of your M machines running $software goes away. Is your data still there? Do you care?
We’ll examine:

  • Drizzle
  • MySQL
  • MySQL Cluster (NDB)
  • PostgreSQL
  • MongoDB
  • CouchDB
  • memcached
  • Cloud Storage
  • Cassandra
  • what POSIX (doesn’t) give us with file systems
Photo of Stewart Smith

Stewart Smith


Stewart Smith joined Percona in 2011 as Director of Server Development with a deep background in database internals including MySQL, MySQL Cluster, Drizzle, InnoDB and HailDB.

Prior to joining Percona, Stewart worked at Rackspace on the Drizzle database server focusing on getting it through a critical milestone of a stable Generally Available (GA) release. Prior to Rackspace, he worked on Drizzle as a member of the CTO Labs group inside Sun Microsystems.

As one of the founding core developers of the Drizzle database server Stewart has deep expertise in the code base. He had direct involvement in significant refactoring of the database server including removing the FRM, the InnoDB storage engine, xtrabackup, the storage engine API, CATALOG support and countless bug fixes. He also maintains HailDB, a shared library offering a NoSQL C API directly to InnoDB.

At Sun Microsystems, and MySQL before that, Stewart was a Senior Software Engineer in the MySQL Cluster team working on core code and features inside the MySQL Server and the Cluster codebase working on projects such as: geographical asynchronous replication, online add node, online backup, NDBINFO for improved monitoring and the Win32 port.

He’s been found speaking at MySQL User Conferences, linux.conf.au, OSCON, OSDC, SAGE-AU and more.

Comments on this page are now closed.


Deborah Lewis
07/28/2011 2:03pm PDT

Very nice – kept it moving and interesting, emphasized considerations that should be investigated along with clear description about why when discussing systems that he felt have problematic behaviors.

Picture of Luke Welling
Luke Welling
07/28/2011 12:17pm PDT

A remarkable amount of information in a short time

Picture of Augustina Ragwitz
Augustina Ragwitz
07/28/2011 10:19am PDT

My big take away was learning what questions to ask when evaluating “confetti data stores” (my nickname for nosql). I now have a list of questions to ask about Redis, and hopefully get good answers for!