TimesTen In-Memory Database and TimesTen Application-Tier Database Cache

Frequently Asked Questions

This document contains the commonly asked questions regarding the Oracle TimesTen In-Memory Database products.

Open all Close all

    General

  • 1. 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 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.

  • 2. What is Oracle TimesTen Application-Tier Database Cache?

    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.

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

    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.

  • 4. Is there any limitation for the size of a TimesTen 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).

  • 5. Is Oracle TimesTen In-Memory database part of the Oracle database?

    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.

  • 6. What platforms are the Oracle TimesTen technologies supported on?

    The following platforms are supported:

    • Linux x86-32 (client only)
    • Linux x86-64
    • Linux Arm-64
    • Solaris SPARC (64-bit)
    • Solaris x86 (64-bit)
    • Microsoft Windows x86-64 (client only)
    • IBM AIX on POWER Systems (64-bit)
    • macOS 64-bit (client only)

    The Oracle TimesTen Application-Tier Database Cache option supports Oracle Database Releases 12.1, 12.2, 18c and 19c.

  • 7. What are some of the applications that are best for TimesTen?

    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.

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

    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.

  • 9. How is 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 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.

  • 10. I have more questions on TimesTen In-Memory database, is there a mailing list that I can contact?

    There is a TimesTen In-Memory Database discussion forum on OTN. Please post your TimesTen product related questions there.

    In-Memory Database

  • 1. Can Oracle TimesTen In-Memory database be used as a standalone database?

    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).

  • 2. Can Oracle TimesTen In-Memory database be used as an in-memory cache to the Oracle database?

    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.

  • 3. 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.

  • 4. 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. 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.

  • 5. 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 NodeJS. For a list of sample programs, refer to the Oracle TimesTen In-Memory Database Samples on GitHub.

  • 6. 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.

  • 7. Does the Oracle TimesTen In-Memory Database support indexes like the Oracle RDBMS?

    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.

  • 8. How are data structures designed and created in the TimesTen In-Memory Database?

    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.

  • 9. 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. In addition, customers can use TimesTen Replication or Scaleout to provide high availability.

    Application-Tier Database Cache

  • 1. What are the Oracle database releases supported by Oracle TimesTen Application-Tier Database Cache?

    TimesTen Cache supports Oracle Database Release 12.1, 12.2, 18c and 19c.

  • 2. What are the platforms supported by Oracle TimesTen Application-Tier Database Cache?

    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?.

  • 3. Can I run Oracle 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 (Application-Tier Database Cache), TimesTen Cache typically resides in the application tier, whereas the Oracle Database sits in the database tier.

  • 4. 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 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.

    Replication

  • 1. What is TimesTen Replication?

    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.

  • 2. How does TimesTen Replication ensure continuous availability in the event of system failures?

    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.

  • 3. Can I replicate selected tables in the database?

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

  • 4. 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.

  • 5. Is TimesTen Replication bi-directional?

    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.