Eventually consistent

Sample Facebook update illustrating the problem

Facebooks’ eventually consistent database has been under real strain lately. It’s a great example of the difference between social media and the web 2.0 style architectures, and a banking application. In this example, facebook has notified me three separate ways that a conversation had been updated. Yet almost 20-seconds after the first notification, the data I can see hasn’t been updated. The facebook comment made by Mike in the top-right, should be appended to the bottom of the pop-out window.

Now, imagine this was your bank account. A transaction comes in that debits $10,000 from your account. Then a query comes in that shows the $10,000 is still in your account, another transaction is then initiated that deducts $10,000 from your account. What got debited, and if you only had $15,000 in your account, how much do you have now?

And that’s a great example of the difference between eventually consistent and ACID based transaction-based systems. Many but not all IT Professionals understand this. Make sure yours does. In this case it could be the backend database consistency, ie there are multiple copies and they don’t match, or there could be multiple backend copies and the copy in the browser cache, does or doesn’t match. Either way “Houston, we have a problem”.

Author: Mark Cathcart

Formerly an Executive Director of Systems Engineering and a Senior Distinguished Engineer at Dell. Prior to that, an IBM Distinguished Engineer working for the Systems Group in NY and Austin. I'm currently "retired until further notice".

2 thoughts on “Eventually consistent”

  1. Hi would you mind stating which blog platform you’re working
    with? I’m planning to start my own blog soon but I’m having a hard time choosing
    between BlogEngine/Wordpress/B2evolution and Drupal. The
    reason I ask is because your design and style seems different then most blogs and I’m looking for something unique.

    P.S Sorry for getting off-topic but I had to ask!

Leave a Reply