Timesten - IMDB Cache (Cache Oracle Table)
About
The Oracle In-Memory Database Cache (Timesten Cache) product includes the TimesTen Database then “Oracle In-Memory Database Cache” and “TimesTen” are sometimes used interchangeably
IMDB Cache improves application transaction response time, by caching a performance-critical subset of tables from an Oracle database into a TimesTen in-memory database running in the application tier.
For existing application with data residing on the Oracle Database, TimesTen is deployed as an in-memory cache database with automatic data synchronization between TimesTen and the Oracle Database.
Caching a performance-critical subset of the data into the TimesTen in-memory database is a practical solution to improve application transaction response time.
The Oracle In-Memory Database Cache creates:
- a real-time,
- updatable
cache for Oracle data.
It can be configured to propagate updates in both directions and to automate passthrough of SQL requests for uncached data. It automatically resynchronizes data after failures.
An application typically chooses to cache frequently-accessed data, or performance-sensitive data to improve application response time and increase throughput. IMDB Cache uses the concept of a cache group to define the Oracle tables to be cached. A cache group is a collection of cached tables related to each other by foreign key constraints. A database cache grid is a cluster of TimesTen in-memory databases that collectively manage an application's cache data.
Articles Related
Horizontal scalability
IMDB Cache provides horizontal scalability in performance and capacity through the in-memory cache grid, which consists of a collection of IMDB Caches for an application’s cached data. Cached data is distributed among the grid members and is available to the application with location transparency and transactional consistency. Online addition and removal of cache grid members can be performed without service interruption to the application.
Depending on data access patterns and performance requirements, an application may choose to allocate specific data partitions to some grid members for locality optimizations, or make all data available to all grid members for location transparency. The cache grid software manages cache coherency and transactional consistency across the grid members.
Similar to the stand-alone TimesTen databases, IMDB Cache offers built-in mechanisms for transactional replication to provide high availability for the cache databases. Most enterprise applications cannot afford application down time, hence majority of the deployments add IMDB Cache replication for high availability and load balancing.
Admin SQL Script
The scripts are intended to be used with SQL*Plus and are located in the directory: TimesTen_base/tt1122/oraclescripts.
See the Readme.txt file in the same location for more information.
Cache Installation
initCacheGlobalSchema.sql
This script is the first script to be run to set up Oracle In-Memory Database Cache. It creates the TIMESTEN schema and TT_CACHE_ADMIN_ROLE required for proper operation of Oracle In-Memory Database Cache.
Automatic
grantCacheAdminPrivileges.sql
This script is the second script (after initCacheGlobalSchema.sql) to be run to set up Oracle In-Memory Database Cache in a use case where the Oracle DBA grants all the privileges/roles recommended by TimesTen.
Manual
initCacheAdminSchema.sql
This script is the second script (after initCacheGlobalSchema.sql) to be run to set up Oracle In-Memory Database Cache in a use case where the Oracle DBA does not want to grant privileges such as RESOURCE, CREATE ANY TRIGGER, CREATE ANY PROCEDURE to the cache administrator user.
NOTE: Unless absolutely necessary, Oracle recommend to use grantCacheAdminPrivileges.sql to grant all the required privileges for cache administrator user.
initCacheGridSchema.sql
This script is to be run to set up Cache Grid in the case of manual installation (please refer to Oracle In-Memory Database Cache documentation). This script is to be run after initCacheAdminSchema.sql is run.
Others
cacheCleanUp.sql
It is designed to run on Oracle using sqlplus to clean all autorefresh objects related to a TimesTen data store when that data store is no longer available.
cacheInfo.sql
This script assumes that user is connected to the Oracle database as cache admin user. It prints information for each log table corresponding to a cached table on each TimesTen data store & host.