`
gaojingsong
  • 浏览: 1211924 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【TimesTen 介绍】

阅读更多

TimesTen is an in-memory, relational database management system with persistence and recoverability. Originally designed and implemented at Hewlett-Packard labs in Palo Alto, California, TimesTen spun out into a separate startup in 1996 and was acquired by Oracle Corporation in 2005.

 

 

All data within a TimesTen database is located in physical memory (RAM), which means that no data operation requires disk I/O. This is unlike traditional disk-optimized relational databases such as the Oracle Database, DB2, Informix or SQL Server, whose designs must contain algorithms that attempt to minimize disk accesses.TimesTen provides applications with short, consistent response-times and very high throughput as required by applications with database-intensive workloads.

 

 

As memory operates far faster than hard disk, TimesTen is used in applications where service-level agreements require low and predictable response times, such as telecommunications, real-time financial-services trading applications, network equipment, and large web applications. Also, unlike other memory-caching systems that use key-value pairs (such as Memcached, Hazelcast or Coherence), TimesTen can be accessed with standard interfaces and provides the functionality of the SQL query language.

 

Applications with data residing in an Oracle Database can utilize TimesTen through a database caching option (as distinct from Oracle Database In-Memory), in which TimesTen functions as an in-memory cache database in front of an Oracle Database.

 

TimesTen runs on most major Unix/Linux platforms and on various Windows platforms, in both 32-bit and 64-bit modes

 

 

 

Technology

TimesTen is an in-memory database management technology that provides very fast data access time. It assumes all data will reside in physical memory (RAM) during run time.The result is very low response times, which enable high throughput, even on commodity hardware.

 

Architecture

Shared libraries

TimesTen functionality is contained in a set of shared libraries that application developers link to their application, allowing TimesTen to execute as part of the application's process. This shared library approach is different than conventional RDBMS systems where the database is essentially a set of distinct processes to which applications connect via some form of inter-process communication. This communication may take the form of a client/server connection spanning over a network or it may be some form of intra-system IPC such as a Unix domain socket connection or a shared memory based connection mechanism.

 

Memory-resident database

The data for each active TimesTen database is stored in a shared memory segment, allowing multiple TimesTen databases to be active concurrently, and also allowing an application to simultaneously access several TimesTen databases on the same system. On 64-bit platforms, the size of a TimesTen database is practically limited only by the amount of RAM available on its host computer. One customer has a production TimesTen database approaching two terabytes in size/utilized for on-line transaction processing.

 

Database processes

Starting TimesTen requires starting a background process called the TimesTen main daemon, which then starts multiple TimesTen subdaemon processes to manage each database created in the system. These subdaemon processes perform database operations such as:

 

loading and unloading the database into RAM

writing periodic fuzzy checkpoints of the TimesTen database to disk

writing transaction log records from the in-memory log buffer to the transaction log files on disk

handling deadlocks

 

Connection modes

Client applications that connect to traditional disk-based relational databases typically use TCP/IP or another IPC mechanism to communicate with a database server process. In TimesTen, applications that reside in the same server as the TimesTen database can connect directly to the in-memory image of the database by using the TimesTen direct driver, eliminating the need for any inter-process communication of any kind, thus providing extremely fast performance. If the application resides on a remote server, the application can also connect to the TimesTen database using the traditional client/server model of data access.

 

Availability and integrity

Checkpoint and transaction log files

All TimesTen data exists in RAM, however TimesTen does utilize non-volatile storage (such as a hard disk) for database persistence and recoverability. A TimesTen database stores all transactional data modifications in an in-memory log buffer, which is eventually persisted to disk in the form of transaction log files. In addition, TimesTen also persists snapshots of the in-memory database, called checkpoint files, to disk. The combination of checkpoint files and transaction log files allow TimesTen to provide recoverability in the event of a system failure. TimesTen implements a parallel log manager in order to maximize throughput on large SMP systems.

 

By default, TimesTen operates in non-durable commit mode. In this mode, a commit operation occurs purely in memory, and the writing of the log records for the transaction to disk occurs asynchronously to the commit.[13] This provides for very low response times and very high throughput at the cost of the potential for some small amount of data loss in the event of a system failure. A true synchronous commit mode (durable commit mode) is also provided; this mode avoids the possibility of any data loss at the cost of reduced performance. When operating in synchronous commit mode, TimesTen provides automatic group commit optimization. TimesTen allows the architect / developer to balance performance versus data safety by providing control of the commit mode at three different levels: database, connection, and transaction. Another option for data protection and high-availability is to use TimesTen replication.

 

Replication

The TimesTen replication mechanism enables a highly available system by sending database updates between two or more hosts. With TimesTen replication, a master host sends updates to one or more subscriber hosts. TimesTen recommends an active-standby pair configuration for highest availability. An active-standby pair consists of two master databases, an active and a standby database. In addition to the active and standby databases, multiple subscriber databases can be configured to serve as disaster recovery copies or read-only farms.

 

Replication in TimesTen is implemented by the replication agent, a daemon process that aims at every TimesTen database involved in replication. The replication agent sends and receives updates between databases by communicating with the replication agents of other databases involved in the same replication scheme. Change capture is via log-mining with in-memory optimization; under normal operating conditions change records are captured from the in-memory log buffer with no need for any disk I/O. Communication between replication agents is via an efficient stream-oriented protocol built on top of regular TCP/IP connections.The replication agent is multi-threaded and in the 11.2.2 release, TimesTen supports parallel replication for increased throughput. The replication workload is automatically parallelized to maximize throughput while still maintaining correctness.

 

In-memory database cache

TimesTen provides the capability to cache data from an Oracle Database source. When used in this fashion, TimesTen is referred to as Oracle In-Memory Database Cache (IMDB Cache), an Oracle Database product option.

 

To utilize Oracle Database caching, one defines one or more SQL objects known as cache groups. A cache group is 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 defined primary key or a unique index declared across a set of non-nullable columns and must be related in a parent-child hierarchy via primary key-foreign key constraints. SQL predicates 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 either automatically or manually.

0
1
分享到:
评论

相关推荐

    oracle timesten内存数据库介绍

    标题:“Oracle Timesten内存数据库介绍” 描述:“内存数据库应用介绍,不错的东西,请大家赶紧下载呀” 标签:“数据库 内存 Oracle” 知识点详述: ### 一、内存数据库概述 内存数据库是一种主要或完全依赖...

    Oracle TimesTen操作指南

    5. **连接与客户端工具**:介绍如何使用各种工具(如SQL*Plus或其他第三方工具)连接到TimesTen数据库,以及设置连接参数。 6. **性能调优**:学习监控和优化数据库性能的方法,包括查询优化、内存管理、并发控制等...

    TimesTen11gR2

    描述:有关最新内存数据库timesten11gR2的介绍描述 本文将深入探讨TimesTen11gR2内存数据库的关键特性及其在IT行业的应用价值。TimesTen是Oracle公司的一款高性能内存数据库产品,专为需要实时数据处理和极致性能的...

    oracle timesten内存数据库文档

    它还详细介绍了TimesTen支持的SQL语法,这对于开发人员理解和编写针对TimesTen的查询至关重要。 2. **Oracle TimesTen Architecture Overview**: 在这个文档中,你可以了解到TimesTen数据库的基本架构,包括内存...

    TimesTen学习笔记3(Timesten DataStore属性的说明)

    以上内容只是对TimesTen DataStore属性的一个基础介绍,更深入的理解和应用还需要结合实际的使用环境和操作经验。如需更多详细信息,可以参考官方文档或者博客文章(https://menglh.iteye.com/blog/299850),进一步...

    sqldeveloper连接TIMESTEN

    在本文中,我们将详细介绍如何使用SQL Developer连接到TIMESTEN数据库。 首先,你需要确保已经下载并安装了TIMESTEN的客户端版本7.05,这个版本适用于Windows操作系统。TIMESTEN客户端包含了与数据库交互所需的所有...

    timesten系列六:定义复制,实现timesten的高可用性

    本文将详细介绍Timesten如何通过复制技术实现高可用性,包括复制的工作原理、不同复制模式的特性及其应用场景。 #### Timesten的快速响应时间 Timesten之所以能够实现极短的响应时间,主要得益于其内存存储机制...

    针对timesten 内存数据库的java开发手册【pdf】

    手册将详细介绍如何使用Java Database Connectivity (JDBC) API连接到Timesten数据库。这包括设置JDBC驱动,配置连接参数,以及创建和管理数据库连接。开发者需要理解Timesten提供的JDBC驱动类和相关的连接池管理...

    TimesTen内存数据库资料

    以下是对TimesTen内存数据库的详细介绍: 1. **内存数据库**:TimesTen运行在主内存中,所有数据都存储在RAM中,这使得数据访问速度极快,几乎消除了磁盘I/O的延迟。这种特性使得TimesTen特别适合于对数据实时性...

    Oracle TimesTen API 参考指南

    此文档主要针对 Release 7.0 版本的 Oracle TimesTen API 进行介绍,并且包含了对最新版本可能的更新信息,请参阅 TimesTen 发布说明获取更多信息。文档还强调了软件和文档受版权保护,并列出了相关的商标声明及法律...

    timesten 内存数据库的C++开发参考手册【pdf】

    1. **Timesten数据库基础**:介绍Timesten的基本架构、工作原理和安装配置过程。包括如何创建数据库实例、管理数据存储和设置连接参数等。 2. **C++接口API**:详细阐述了Timesten提供的C++ API,包括如何打开和...

    Oracle TimesTen SQL 参考指南

    - **ANSI SQL数据类型**:这部分详细介绍了TimesTen支持的标准ANSI SQL数据类型,如数值类型(INTEGER、SMALLINT、DECIMAL)、日期/时间类型(DATE、TIME、TIMESTAMP)、字符类型(CHAR、VARCHAR)等。 - **向后兼容...

    Oracle TimesTen 开发指南

    Java开发指南(java_dev.pdf)则面向使用Java语言的开发者,介绍了如何通过JDBC(Java Database Connectivity)驱动程序连接和操作Oracle TimesTen。开发者将学习如何使用Java的TimesTen JDBC驱动程序创建数据库连接...

    Oracle TimesTen API 和 SQL 参考指南

    《Oracle TimesTen API 和 SQL 参考指南》是一本全面介绍了Oracle TimesTen内存数据库系统API和SQL命令集的技术文档。该指南主要面向开发人员、数据库管理员以及任何需要与TimesTen内存数据库交互的专业人士。本文档...

    Timesten内存数据库与Json数据转换

    本文将详细介绍该包的功能及其使用方法。 #### 主要功能 该包主要实现了以下三个功能: 1. **根据Key获取JSON的值**:这是最基本也是最常用的需求之一。通过提供一个JSON字符串和一个键(key),该包能够返回对应...

    java访问timesten数据库定义.pdf

    1. **TimesTen 数据库介绍**: TimesTen 是一款内存数据库系统,由 Oracle 公司开发。它支持 SQL 查询语言,提供高速的数据处理能力,既可作为 Oracle 数据库的前端缓存,也可单独使用。其设计目标是优化实时应用,...

    Oracle TimesTen C 开发人员和参考指南.pdf

    本指南详细介绍了如何使用C语言连接到TimesTen数据存储(DataStore)。这一过程通常涉及创建一个数据库连接,设置连接参数,然后执行数据库操作。例如,通过使用`tt_connect`函数,开发者可以建立与数据存储的连接,...

Global site tag (gtag.js) - Google Analytics