A number of years ago, Eric Brewer, father of the CAP theorem, coined an architectural style of loosely-coupled distributed systems "BASE", meaning, "Basically Available, Soft-state, and Eventually-consistent". Clearly he meant this as a counterpoint to the "ACID" properties of traditional database systems. BASE systems choose to remain available to operations, sacrificing strict synchronization. While developers are very comfortable with the convenience of ACID, eventual consistency can be frightening, unfamiliar territory.
This talk will dive into the design of eventually consistent systems, touching on theory and practice. We'll see why EC doesn't mean "inconsistent" but is actually a different kind of consistency, with different tradeoffs. These new skills should help developers know when to embrace eventually-consistent solutions instead of fearing them.
This talk was given at QCon San Francisco by Sean Cribbs.