High‐Speed Data Caching with NoSQL

By Adam Fowler

With NoSQL, you have high-speed data caching. Imagine you are a bank teller with three other colleagues working. You each have a line of people to be served. One of the customers, though, keeps getting in line to ask if his check has been cashed yet and the amount credited to his account. When you answer him, instead of leaving he joins the back of the line again.

This small query repeating increases your workload, and so the line keeps increasing in size, until all customers are unhappy about the amount of time they are waiting around for their query.

The same analogy is true of NoSQL databases. Imagine each bank teller is instead a partition of data within a NoSQL database cluster. Asking the same question over and over again — whether the data exists or not — stresses systems as much as the re‐queuing customer. Better instead for him to check his internet banking on his phone. The application cashes the customer’s recent bank balance and transactions processed, taking load off of the tellers and the core banking systems.

High‐speed in‐memory caching provides this caching capability without the need for a separate application level caching layer. This reduces total cost of ownership and makes developing well‐performing applications quicker and easier.