I keep hearing people say Banking systems like ATM use Eventual consistency model for data synchronization, but I am wondering if it is true.

Definitely the amount you withdraw might be delayed showing in your banking statement, but I assume they won't let the amount of your banking account inconsistent at any given time, right?

Anyone working in the industry can confirm this?

  • 2
    Don't forget that the banking industry is hundreds of years older than computing. They did all this stuff with quill pens & ink. In those days an active account would probably be inconsistent most of the time. Remember "floating" a check? – Dan Pichelman Apr 23 '14 at 16:08
  • 1
    You may find this interesting highscalability.com/blog/2013/5/1/… – plalx Apr 18 '15 at 21:36

You must distinguish technical correctness criteria from real-world systems requirements.

Certainly banks must be able to account for every withdrawal and deposit, and more generally for every in and out on their balance sheets. That's what regulators are for. But no regulator will ever hold a bank to prove that the accounts were completely "consistent" at any given point in time, particularly if it's long in the past. That's why banks can get away with deducting sums from your account while not crediting the recipient until days later, as long as they keep track of where everything has to go eventually.

In their own trades, modern banks are capable of millisecond-accurate accounting, so obviously this is not a technical limitation. The simple truth is that there is an incentive for the bank to execute deductions as early as possible, and credits as late as possible, because that earns them more fees that doing the opposite, and as long as there is no legislation which forbids this, they have no reason to improve. So 'eventual consistency' in banking is not a technical compromise for lack of a better alternative, as with huge NoSQL data stores - it is plain and simple good business for the money handlers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.