2All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么?
TimesTen 的发展
TimesTen 的特点
TimesTen 基础
TimesTen 的结构
TimesTen 的使用
可选功能简介
Cache Connect to Oracle Replication
目录
3All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么?
名称: Oracle TimesTen InMemory Database 目的:缩短数据库层的响应时间
特点:
• TimesTen 是一个完整的数据库
• 相关数据全部储存在计算机内存中
• 算法的简化成就更少的 CPU 开销
• 比 Oracle 数据库的 DB 缓存更快
Ten Times
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 版本
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
6All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 特点
高速数据处理
微秒级别的响应时间
采用标准技术
支持大部分 SQL92 的功能,包括索 引,物化视图
减少开发难度和开发时间
减少维护成本
高可靠性
足以满足证券行业等等业务的高可靠性要求
7All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么?
TimesTen 的发展
TimesTen 的特点
TimesTen 基础
TimesTen 的结构
TimesTen 的使用
可选功能简介
Cache Connect to Oracle Replication
目录
8All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 的结构
9All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
内存结构
Data Store
保存所有数据库数据的区域
日志缓存
用于暂时存储记录 Data Store 变更的日志
临时数据区域
临时存储执行计划等数据的共享区域
排序等等操作临时使用
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 服务器
• 采用客户端 / 服务器连接时的服务器进程
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
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方式连接,存在网络开销
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)两步操作
14All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么?
TimesTen 的发展
TimesTen 的特点
TimesTen 基础
TimesTen 的结构
TimesTen 的使用
可选功能简介
Cache Connect to Oracle Replication
目录
15All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
创建 data store
Window:控制面板- >管理工具- > 数据源 (ODBC)- >系统 DSN
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
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 存放的好处是节省空间。
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
19All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
管理工具
ttBulkCpttBackupttRestorettMigratettSchemasnmpTrap
20All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么?
TimesTen 的发展
TimesTen 的特点
TimesTen 基础
TimesTen 的结构
TimesTen 的使用
可选功能简介
Cache Connect to Oracle Replication
目录
21All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
缓存组:储存在 TimesTen 中供应用程序读写的 Oracle 数据
缓存组可以存储一张或者几张Oracle表,或者是 Oracle表的部分内容
每个缓存组由一个根表 (root table) 和若干子表 (Child table)组成
每张子表必须与根表或者别的子表之间存在外键约束
Cache Group (缓存组)简介
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 的特征
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类型
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
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
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
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
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
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 中执行
30All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
Cache group例子
配置 cache group
31All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
TimesTen 是什么? TimesTen 的发展 TimesTen 的特点
TimesTen 基础 TimesTen 的结构 TimesTen 的使用
可选功能简介 Cache Connect to Oracle Replication
目录
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
33All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
Replication 的组建方式
34All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
Replication 的模式
异步模式
不等待接收方的反馈
同步模式
回执模式 (RETURN RECEIPT)
可以检测无法同步的情况
双重保险模式 (RETURN TWOSAFE)
保证完全同步
高速
数据完整性
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. 确认更新信息发送成功
发送方
接收方
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. 确认更新信息发送成功
发送方
接收方
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
38All Rights Reserved, Copyright ©FFCS 2008 福建富士通信息软件有限公司( FFCS )
Fujian Fujitsu Communication Software Co., Ltd.
replication例子
配置 Master-subscriber模式replication