Question

I have been reading an article about data consistency in banking operations. The author highlights the fact that, differently from the common thinking, banks adopt BASE (Basically Available, Soft state, Eventually consistent) transactions to assure high availability for their service.

In a nutshell, transactions are written down in a different partition to allow for quick response, and database consistency is performed afterwards.
For instance, when you withdraw the money from an ATM, the aim is to get you the money as soon as possible. So, your transaction operation is stored separately, money are released and afterwards they take care to apply the transaction to the database and make it consistent.
This because of technical limitation in communication: it wouldn't be possible to provide a responsive service if ACID(Atomicity, Consistency, Isolation, Durability) transactions were used.

This of course means that there may be inconsistencies: the money you withdraw can be more than the available ones, and they have no way to know that in advance, before the transaction is made consistent. And here comes the overdraft penalty, that is a fee you pay for "over-withdrawing".

Question now is: did banks introduce the "overwithdrawing" trick because they were aware since the beginning of the limitations that they had to face? Like a sort of hack to overcome the technical communication problems and provide availability at the same time? Or is it just another way to "make money" that would have been introduced anyway?

It looks to me that in this case both of the options could be equally worth it. I mean, they can both quite boost the revenue.

Was it helpful?

Solution

I think banks came from a system were there were no checks at all. Upon withdrawal you actually received a loan from the bank where the withdrawal took place. Only later this loan was cancelled against a credit that was on your account already.

Credit card transactions with a credit card that is coupled with a bank account still work this way. Sometimes up to a month the money is not withdrawn from your bank-account.

It makes sense that a loan without collateral is more expensive than a loan with collateral, hence the overdraft penalty.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top