This document contains the commonly asked questions regarding the Oracle TimesTen In-Memory Database products.
Open all Close allOracle TimesTen In-Memory Database is a memory-optimized relational database that empowers applications with the instant responsiveness and very high throughput required by today's real-time enterprises and industries in communications, financial services, web applications, travel logistics, gaming, and more. It can be deployed in the application tier as a cached database (TimesTen Cache), a standalone database (TimesTen Classic) or a distributed database (TimesTen Scaleout). Standard SQL interfaces, high availability and fault tolerance are standard features of the product.
Oracle TimesTen Application-Tier Database Cache (TimesTen Cache) is an Oracle database option that provides real-time, read/write caching for the Oracle Database. Oracle TimesTen Application-Tier Database Cache improves application transaction response time by caching a performance-critical subset of tables and table fragments from an Oracle database to the application tier. Cache tables are managed like regular relational database tables within the TimesTen In-Memory Database. Thus, Oracle TimesTen Application-Tier Database Cache offers applications the full generality and functionality of a relational database, the transparent maintenance of cache consistency with the Oracle Database, and the real-time performance of an in-memory database. This Oracle Database option is ideal for caching performance-critical subsets of an Oracle database for improved response time in the application tier. To achieve high availability, Oracle TimesTen Application-Tier Database Cache can be deployed using an active-standby configuration, where cache tables are replicated in real-time between the Oracle TimesTen databases.
The Oracle TimesTen database was built with the assumption that all the data being managed resides in physical memory (RAM). As a result, the most important thing to consider regarding hardware is to have sufficient RAM available in the application tier. Aside from that, TimesTen has very few hardware considerations. As with any application, having an appropriate number of CPUs (running at appropriate clock speeds) is important for your application to run as fast as possible. Similarly, to take advantage of multiple CPUs, you need to either run multiple applications, or you should write your applications to use multiple threads. Additionally, the transaction logs and checkpoint files are persisted on disk, faster disks yield better overall performance.
Oracle TimesTen Application-Tier Database Cache resides in the application tier, it uses SQL*Net to communicate to the Oracle database. Oracle Database Instant Client is installed with TimesTen Cache, in order for it to connect to the Oracle database.
The database size is limited by the amount of physical RAM in the server. On 32-bit platforms, it’s constrained by 32-bit address space, so the database size is under 2GB in size or smaller depending on specific platform. For 64-bit platforms, there is no limit in size other than the amount of physical memory you have in the machine. We have customers that deploy with database size ranges from 1GB (gigabyte) to over 2 TBs (terabytes).
Oracle TimesTen Application-Tier Database Cache is an Oracle Database Enterprise Edition option for the Oracle Database. It includes the TimesTen In-Memory Database, and caching technologies which enable TimesTen to be deployed as an in-memory cache database with automatic data synchronization between TimesTen and the Oracle Database.
Oracle TimesTen In-Memory Database is a separately licensed product, it includes the TimesTen in-memory database, the replication components and the TimesTen Scaleout deployment.
The following platforms are supported:
The Oracle TimesTen Application-Tier Database Cache option supports Oracle Database Releases 12.1, 12.2, 18c and 19c.
TimesTen is used by many telecom applications such as authentication, authorization, number portability, online charging and billing, mediation, and call centers. It is used by financial applications such as securities trading, stock exchanges, fraud detection, compliance, online banking, and bond pricing. Other applications include gaming, CRM systems, airline reservation systems, travel logistics, customer facing applications, and defense applications.
Oracle TimesTen is also core to some of Oracle applications such as the Exalytics In-Memory Machine for “Speed of Thought” OLAP analysis and Oracle Billing and Revenue Management application for real-time billing.
Both TimesTen and Coherence run in the application tier. Both are main-memory based. Coherence is a distributed in-memory object store. It is used to store and retrieve serialized objects using get/put APIs.
TimesTen is an in-memory relational database with persistence to disk and standard transaction semantics. It is accessed via SQL. When used as a cache to the Oracle Database, it synchronizes data automatically with the Oracle Database. Distributed caches present a single image to applications with location transparency and distributed concurrency control.
Exadata, which is based on Oracle RAC, is a highly scalable system that can be used to increase database throughput to unparalleled levels.
TimesTen’s unique value lies in its ability to deliver very low response times in the application tier. For best performance, TimesTen is embedded with the application. TimesTen delivers responses to SQL requests in microseconds. This is essential to real-time applications that require instantaneous response time for phone call routing, authentication and authorization, real-time billing, securities trading, fraud detection, online banking, etc.
There is a TimesTen In-Memory Database discussion forum on OTN. Please post your TimesTen product related questions there.
Yes, the Oracle TimesTen In-Memory Database (TimesTen) is used by many customers today as a standalone database at the application tier. TimesTen provides full transactional support for SQL operations and the transaction logs are persisted to disk for recovery (the database is always in memory).
Yes, this is the Oracle database option 'Oracle TimesTen Application-Tier Database Cache'. This database option includes the TimesTen In-Memory Database, and caching technologies to enable TimesTen to be deployed as an in-memory cache database with automatic data synchronization between TimesTen and the Oracle database.
The TimesTen In-Memory database supports standard ODBC and JDBC interfaces, as well as OCI and ADO.NET for applications to connect to the database, using SQL-92 standards.
No, the application interfaces are the same for both 32-bit and 64-bit applications. In order to take advantage of the 64-bit mode, the application will need to be recompiled in 64-bit mode and linked to the TimesTen 64-bit libraries.
Applications can be developed using Java, .NET, C, C++, Pro*C and PL/SQL as well as open source languages such as Python and NodeJS. For a list of sample programs, refer to the Oracle TimesTen In-Memory Database Samples on GitHub.
The Oracle TimesTen In-Memory Database was designed and optimized to run in the application tier. The database can be directly linked (embedded) with the application for best performance. With the TimesTen database embedded with the application, SQL access does not incur any network or IPC overhead. Even when running in 'embedded mode', TimesTen still provides full multi-process / multi-threaded access and concurrency control.
Yes, the Oracle TimesTen In-Memory Database supports indexes. Indexes improve the performance of queries to the database, just as they do in the Oracle database. TimesTen supports two types of indexes: Range indexes, which are used for lookups involving equality and inequality ranges, and Hash indexes, which offer faster primary key and equality access than Range indexes for exact match lookups and equijoins.
TimesTen In-Memory Database supports the SQL standard. To create data structures, use SQL DDL statements e.g. CREATE TABLE, CREATE INDEX, CREATE SEQUENCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE PACKAGE, CREATE PROCEDURE, CREATE FUNCTION, CREATE SYNONYM, ALTER TABLE etc. The same database design techniques that are used for RDBMS can also be used for TimesTen. Designing and managing databases in TimesTen is simpler than in a disk-optimized RDBMS, as there is no need to size table extents or to defragment disks.
While the entire database resides in memory, TimesTen also has transaction log files and checkpoint files that are persisted to disk. In the event of a system restart or failure, the in-memory database is recovered from the checkpoint and transaction log files. In addition, customers can use TimesTen Replication or Scaleout to provide high availability.
TimesTen Cache supports Oracle Database Release 12.1, 12.2, 18c and 19c.
TimesTen Cache runs as a client application to Oracle database server. TimesTen Cache supports the same platforms as the TimesTen In-Memory Database. See What platforms are the Oracle TimesTen technologies supported on?.
Yes, since TimesTen Cache runs as an Oracle client, it can be running on a different platform from that of the Oracle database server. As implied by the name (Application-Tier Database Cache), TimesTen Cache typically resides in the application tier, whereas the Oracle Database sits in the database tier.
The amount of performance-critical data to cache in TimesTen varies depending on the nature of the application. Instead of caching the whole database, a subset of the database tables, columns and rows can be cached in TimesTen. Another option is to define a dynamic cache, where the data from the Oracle tables are loaded on demand.
TimesTen Replication is a component of the TimesTen In-Memory Database and the TimesTen Application-Tier Database Cache. The TimesTen Replication technology enables real-time data replication between TimesTen server nodes. It is used for creating highly available architectures, disaster recovery sites, and distributing data across multiple nodes. Replication supports active/standby or active/active configuration, using asynchronous or synchronous data transmission. Refer to the In-Memory Database data sheet on the Oracle TimesTen main page for more information.
TimesTen Replication can be configured to replicate the entire TimesTen database to one or more TimesTen nodes. After a failover, where the standby node becomes the active node, the failed node can be recovered from the standby (now active) database.
Yes, table-level replication and database level replication are both supported.
TimesTen Replication uses persistent, streaming, TCP/IP sockets between the replicated nodes over a LAN or WAN.
Yes, unidirectional and bi-directional replication are supported. For bi-directional replication, it's recommended that the workload be partitioned to avoid high-number of conflicts. In the event of conflicts where updates are made to the same database rows, TimesTen Replication supports timestamp-based conflict detection and resolution.