TimesTen In-Memory Database FAQ

General

What is Oracle TimesTen In-Memory Database?

Oracle 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 enterprises in communications, financial services, web applications, travel logistics, gaming, and other industries. It can be deployed in the application tier as a cached database (TimesTen Application-Tier Database 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.

What is Oracle TimesTen Application-Tier Database Cache?

TimesTen Application-Tier Database Cache (TimesTen Cache) is an Oracle Database option that provides real-time, read/write caching for Oracle Database. TimesTen 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, which enables TimesTen Cache to offer applications the full generality and functionality of a relational database, the transparent maintenance of cache consistency with Oracle Database, and the real-time performance of an in-memory database. TimesTen Cache is ideal for caching performance-critical subsets of an Oracle Database for improved response time in the application tier. To achieve high availability, TimesTen Cache can be deployed using an active-standby configuration, where cache tables are replicated in real time between the Oracle TimesTen In-Memory Databases.

Does Oracle TimesTen In-Memory Database have any special hardware and software requirements?

Oracle TimesTen In-Memory 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.

TimesTen Cache resides in the application tier, it uses SQL*Net to communicate to the Oracle Database. Oracle Database Instant Client is installed within TimesTen Cache for it to connect to the Oracle Database.

Is Oracle TimesTen In-Memory Database part of 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.

TimesTen Application-Tier Database Cache is an Oracle Database Enterprise Edition option for Oracle Database. It includes TimesTen In-Memory Database and caching technologies, which enable TimesTen Cache to be deployed as an in-memory cache database with automatic data synchronization between TimesTen Cache and the Oracle Database.

What platforms are supported by Oracle TimesTen technologies?

The following platforms are supported:

  • Linux x86-64:
    • Oracle Linux 7.4 or later, 8.2 or later, and 9.2 or later
    • Red Hat Enterprise Linux 7.4 or later, 8.2 or later, and 9.2 or later
    • SUSE Linux Enterprise Server 12 and 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 or later
    • Red Hat Enterprise Linux 8.4 or later
  • Solaris SPARC 64:
    • Solaris 11.3 and 11.4
  • Solaris x86-64:
    • Solaris 11.3 and 11.4
  • Microsoft Windows x86-64 (Client only):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-bit:
    • AIX 7.1, 7.2, and 7.3
  • macOS 64-bit (Client only):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonoma

The TimesTen Application-Tier Database Cache option supports Oracle Database releases 11.2.0.4, 12c, 19c and 21c, as well as these releases of Oracle Autonomous Database:

  • Oracle Autonomous Serverless Release 19c for the Transaction Processing workload type
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Release 19c for the Transaction Processing workload type

What types of applications are best for Oracle TimesTen databases?

TimesTen databases are used for many applications for a diverse range of industries, including telecom applications for authentication, authorization, number portability, online charging and billing, mediation, and call centers, and 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 planning, customer facing applications, and defense applications.

Oracle TimesTen is also core to some Oracle applications, such as the Exalytics In-Memory Machine for “speed-of-thought” OLAP analysis and Oracle Billing and Revenue Management for real-time billing.

What is the difference between TimesTen In-Memory Database (or TimesTen Cache) and Coherence?

Both TimesTen databases 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 Oracle Database, it automatically synchronizes data with Oracle Database. Distributed caches present a single image to applications with location transparency and distributed concurrency control.

How is Oracle Exadata different from TimesTen In-Memory Database?

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 for real-time applications that require instantaneous response time for phone call routing, authentication and authorization, real-time billing, securities trading, fraud detection, online banking, and many other use cases.

I have more questions about TimesTen In-Memory Database, where can I get answers?

You can post your TimesTen product-related questions on the TimesTen discussion forum.

TimesTen In-Memory Database

Can TimesTen In-Memory Database be used as a standalone database?

Yes, Oracle TimesTen In-Memory Database 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).

Can TimesTen In-Memory Database be used as an in-memory cache to Oracle Database?

Yes, with TimesTen Application-Tier Database Cache. This database option includes 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 Oracle Database.

What are the data access APIs to the TimesTen In-Memory 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.

Are the interfaces provided by TimesTen different for 32-bit and 64-bit applications?

No, the application interfaces are the same for both 32-bit and 64-bit applications. 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.

What languages can be used to develop Oracle TimesTen applications?

Applications can be developed using Java, .NET, C, C++, Pro*C, and PL/SQL as well as open source languages, such as Python and Node.js. For a list of sample programs, refer to the Oracle TimesTen In-Memory Database Samples on GitHub.

What does “embedded mode” mean?

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.

Does Oracle TimesTen In-Memory Database support indexes such as Oracle Database?

Yes, Oracle TimesTen In-Memory Database supports indexes. Indexes improve the performance of queries to the database, just as they do in 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.

How are data structures designed and created in TimesTen In-Memory Database?

TimesTen In-Memory Database supports the SQL standard. To create data structures, use SQL DDL statements, for example, CREATE TABLE, CREATE INDEX, CREATE SEQUENCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE PACKAGE, CREATE PROCEDURE, CREATE FUNCTION, CREATE SYNONYM, ALTER TABLE, and so on. 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.

How does TimesTen recover from node/power failure since it is an in-memory database?

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.

TimesTen Application-Tier Database Cache

What Oracle Database releases are supported by TimesTen Application-Tier Database Cache?

TimesTen Cache supports:

  • Oracle Database Release 11.2.0.4
  • Oracle Database Release 12c
  • Oracle Database Release 19c
  • Oracle Database Release 21c
  • Oracle Autonomous Serverless Release 19c for the Transaction Processing workload type
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Release 19c for the Transaction Processing workload type

What platforms are supported by TimesTen Application-Tier Database Cache?

TimesTen Cache runs as a client application to Oracle Database server. TimesTen Cache supports the same platforms as TimesTen In-Memory Database. See what platforms are supported by Oracle TimesTen technologies.

  • Linux x86-64:
    • Oracle Linux 7.4 or later, 8.2 or later, and 9.2 or later
    • Red Hat Enterprise Linux 7.4 or later, 8.2 or later, and 9.2 or later
    • SUSE Linux Enterprise Server 12 and 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 or later
    • Red Hat Enterprise Linux 8.4 or later
  • Solaris SPARC 64:
    • Solaris 11.3 and 11.4
  • Solaris x86-64:
    • Solaris 11.3 and 11.4
  • Microsoft Windows x86-64 (Client only):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-bit:
    • AIX 7.1, 7.2, and 7.3
  • macOS 64-bit (Client only):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonoma

Can I run TimesTen Application-Tier Database Cache on a different platform from the Oracle Database server?

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, TimesTen Application-Tier Database Cache, TimesTen Cache typically resides in the application tier, whereas Oracle Database sits in the database tier.

My Oracle Database is terabytes in size, how big should my TimesTen Cache database be?

The amount of performance-critical data to cache in TimesTen Cache 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 Cache. Another option is to define a dynamic cache, where the data from the Oracle tables are loaded on demand.

TimesTen Replication

What is TimesTen replication?

TimesTen replication is a feature of TimesTen In-Memory Database and 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. See the TimesTen In-Memory Database datasheet for more information.

How does TimesTen replication ensure continuous availability in the event of system failures?

You can configure TimesTen to replicate the entire TimesTen In-Memory 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.

Can I replicate selected tables in the database?

Yes, table-level replication and database level replication are both supported.

What network protocol is supported by TimesTen replication?

TimesTen replication uses persistent, streaming, TCP/IP sockets between the replicated nodes over a LAN or WAN.

TimesTen replication bidirectional?

Yes, unidirectional and bidirectional replication is supported. For bidirectional replication, it's recommended that the workload be partitioned to avoid a 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.