Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From what I know, most banking applications periodically store the account balance at a certain point in time as it would not be plausible to calculate it over the entire history of transactions every time it is needed. In order to find the account balance, the application would first load the latest balance saved and add transactions that occurred after that point.

What is this process of saving account balances called? What are some common techniques used in this process?(e.g., run it on every weekend night)

share|improve this question
I would tend to suspect 'caching' – user40980 Jul 3 '13 at 18:27
I think they call it 'reconciling the accounts'. Banking has been around a lot longer than computers. – Dan Pichelman Jul 3 '13 at 18:30
up vote 5 down vote accepted

While not specific to the banking industry I would call the technical process snapshotting.

When and how you should take your snapshots is going to vary based on your domain and specific requirements. The main reason to take a snapshot is performance (as you mentioned it saves you from having to go through the entire line of events that brought you to the current point). There is also a performance cost in generating and saving that snapshot. Ideally you should take your snapshots right at the point where the performance cost of taking a snapshot is less than the performance cost of going through the entire chain of events.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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