Oracle TimesTen In-Memory Database
Introduction
TimesTen is an in-memory relational database software product from Oracle Corporation. TimesTen is designed for low latency, high-volume data, event and transaction management. Unlike disk-optimized relational databases such as the Oracle database, DB2, and SQL Server, TimesTen''s data is located entirely in memory; no disk I/O is required for query operations. As memory is far faster than hard disk, TimesTen is used in applications where Service level agreements require very fast and predictable response time, such as network equipment, real-time financial services trading applications, and large web applications. TimesTen is a relational database that is accessed with standard ODBC and JDBC, providing the rich functionality of the SQL query language.
Oracle TimesTen In-Memory Database empowers applications with instant responsiveness and very high throughput for performance-critical functions in real-time enterprises and industries such as telecom, capital markets, and defense.
With an Oracle TimesTen In-Memory Database, your applications are able to access, capture, or update information many times faster—giving you the power to attract and retain more customers, sense and respond to business-critical events when they are most valuable, and deliver new services—all while using standard relational database technology and familiar programming interfaces. Real-time data replication between servers delivers high availability and ensures your applications are continuously available.
TimesTen can also be used as a high performance cache for Oracle Database Enterprise Edition
Oracle TimesTen products comprise five system components: 1) shared libraries, 2) memory-resident data structures, 3) system processes, 4) administrative programs and 5) checkpoint and log files.
Shared Libraries
Shared libraries contain the routines of SQL operations and related functions. They can be linked with a specific application and executed as a part of the application’s process. In some sense, shared libraries are considered risky: linking data manager libraries to the application may lead to the database corruption in case of application process failures. In this consideration, Oracle TimesTen protects its shared libraries against application process failures by means of its patented “MicroLogging” algorithm. Consequently, the abnormal termination of a linked application will not affect Oracle TimesTen IMDB''s and even other related applications.
Memory-Resident Data Structures
The Oracle TimesTen IMDB is maintained in operating system shared memory segments. Its data tables, indexes, system catalogs and log buffers are contained in permanent memory region, whereas its lock tables, cursors, compiled commands and temp indexes stay in temp memory region. Multiple applications can share a single TimesTen IMDB, whereas a single application can access multiple TimesTen IMDB''s on the same system.
System Processes
System processes are background processes that can be classified into two levels. The system-level processes provide services for startup, shutdown and application failure detection; and the database-level processes provide services for loading, checkpointing, and deadlock handling. There is one instance-wide TimesTen daemon (a system may have multiple instances) and a separate subdaemon for each database.
Administrative Programs
Administrative programs are utilities invoked by users, scripts or applications to perform services like interactive SQL, bulk copy, backup/restore, database migration and system monitoring.
Checkpoint and Log Files
Checkpoints and log files are indispensible for an IMDB. Here magnetic disk file systems are used for checkpoints and log files. Changes to the database and transaction logs are periodically written to disks. If an IMDB need to be recovered, Oracle TimesTen merges the database checkpoint on hard disk with the completed transactions that remain in log files.
BENEFITS
Ø Instantly Responsive—Dramatic gains in responsiveness and throughput with guaranteed persistence of data
Ø Lower Administrative Costs—Operate unattended with near-zero administration
Ø High Availability—24x7 uptime of applications through replication, failover, and recovery, and online operations
Ø Ease of Development—Open standards-based and out-of-the-box interoperability and compatibility with Oracle Database
Oracle In-Memory Database Cache
Oracle In-Memory Database Cache enables you to improve application transaction response times and throughput by caching performance-critical subsets of an Oracle Database in the application tier. Automatic data synchronization between the cache and the Oracle Database ensures data consistency. By bringing data closer to the application and processing queries in an in-memory database, your applications are able to access, capture, or update information many times faster. The In-Memory Database Cache option of Oracle Database Enterprise Edition is based on Oracle TimesTen In-Memory Database.
BENEFITS
Ø Increase performance—Manage frequently accessed Oracle data in memory
Ø Real-time cache—Dynamic caching maintains freshness by automatically loading and aging-out cached data
Ø Faster deployment—Out-of-the-box integration with the Oracle database reduces development time
Limitations
Since all of TimesTen''s data must reside in memory (in a shared memory segment), the size of the database is limited to the amount of RAM available on its host computers. Although some customers have production TimesTen databases as large as one terabyte, most customers have smaller databases that are utilized for on-line transaction processing