Top Banner
39

Times Ten Training

Jul 04, 2015

Download

Documents

Li Chen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Times Ten Training
Page 2: Times Ten Training

2All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么?

TimesTen 的发展

TimesTen 的特点

TimesTen 基础

TimesTen 的结构

TimesTen 的使用

可选功能简介

Cache Connect to Oracle Replication

目录

Page 3: Times Ten Training

3All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么?

名称: Oracle TimesTen InMemory Database 目的:缩短数据库层的响应时间

特点:

• TimesTen 是一个完整的数据库

• 相关数据全部储存在计算机内存中

• 算法的简化成就更少的 CPU 开销

• 比 Oracle 数据库的 DB 缓存更快

Ten Times

Page 4: Times Ten Training

4All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 发展

1992 年: TimesTen 源于 HP 试验室,当时主要目的是针对电信网络应用,使用内存数据库技术进行一些深入研究。

1996 年:由该团队核心人员成立独立运作公司,并发布 TimesTen第一个商用版本( TimesTen2.0 ) 。

2001 年:产品中增加 Cache Connect 组件,以至产品可以和 Oracle 无缝集成 。

2005 年:由 Oracle 收购,到今天为止,该产品已经有 15 年历史,有多达 11个主要的发布版本产生,在 TimesTen 被收购之前, TimesTen 在全球已经有1500+ 的企业用户(比如:爱立信、 CISCO 、amdocs 、 JPMorgan 、 AVAYA 等等) 。

2009 年: 7 月 29 日,甲骨文宣布推出 Oracle 内存数据库 TimesTen 11g 和Oracle 内存数据库高速缓存 11g(Oracle In-Memory Database Cache) 。

2007 年: Oracle 发布 Timesten 7.0.5 版本

Page 5: Times Ten Training

5All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 产品

Product: Oracle TimesTen In-Memory Database

Option: Cache Connect to Oracle

Option: Replication - TimesTen to TimesTen

Page 6: Times Ten Training

6All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 特点

高速数据处理

微秒级别的响应时间

采用标准技术

支持大部分 SQL92 的功能,包括索 引,物化视图

减少开发难度和开发时间

减少维护成本

高可靠性

足以满足证券行业等等业务的高可靠性要求

Page 7: Times Ten Training

7All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么?

TimesTen 的发展

TimesTen 的特点

TimesTen 基础

TimesTen 的结构

TimesTen 的使用

可选功能简介

Cache Connect to Oracle Replication

目录

Page 8: Times Ten Training

8All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 的结构

Page 9: Times Ten Training

9All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

内存结构

Data Store

保存所有数据库数据的区域

日志缓存

用于暂时存储记录 Data Store 变更的日志

临时数据区域

临时存储执行计划等数据的共享区域

排序等等操作临时使用

Page 10: Times Ten Training

10All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

后台进程

常驻后台进程

主进程 (Daemon)• 监听功能 (Listener)

• 读取配置文件 odbc.ini

• 分配和监视 Sub Daemon

子进程 (Sub Daemon)• 载入 / 卸载 Data Store

• 将日志缓存写入日志文件

• 监视和解除死锁 (Dead Lock)

• 执行检查点 (Checkpoint)

可选后台进程

Replication 代理

• 实施 Replication

Cache 代理

• 实施 Cache Connect

TimesTen 服务器

• 采用客户端 / 服务器连接时的服务器进程

Page 11: Times Ten Training

11All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

文件结构

Transaction log memory buffer

Transaction log files

Background log flusher persists transaction datato disk

Checkpoint files

Memory-resident data store

Periodic snapshot ofdata store to checkpoint files

Updates

Committed transactions

ApplicationApplication

21

odbc.ini 配置文件• 用于记录各个 DSN 的参数

Transaction log files 事务日志 • 保存数据库的变更

•原有文件超过一定的大小后,自动生成新的日志文件

• 与检查点文件一起用于数据库的恢复

• 用于 redo(recovery) 和 undo(rollback)

Reserve Space Files • 用于当日志文件所在磁盘空间满时,回滚事务

Chenckpoint files 检查点文件 • 保存于磁盘的数据库镜像。

• TimesTen启动时,检查点文件的数据被装载到内存中

• TimesTen 运行时,隔一段时间进行一次检查点处理,仅保存改变的数据块并删除无用的日志文件

• TimesTen 关闭时,用于保存 Data Store 内的数据

• 出于安全考虑,存在两个文件

Reserve Space Files

Page 12: Times Ten Training

12All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 连接模式

Direct Connect Mode-直接驱动器连接• Oracle 推荐的连接方式,具有最佳的性能

• TimesTen 数据库与应用程序处于同一台主机上,同处于应用程序层

• 应用程序通过 ODBC/JDBC直接对数据库进行访问

• 与传统的客户端 / 服务器的模式相比,减少了 TCP/IP 、 IPC方面的开销

Client/Server Connect Mode-客户端 / 服务器连接• 传统的连接方式,性能比直接驱动器连接差

• TimesTen 数据库与应用程序处于不同的主机上

• 客户端与服务器一般以 TCP/IP方式连接,存在网络开销

Page 13: Times Ten Training

13All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

First Data Store Connection

1). 应用程序建立与 TimesTen main daemon 的连接 .2). main daemon 分配一个 subdaemon 管理 data store.3). subdaemon 为 data store创建一块共享内存 (shared memory segment).4). subdaemon 加载 checkpoint files 数据到共享内存 .5). subdaemon 应用事务日志前滚或者回滚 .6). 应用程序将共享内存映射到自己的地址空间 .

当应用程序与 data store 建立连接后,

仅需进行 1) 、 6)两步操作

Page 14: Times Ten Training

14All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么?

TimesTen 的发展

TimesTen 的特点

TimesTen 基础

TimesTen 的结构

TimesTen 的使用

可选功能简介

Cache Connect to Oracle Replication

目录

Page 15: Times Ten Training

15All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

创建 data store

Window:控制面板- >管理工具- > 数据源 (ODBC)- >系统 DSN

Page 16: Times Ten Training

16All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

Data Store RAM Policy

C:\Documents and Settings\ChenLi>ttadmin -query tttest

RAM Residence Policy : inUse plus grace period

RAM Residence Grace (Secs) : 30

Replication Agent Policy : manual

Replication Manually Started : False

Cache Agent Policy : manual

Cache Agent Manually Started : False

C:\Documents and Settings\ChenLi>ttAdmin -ramPolicy always tttest

RAM Residence Policy : always

Replication Agent Policy : manual

Replication Manually Started : False

Cache Agent Policy : manual

Cache Agent Manually Started : False

内存策略:

inUse: Load store into memory only if the store has at least one connection (default)

always: Always keep the store resident in memory

manual:Manually load and unload the store

Page 17: Times Ten Training

17All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

数据类型

数据类型 TypeMode:

Oracle type mode(recommended and default mode)

Timesten type mode (provided for backward compatibility)

存储方式 :

固定长度: inline

可变长度: inline or out-line

Inline与 out-line 区别:

Inline:空间的分配和普通的 int , char 等类型一样,都是放在表所在的连续空间中,当可变长度的长度小于等于 128字节时缺省是inline 。定义多少实际消耗多少。性能好。

Out-line:放在一个另开的空间,比如堆中,当可变长度的长度大于128字节时,缺省是 not inline 。 out-line 存放的好处是节省空间。

Page 18: Times Ten Training

18All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

DDL/DMLDDL

CREATE TABLE

CREATE GLOBAL TEMPORARY TABLE

AGING LRU/AGING USE

DROP TABLE

TRUNCATE TABLE

ALTER TABLE

CREATE INDEX ---T-tree index / hash index

System tables

Ttsize

DML

select/insert/update/delete/merge

function

prepare/exec

Page 19: Times Ten Training

19All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

管理工具

ttBulkCpttBackupttRestorettMigratettSchemasnmpTrap

Page 20: Times Ten Training

20All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么?

TimesTen 的发展

TimesTen 的特点

TimesTen 基础

TimesTen 的结构

TimesTen 的使用

可选功能简介

Cache Connect to Oracle Replication

目录

Page 21: Times Ten Training

21All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

缓存组:储存在 TimesTen 中供应用程序读写的 Oracle 数据

缓存组可以存储一张或者几张Oracle表,或者是 Oracle表的部分内容

每个缓存组由一个根表 (root table) 和若干子表 (Child table)组成

每张子表必须与根表或者别的子表之间存在外键约束

Cache Group (缓存组)简介

Page 22: Times Ten Training

22All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

将数据从Oracle 数据库复制到 TimesTen 中( REFRESH )

将 TimesTen 中改变过的数据通过同步 /非同步的方式写入Oracle 数据库中( FLUSH )

缓存组 (Cache Group) 可以设置成为只读或读写模式

“ 透过 (Pass Through)” 功能允许只连接 TimesTen但可以同时访问 TimesTen 和 Oracle 数据库

Cache Group 的特征

Page 23: Times Ten Training

23All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

System-managed READONLY

Oracle 数据库中更新的数据通过非同步模式反映到 TimesTen 中

SYNCHRONOUS WRITETHROUGH ( SWT )

TimesTen 中更新的数据通过同步模式写入 Oracle 数据库

ASYNCHRONOUS WRITETHROUGH ( AWT )

TimesTen 中更新的数据通过非同步模式写入 Oracle 数据库

USERMANAGED 用户自定义

Cache Group类型

Page 24: Times Ten Training

24All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

每隔一定时间,缓存代理将数据复制到TimesTen

适合用于储存几乎没有更新的数据

READONLY(只读)

TimesTen

对没有缓存的表的操作被 Pass Through*

DML 被PassThrough*

AUTOREFRESH

*具体操作取决于 PassThrough 的设置

READONLY

Oracle DBOracle DBOracle DB

Application

cache agent

Page 25: Times Ten Training

25All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

DML 被 Pass Through给Oracle 等待Oracle 完成 COMMIT Oracle 无法 COMMIT 的话 TimesTen会被 ROLLBACK

适合仅希望通过使用 TimesTen 加速SELECT 操作的情况

SWT (同步写入)

*具体操作取决于 PassThrough 的设置

TimesTen

Manualload

Application

Oracle DBOracle DBOracle DB

SYNCHRONOUS WRITETHROUGH

Automatically propagate

updatescache agent

Page 26: Times Ten Training

26All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

SWT 数据流程

Application (0) SELECT <..>

UPDATE <..>INSERT <..>

(1) COMMIT

TimesTen(2) Propagate transaction to Oracle

(UPDATE, INSERT, COMMIT)

Oracle(3) Commit transaction and

return to TimesTen

TimesTen (4) Commit to transaction log (5) Return control to application

2

3

4

Oracle DBOracle DBOracle DB

SYNCHRONOUS WRITETHROUGH

TimesTen

Application 51

cache agent

TimesTen

transaction

log

Page 27: Times Ten Training

27All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

DML 被 Pass Through给Oracle 不等待Oracle 完成 COMMIT Oracle 无法 COMMIT 的话将错误信息

写入错误日志

适合希望通过 TimesTen 加速 DML 操作的情况

AWT (异步写入)

*具体操作取决于 PassThrough 的设置

Automatically propagate

updates

Manualload

Oracle DBOracle DBOracle DB

ASYNCHRONOUS WRITETHROUGH

TimesTen

Application

replication agent

cache agent

Page 28: Times Ten Training

28All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

Application (0) SELECT <..>

UPDATE <..>

INSERT <..>(1) COMMIT

TimesTen(2) Commit to transaction log(3) Return control to application(4) Propagate transaction to Oracle

(UPDATE, INSERT, COMMIT)

Oracle(5) Commit transaction and

return to TimesTen

AWT 数据流程

*具体操作取决于 PassThrough 的设置

2

Application

4

5

TimesTentransaction

log

Oracle DBOracle DBOracle DB

ASYNCHRONOUS WRITETHROUGH

TimesTen

31 Application

Page 29: Times Ten Training

29All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

0 1 2 3

PassThrough 的级别

在 TimesTen 出错的 DML Err O O O

对 READONLY 执行 DML Err Err O O

在 TimesTen不出错的 DML T T O O

DDL T T T O

O :在 Oracle 中执行

T :在 TimesTen 中执行

Page 30: Times Ten Training

30All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

Cache group例子

配置 cache group

Page 31: Times Ten Training

31All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

TimesTen 是什么? TimesTen 的发展 TimesTen 的特点

TimesTen 基础 TimesTen 的结构 TimesTen 的使用

可选功能简介 Cache Connect to Oracle Replication

目录

Page 32: Times Ten Training

32All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

基于事务 (Transaction) 日志

Replication 代理通过 TCP/IP Stream Socket 收发更新信息

可以选择同步 /非同步模式 基于时间戳、解决更新版本冲突问题

Replication 的特征

Replication - TimesTen to TimesTen

Network

In-Memory In-Memory DatabaseDatabase

TimesTen Libraries

Application

TimesTen Libraries

Application

TimesTen Libraries

Application

In-Memory In-Memory DatabaseDatabase

TimesTen Libraries

Application

TimesTen Libraries

Application

TimesTen Libraries

Application

Page 33: Times Ten Training

33All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

Replication 的组建方式

Page 34: Times Ten Training

34All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

Replication 的模式

异步模式

不等待接收方的反馈

同步模式

回执模式 (RETURN RECEIPT)

可以检测无法同步的情况

双重保险模式 (RETURN TWOSAFE)

保证完全同步

高速

数据完整性

Page 35: Times Ten Training

35All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

异步模式

应用程序

Data Store

日志缓存

1.commit

2.Commit 完成

Data Store

日志缓存

Rep agent

Rep agent

3. 写入日志文件

日志文件

日志文件

8. 写入日志文件

7. 将更新信息写入 Data Store

5. 发送更新信息4. 生

成更新信

6. 确认更新信息发送成功

发送方

接收方

Page 36: Times Ten Training

36All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

回执模式 (RETURN RECEIPT)

应用程序

Data Store

日志缓存

1.commit6.Commit 完成

Data Store

日志缓存

Rep agent

Rep agent

2. 写入日志文件

日志文件

日志文件

8. 写入日志文件

7. 将更新信息写入 Data Store

4. 发送更新信息

3. 生成更新信

5. 确认更新信息发送成功

发送方

接收方

Page 37: Times Ten Training

37All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

双重保险模式 (RETURN TWOSAFE)

应用程序

Data Store

日志缓存

1.pre-commit9. 完

Data Store

日志缓存

Rep agent

Rep agent

8. 写入日志文件

日志文件

日志文件

5. 写入日志文件

4. 将更新信息写入 Data Store

3. 发送更新信息

2. 生成更新信

6. 确认更新信息发送成功

发送方

接收方

7.Commit

Page 38: Times Ten Training

38All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )

Fujian Fujitsu Communication Software Co., Ltd.

replication例子

配置 Master-subscriber模式replication

Page 39: Times Ten Training