Nearly all commercial database systems rely on caching techniques to improve performance. Due to the lowering cost of memory as well as increasing computing speeds, databases today can be large. Large databases can make querying a database for specific information a computationally intensive process. Caching mechanisms have been used by database systems to help reduce the computational complexity of querying databases. Caches are often implemented in memory that can be accessed quickly, such as random access memory (RAM), as opposed to storage that takes longer to access, such as disk-based storage. Caches typically store frequently used data and reduce the time needed by a database system to access a data page.
Cached entries typically depend on other data such as referenced tables or views. For example, a query result may depend on multiple referenced tables, some of which may be recursively accessed. However, transactions within the database system may cause a table's entries to get modified or deleted. In order to provide transaction-consistent snapshots of the data in a database, the cached content corresponding to modified tables need to be invalidated.
In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.