The BBC published a news story where a teacher in India looked at his bank account expecting to see a balance of $200 only to find that the balance shown was $9.8 billion (480 billion rupees). Imagine that surprise!
These types of stories appear in the news on a regular basis, and the question they raise is this: How could an error of this magnitude have happened and what could have been done to prevent it?
This story sounds like a classic production data validation situation. Large enterprises often update their production systems at night. …And what is more “production” than a banking system? In these updates, data is moved from it sources, transformed, and input into the target systems. In this case, a banking system was updated with new balances.
It is critical in a situation like this to be running automated tests to ensure that no errors were made during the update process. A common term for this testing is “production reconciliation.” It is easy to imagine how an error in the move/transform operation could cause an error like this. The calculation behind a data transformation could be wrong, or data could simply have been moved to the wrong location.
These things happen. The important thing is to have tools to validate that the data is what was expected before loading it into the production system. Informatica Data Validation Option does just that. It does table compares to ensure that the data in the target table are the data values expected. In production use cases such as this, the data validation tests can be run automatically as a part of a workflow. The final loading of updates into the production systems can be made conditional on passing all of the tests. In addition, IT staff can be automatically notified in the event of a failure.
Production data validation is a best practice that would save a lot of embarrassment and potentially costly errors. Fortunately, in this case, the teacher was honest and phoned the bank to notify them of the error.