title: What is the difference between Sequential Consistency and Eventual Consistency?
body: <p>There are two definitions I found on the Internet:</p>
  
  <p>Sequential consistency -- the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program.</p>
  
  <p>Eventual Consistency -- if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value.</p>
  
  <p>The definitions are clear to me. However, I don't get when eventual consistency is not sequential. 
  An example:
  Initial val in mem is 0. Horizontal axis is the time.</p>
  
  <pre><code>P1:      write 1             (x)
  P2:  read 0    read 0 read 0     read 1   read 1    read 1
  </code></pre>
  
  <p>So, there is <em>some sequential order</em>, the one if we put "write 1" in (x) slot, and this is sequential consistency by definition. Where am I wrong?</p>