Oracle TimesTen In-Memory Databaseis anin-memory,relational database management systemwith persistence and high availability. Originally designed and implemented atHewlett-Packardlabs inPalo Alto, California,TimesTen spun out into a separate startup in 1996 and was acquired byOracle Corporationin 2005.[1]
Developer(s) | Oracle Corporation |
---|---|
Stable release | 18.1.4
|
Platform | Cross-platform |
Type | Relational database management system |
License | Proprietary |
Website | TimesTen Home Page |
TimesTen databases are persistent and can be highly available. Because it is an in-memory database it provides very low latency and high throughput. It provides standard relational database APIs and interfaces such as theSQLandPL/SQLlanguages. Applications access TimesTen using standard database APIs such asODBCandJDBC.
TimesTen can be used as a standalone database, and is also often used as a cache in front of another relational database such asOracle Database.[2]It is frequently used in very high volumeOLTPapplications such as prepaid telecom billing and financial trading. It is also used for read-intensive applications such as very large websites and location-based services.
TimesTen can be configured as a shared-nothing clustered system (TimesTen Scaleout) supporting databases much larger than the RAM available on a single machine, and providing scalable throughput and high availability. It can also be configured in replicated active/standby pairs of databases (TimesTen Classic) providing high availability and microsecond response time.
TimesTen runs onLinux,SolarisandAIXand also supports client applications running onWindowsandmacOS.[3]
Technology
editTimesTen is anin-memory databasethat provides very fast data access time. It ensures that all data will reside in physical memory (RAM) during run time. This allows its internal search and data management algorithms used to be simplified, resulting in very low response times even on commodity hardware. TimesTen can make use of availableRAMavailable on its host machine, up to terabytes in size; using TimesTen Scaleout databases much larger than the RAM of a single machine are supported.
Database Concepts
editTimesTen supports standard relational database concepts. Tables consist of rows; rows consist of columns of specific data types. Data is manipulated using SQL. Transactions allow data to be manipulated with appropriate levels of atomicity and isolation; TimesTen supports all standardACID propertiesexpected of relational databases.
Datatypes supported by TimesTen are in general a subset of those supported by Oracle Database, including NUMBER, VARCHAR and LOBs; TimesTen specific datatypes such as binary integers are also supported.
Applications access TimesTen databases using standard relational APIs such asODBC,JDBC,OCI, and ODPI-C. This allows applications to be written in many programming languages and environments. Applications use those APIs to access and manipulate data using standard SQL. Stored procedures can also be implemented and executed using PL/SQL.
Persistence
editThough an in-memory database, TimesTen databases are persistent and can behighly available.At runtime all TimesTen data is in RAM, however TimesTen utilizes non-volatile storage for database persistence and recoverability. TimesTen stores snapshots of the database, called checkpoint files, in a local filesystem. In addition all modifications to the database are also recorded in transaction log files. The combination of checkpoint files and transaction log files allow TimesTen to recover the database in the event of a system failure.
In addition TimesTen databases can be replicated to multiple machines to provide for high availability and disaster recovery.
Connection Methods
editApplications may connect to TimesTen databases either in a traditional client/server manner using TCP/IP as the underlying transport or in direct mode. Direct mode allows applications running on the same machine as the database to avoid network stack andcontext switchingoverheads. At runtime the data in a TimesTen database is stored inshared memory;this allows application processes to directly attach to the database memory and access it withoutIPCor context switch overheads. The same APIs and capabilities are available in both modes.
Caching
editBecause TimesTen databases are persistent and can provide high availability, they can be used as the only database in many solutions.
However, TimesTen databases are often used alongside other databases such as Oracle Database, with a TimesTen database serving as a cache for a subset of data in the (perhaps larger) traditional database.
TimesTen provides the capability to cache data from anOracle Databasesource. To utilize Oracle Database caching, one defines one or more SQL objects known ascache groups.Acache groupis a set of one or more related database tables and allows for subsets of its rows and/or columns. Database tables in a cache group must each have a definedprimary keyor a unique index declared across a set of non-nullable columns and must be related in a parent-child hierarchy viaprimary key-foreign keyconstraints.SQLpredicates can be used to control what data is to be cached.
Once a cache group is defined, the cache group can then be "loaded", allowing Oracle Database data to be cached in TimesTen. Applications can then read from and write to cache groups, and all data modifications will then be synchronized with the corresponding Oracle Database tables.
Other solutions such asOracle Golden Gatecan also be used to synchronize data between TimesTen and other databases, also allowing TimesTen to be used as a very fast cache in front of other databases.
Deployment Modes
editTimesTen can be configured in two ways, called TimesTen Classic and TimesTen Scaleout.
TimesTen Classic
editTimesTen Classic implements in-memory databases that are implemented on a single machine, but which can be replicated to other machines for high availability. Databases provided by TimesTen Classic provide extremely low latency, as queries do not require any network I/O and all data is local.
The TimesTen Classic replication mechanism enables ahighly availablesystem by sending database updates between two or more hosts. Typically an active-standby pair of databases is used for highest availability.[4]In addition to the active and standby databases, multiple subscriber databases can be configured to serve as disaster recovery copies or read-only farms.
TimesTen Scaleout
editTimesTen Scaleout allows a single TimesTen database to span many machines. Ashared-nothing architectureis used to distribute data across multiple TimesTen instances running on many machines. All machines can query and modify all data in the database, and all databaseACID propertiesare fully supported. Multiple copies of data are kept for high availability. Databases provided by TimesTen Scaleout can be larger than the amount of RAM available on a single machine, and database throughput is scalable as more machines are added.
Typical Uses
edit- Telecom billing and call processing
- Financial services security trading
- Scalable database services in very large websites
- Location-based services
History
editTimesTen was founded inHPlabs by Marie-Anne Neimat,[5]Sherry Listgarten, Kurt Shoens and Kevin Wilkerson, under the name of "Smallbase". At HP, Jean-René Bouvier decided to embed Smallbase intoHP OpenCall,which made the first commercial use of the product in 1995. In 1996, the product was spun off into a separateventure capitalfundedstartup companybased inMountain View, Californiaunder the leadership of CEO Jim Groff. The product became popular for telecommunications equipment, as response times in themillisecondsor evenmicrosecondswere required for applications likepacketswitching. The company had 90 employees and was profitable when it was acquired byOracle Corporationin 2005.[6]After the acquisition, many Oracle database features were added to TimesTen such as support forPL/SQLand integration withOracle SQL DeveloperandOracle Enterprise Manager.TimesTen Scaleout was added in 2018.
References
edit- ^"Oracle acquires TimesTen database software".Computerworld.
- ^"Oracle TimesTen Application-Tier Database Cache Overview".Oracle.
- ^ "TimesTen Supported Platforms (from TimesTen FAQ)".
- ^"TimesTen In-Memory Database Replication Guide".Oracle Corporation. Archived fromthe originalon 2021-11-05.Retrieved2021-11-05.
- ^"2004 Fast 50 Winner - Marie-Anne Niemat".Fast Company.December 2003.
- ^"Oracle Acquires TimesTen for Real-Time Database".The Unix Guardian.Archived fromthe originalon 2012-01-26.