Beyond Caching
John DesJardins
Field CTO Akka | Passionate about global scale distributed applications | Lifelong Learner
Developers and Architects: You may not know it, but you've moved way beyond caching, and that is a good thing!
There is widespread and growing mis-use of the term “caching” in the software industry, particularly among developers and architects. The technology community is doing itself a disservice, devaluing mission critical use-cases and their role in the IT landscape.?
Using the wrong term, in this case “caching,” has implications for getting budgets, attracting top talent to work on your projects, and may impact adoption after your application is live.
In this blog, we explore what caching is, where it adds value, and then dispel myths by drilling into areas that are often associated with caching, but are more advanced patterns. We will conclude with the benefits of these more advanced patterns.
tl;dr
Do yourself a favor, embrace the value of what you’re doing with real-time data, using terms like Real-time Operational Data Store or Real-time Data Mesh or Data Fabric, or Digital Integration Hub.
Don’t undersell and devalue it by incorrectly calling it “caching.”?
Let’s go into this topic and start to sort out this terminology mess.
Caching Is:
Key/Value operations focused on enabling sub-millisecond reads of application data. Caching can follow various patterns such as write-through/read-through, write-behind, cache-aside, etc. But, these still follow the basic NoSQL pattern, and the primary goal is faster read operations on frequently used data, or else providing a fast shared memory store for use-cases such as web session replication and clustering. It is OK for the edge use-cases where it is needed, and isn’t going away. However, let’s stop using too broadly and incorrectly!
From Wikipedia: In computing, a cache {...} is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere. A cache hit occurs when the requested data can be found in a cache, while a cache miss occurs when it cannot. Cache hits are served by reading data from the cache, which is faster than recomputing a result or reading from a slower data store; thus, the more requests that can be served from the cache, the faster the system performs.[2]
Caching Is Not:
领英推荐
These patterns are common to Real-time Operational Data Stores, or similar patterns such as Digital Integration Hub or an emerging pattern, the Real-time Data Mesh/Fabric.?
Real-time/Fast Operational Data Store:
effectively a “real-time, continuously updating, materialized view” that often spans multiple data sources and often includes reverse ETL to load/join data from data lakes and warehouses with real-time data. In many cases, this layer is architected to deliver higher uptimes than the underlying databases, which reduces the cost of those while delivering an Always-On experience for your customers.
Common Business Problems Solved:
Using the wrong term undervalues your efforts, and that sends the wrong message to both your IT and Business leadership. “Caching” is perceived as low-value and solving some technical need but generally not viewed as solving a mission critical business problem.
Using the proper high-value term will increase your ability to communicate with business stakeholders and IT leadership. This helps you convince them to fund further innovation around real-time and can help you fight for budgets in a constrained environment. It also helps when requesting the right level of mission critical infrastructure from IT and educating the Operations teams on how mission critical this part of the architecture is.
By the way, this evolution from caching to fast operational data stores, is actually the beginnings of your journey towards real-time data processing. That journey is leading towards a real-time version of the data mesh pattern.
Real-time Data Mesh - What's Next
A Real-time Data Mesh can take the architecture to the next level.?
I'd like to thank Fawaz Ghali for his review of this blog and particularly for his contribution of the graphic included.
Experienced technology Executive focused on emerging and disruptive technologies. In memory data grids, Real Time streaming, and Machine Learning. Experience building Commercial Enterprise and Federal sales teams
1 年John, great article. It's all about speaking the same language with agreed definitions.
Senior Director - Global Integration Architecture Lead
2 年Good article John - interesting read - it's more than just a question of using the right terms, it's understanding the architectural implications of the concepts.