Introducing Oracle True Cache : In-memory, consistent, and automatically managed SQL cache (Oracle Database 23ai)

May 2, 2024 | 6 minute read
Pankaj Chandiramani
Director, Product Management
Text Size 100%:

As our digital landscape continues to evolve, delivering real-time responses has become imperative. Latency has emerged as the new outage, and customers' expectations for speed have skyrocketed. It's crucial for organizations to adapt their application architectures to meet the surging demands of a growing user base.

As data volumes grow exponentially and business logic becomes more intricate, ensuring optimal service performance and response time is crucial to providing an exceptional user experience. In the pursuit of superior performance, caching emerges as a common solution, especially considering that most business scenarios involve a higher proportion of reads than writes. Caches effectively reduce the reliance on databases by storing frequently accessed data in a temporary location/cache, resulting in significantly faster and more efficient data retrieval.

As your company expands and the stakes rise, caching transitions from a mere convenience to an absolute necessity. What may have sufficed for a small-scale business becomes indispensable for a large-scale enterprise striving for competitiveness. There is no room for failure.

In this blog, we will delve into a ground-breaking caching solution from Oracle, known as True Cache in the Oracle Database 23ai. With True Cache, Oracle presents a cutting-edge caching solution designed to tackle the challenges faced by modern business applications. Throughout this blog, we will explore the features and capabilities of Oracle True Cache and how it empowers organizations to optimize performance, mitigate data staleness, and efficiently manage cached data. Additionally, we will delve into the ways of using True Cache in applications, its use cases, and the benefits of True Cache in various business scenarios. Join us as we embark on an enlightening journey into the world of True Cache and its transformative potential for your applications.

What Is True Cache?

Modern applications often require massive scalability in terms of both the number of connections and the amount of data that can be cached.

A popular approach is to place caches in front of the database. Those caches rely on the fact that applications often don't need to see the most current data. For example, when someone browses a flight reservation system, the system can show flight data that's one second old. When someone reserves a flight, then the system shows the most current data.

True Cache
True Cache

Oracle True Cache satisfies queries by using only data from its buffer cache. Like Oracle Active Data Guard, True Cache is a fully functional, read-only replication of the primary database, except that it's mostly diskless.

At a high level, here's how it works:

  • An application directs queries to True Cache either manually or semi-automatically via the Oracle JDBC diver.
  • A True Cache instance satisfies queries by using data that it caches for the database application services that it handles.
  • When a cache miss occurs, a True Cache instance fetches blocks from the primary database instance.
  • When a True Cache instance first starts, in addition to fetching blocks during cache miss, it also fetches surrounding blocks in large chunks to warm up.
  • After a block is cached, it's updated automatically through redo apply from a primary database, usually with a sub-second lag. This is similar to how a real-time redo apply happens in an Oracle Data Guard configuration. The primary database redo blocks are continuously sent to the True Cache standby redo log files by the LGWR process on the primary database instance in ASYNC mode.
  • A query to True Cache returns only committed data that's as recent as the redo apply lag.
  • Each query to a True Cache instance always returns consistent data.

Using True Cache in Your Applications

Applications decide whether to query data in the True Cache or primary database instances by using one of the following methods:

  • Maintaining multiple physical connections to the various instances of the True Cache configuration and switching connections before querying or updating data.
  • Maintaining only one logical connection to a database application service running on a primary database instance and letting the driver handle the underlying physical connections to the corresponding primary and True Cache instances. This method is only possible by using the JDBC Thin driver.  The developer can manually mark the logical connection as read-only for certain sections of application code.  If True Cache instances are configured for the database application service, the Oracle JDBC driver will automatically direct the queries from the read-only sections of the application code to one of the True Cache instances
True Cache Architecture
True Cache Architecture

Benefits of True Cache

Oracle True Cache provides the following benefits:

Boost Application Performance

Oracle True Cache enhances scalability and application response time without rewriting applications, achieved through offloading queries and reducing the number of requests to a primary database.

Automate Maintenance

Oracle True Cache automates the maintenance of cached data in multiple instances, reducing manual effort and improving productivity.

Simplify Development

Developers benefit by maintaining a single logical connection to a primary database instance, seamlessly transitioning between primary and True Cache instances without manual instance name specifications for improved application transparency and efficiency.

Improve SLAs

Oracle True Cache streamlines application architecture by integrating thin clients and databases, eliminating the need for additional middle-tier products. This synergy leads to elevated service-level agreements (SLAs) and a reduction in potential bugs, ensuring a smoother and more efficient user experience.

Realize Cost Savings

With Oracle True Cache, achieve cost savings by offloading caching to cost-effective commodity hardware, reducing the load on the database and mitigating potential expenses associated with more expensive hardware.

 

Use Cases

Discover the unique applicability of Oracle True Cache across diverse domains, where businesses and applications are in pursuit of specific requirements:

User Session Store: Oracle True Cache stores ephemeral session data such as user profiles and browsing history, providing microsecond response times and optimizing the performance of real-time recommendation engines.

Ecommerce Applications: Customers retrieve data for online product catalogs by accessing the Oracle True Cache instance instead of the back-end database. This process improves response times and elevates customer experience during peak sales periods like Black Friday, Cyber Monday, and prime time television deals.

Online Gaming: Oracle True Cache reduces latency and improves immersive gaming experience by storing real-time player data, supporting features such as leader boards and ranking for users.

User Authentication: Oracle True Cache handles millions of daily updates to user profiles, validating the application user in real time. It also supports multiple data models to natively store different types of elements, reducing complexity and costs.

Real-Time Analytics: Oracle True Cache can be used to cache data and offload database I/O to reduce the operational burden, lower costs, and improve the performance of both the database and the application.

Edge Computing: Oracle True Cache can be deployed in regions closer to users or devices, reducing the time taken to collect, store, and retrieve data from databases.

Data Sovereignty: Oracle True Cache offloads reads to instances that are deployed closer to the end user or sovereign regions, speeding up analytics response times and maintaining data sovereignty.

In summary, Oracle True Cache offers an all-encompassing solution for the modern data landscape. True Cache leverages the full potential of the Oracle Database, including advanced features like indices, parallel queries, and compression; support for various data types, including relational, object, document (JSON/XML), key-value, text, graph, and spatial; and support for various data formats (row/columnar). It eliminates the complexity of managing a separate caching layer and invalidations. With its ability to optimize latency, personalize experiences, streamline operations, and improve performance across a spectrum of use cases—ranging from ecommerce to gaming and from financial operations to IoT management—Oracle True Cache is poised to reshape data acceleration and delivery, enabling businesses to meet the ever-increasing demands of today’s digital realm.

To learn more visit : https://www.oracle.com/database/truecache/

 

Pankaj Chandiramani

Director, Product Management

With an extensive 18-year background in business technology, Pankaj Chandiramani currently holds the position of Director of Product Management for Oracle Database. His expertise lies in the development and marketing of enterprise Software as a Service (SaaS), hybrid, and on-premises products. He has successfully contributed to various domains, including AI/ML, IT Operations, Data Management, and DevOps.

Bill Lee

Bill Lee is the Senior Director of Development responsible for Oracle database caching, Oracle True Cache, Flashback Database, database auto-tune memory management, etc. He has been with Oracle for more than 25 years. He holds 27 patents on database technology.


Previous Post

Leading Industry Analysts Comment on the Release of Oracle Database 23ai

Youko Watari | 10 min read

Next Post


Unveiling the Power of Oracle Globally Distributed Database: Oracle Database 23ai Advancements

Deeksha Sehgal | 8 min read