"When you choose an eventually consistent data store you're prioritizing availability and partition tolerance over consistency, but this doesn't mean your application has to be inconsistent. What it does mean is that you have to move your conflict resolution from writes to reads." via Mochi Labs - statebox, an eventually consistent data model for Erlang (and Riak). Also interesting outside of Erlang, as the problem is of a more general nature - data models for transactional databases cannot simply be transferred to an eventually consistent database like Riak (or Cassandra). The reason lies in the fact that conflicts only become apparent later when reading, as they are still "on the way" beforehand.