浅谈TimesTen内存数据库的结构_光环大数据培训
浅谈TimesTen内存数据库的结构_光环大数据培训
OracleTimesTenIn-MemoryDatabase(简称TimesTen或TT)是一种业界领
先的内存中关系数据库,2005年被oracle公司收购。
TimesTen主要为电信、网络、证券交易等行业提供基础架构软件,并用这种软件进行事件管理、交易...
管理数据库存储HadoopOracle进程
朱亮云和恩墨技术专家,6年专职oracledba生涯先后服务于保险、金融、电信、百货等客户
OracleTimesTenIn-MemoryDatabase(简称TimesTen或TT)是一种业界领
先的内存中关系数据库,2005年被oracle公司收购。
TimesTen主要为电信、网络、证券交易等行业提供基础架构软件,并用这种软件进行事件管理、交易和数
据的工作,支持的系统包括实时计费系统、股票交易系统、呼叫中心系统、航线
运营系统等。
TimesTen主要用于以下部署方式:1、用于独立的OLTP系统的内存数据库2、
用于Oracle物理数据库的内存缓存数据库3、在OracleExalytics的内存分析一般行业内,大多采用第一种和第二种方式使用TimesTen数据库。
文件结构
TimesTen数据库主要包括的文件有:
1、检查点文件主要用来记录和同步DataStore的内存数据,是内存在磁盘
上的一个镜像,类似于oracle数据库的数据文件。
每个TimesTen实例有两个检
查点文件,在做检查点操作的时候会交替写入这两个文件,两个检查点文件之间
的存在一定的时间间隔。
在TimesTen数据库中,有两种类型的检查点:非阻塞检查点:非阻塞检查
点也被称为模糊检查点。
这些检查点的频率可以通过应用程序进行调整。
非阻塞
检查点不需要数据库上的任何锁,因此在检查点操作正在进行时,多个应用程序
可以在同一数据库上异步提交或回滚事务,它是一个不完全检查点,不必保证事
务的一致性。
阻塞检查点:做该检查点操作时会加上数据库级别的锁,它是一个
完全检查点,必须保证事务的一致性。
2、事物文件
其主要作用为:a、用于发生系统故障时,重做事务b、用于撤消回滚的事务c、将更改的内容复制到其他TimesTen数据库d、将更改的内容复制到Oracle 数据库e、允许应用程序通过XLA接口监视对表的更改
事物日志文件存放路径位于配置文件中logdir参数所指定的目录下,当完成以下操作后,TimesTen会自动清除事物日志文件:
将日志记录写入事务日志文件(或以前的事务日志文件)的所有事务都已提交或回滚。
事务日志文件中记录的所有更改都已写入检查点文件。
如果使用复制功能,事务日志文件中记录的所有更改都已复制到对端。
如果已经为该行为配置了TimesTen缓存,则事务日志文件中记录的所有更改将被传播到Oracle数据库。
如果使用XLA,事务日志文件中记录的所有更改都已报告给XLA应用程序。
3、配置文件TimesTen服务器端的配置信息都被记录在sys.odbc.ini文件中,包括:服务器端基本配置和各个DataStore的初始化参数,DataStore装载时会读取该配置文件中的相关配置;连接DSN时也会读取该文件中的信息。
客户端连接的配置信息则被记录在sys.ttconnect.ini文件中,如果需要使用C/S连接模式,就需要配置该文件。
ttendaemon.options则用来记录TimesTen主进程所需要的配置信息也就是实例信息,包括后台日志目录、日志大小、C/S连接端口号、TNS_ADMIN目录等,修改该文件需要重启守护进程。
4、警告日志文件ttmesg.log记录的是TimesTen运行情况的日志记录,有些类似于Oracle的alert.log文件;tterrors.log则记录的是报错信息。
ttmesg.log和tterrors.log都可以通过设置ttendaemon.options配置文件中的参数来控制每个文件的大小、个数、存放路径等。
内存结构
如上图所示,TimesTen的内存结构主要分为PermSize、TempSize、LogBuffer 和64M的DBheader
PermSize:DataStore,保存所有数据库数据的区域,我们将其视为一个独
立的数据库。
LogBuffer:用于暂时存储记录DataStore变更的日志,类似于Oracle的SGA共享内存区域的日志缓存(LogBuffer)
TempSize:临时存储执行计划等数据的共享区域,排序等等操作临时使用。
相比与Oracle,TimesTen在此处作出了结构上的简化,可以视为Oracle的多个内存区域的合集,也正因为这样的简化,TimesTen在使用上相当于就必需保证简单化,否则争用热点出现,其性能甚至可能不如Oracle数据库。
由于这三个参数都是基于DataStone的,所以对应的配置文件是sys.odbc.ini文件,我们可以通过修改sys.odbc.ini文件,来指定每一个DS 在加载的过程中,需要分配多大的内存。
在已经运行的环境下,可以通过dssize�m的命令,看到每一个区域所使用的内存大小,以及较高水位线(如下图)。
对于PermSize的大小,可以用过ttSize和ttComputeTabSizes来计算出,而TempSize的大小没有工具可以进行计算,在TimesTen数据库负载工作时,观测TEMP_IN_USE_HIGH_WATER的大小。
PermSize和TempSize的调整,都需要从内存中卸载TimesTen数据库以进行更改,并且PermSize大小如果缩小,需要重新创建TimesTen数据库。
后台进程在后台进程中,我们可以分为常驻进程和可选进程两种:
1、主守护进程(Daemon)主要负责的工作有启动subdaemon,ttcserver(listener),内存管理的policy(inuse,manual,alawy)和共享内存的请求,进程的恢复和启动相应的agent。
在系统中安装的每个TimesTen实例上都运行了一个主守护程序进程。
应用程序通过TimesTenODBC或JDBC驱动程序建立了到主守护程序的“deadman”套接字连接。
2、子守护进程(SubDaemon)子守护进程是由主守护进程产生的子进程,用于管理内存中加载的DataStore。
每个活动的DataStore(已加载到内存中的存储)都有一个子守护程序进程。
主要功能有,负责加载和卸载DataStore,监视死锁、冲刷事务处理日志缓冲区、事务回滚、处理过期数据、检查点以及在系统故障后恢复DataStore等。
子守护进程是一个多线程的进程结构,通过ttstatus
可以看到当前的subdeamon的线程(如下图):
3、ttcserver(listener)该进程主要要是侦听用户请求,然后通根据用户请求的DSN转发到相应的subdaemon,这个进程为每个连接生成一个ttcserver进程来执行应用程序的各种请求。
功能类似于oracle数据库的listener进程。
在TimesTen11的版本里,默认的配置,该进程在53397的端口上侦听,用户可以通过ttmodinstall来进行修改,在TimesTen7版本中,该进程在17003的端口上侦听(如下图):
4、ttcserver(用户)这种进程是具体负责执行应用程序请求的进程,比如执行SQL,读取数据等等,由ttcserver(listener)负责启动。
5、timestenrepd:Replication进程用于管理主备复制、AWT同步的复制进程,该进程会派生并并管理复制持有日志进程、XLA父进程、接受进程、传送进程、Failover进程以及复制监听进程等子进程。
该进程是可选进程,只有在开启复制关系时,才会存在。
进程也是多线程结构(如下图):
6、timestenorad:CacheAgent进程用于管理CacheGroup同步的进程,实现TimesTen与Oracle之间的数据同步;该进程会派生并管理句柄进程、刷新时间管理进程、刷新进程以及清理进程等子进程。
该进程是可选进程,也是多线程结构(如下图):
7、其他可选进程:FullBackup进程用于内存数据库全库备份、Bulkcp进程用于内存数据库数据导入导出、XLA进程用于TransactionLog的API接口进程。
TimesTen高可用对于目前大多数业内环境,TimesTen的部署方式大多采用以下两种方式:TimesTen为主,进行应用业务的支撑,同时自动同步到oracle 数据库中;另一种是oracle数据库为主要业务支撑环境,TimesTen只支持应用读取的功能。
在采用第一种部署中,oracle官方建议使用以下方式进行高可用环境的搭建,即TimesTen主库进行业务的事物支撑,在它的同步复制的备库,对外提供业务读取和向oracle数据库环境同步的功能。
为什么大家选择光环大数据!
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。
讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。
通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。
【报名方式、详情咨询】
光环大数据官方网站报名:/
手机报名链接:http:// /mobile/。
内存数据库的数据结构分析
• 7•内存数据库在数据密集型行业领域的日常工作中起到了十分关键的作用,能够实时、高效地满足技术人员对于数据的访问需求。
本文分别对内存数据库的记录数据组织结构以及内存数据库的索引数据结构进行了详细地说明和分析,进而对内存数据库的数据结构进行更好地掌握,来不断提升内存数据库的性能。
1 内存数据库的记录数据结构1.1 区段式数据结构从目前的发展情况来看,大部分内存数据都是数据在关系表的基础上所建立的一种关系数据库,而技术人员将数据存储到内存数据库中时,往往使用的是二维关系表来进行的,因此,二维关系表在当前的内存数据库中也得到了广泛的应用。
一方面,利用二维关系表保存数据可以维护数据的描述信息。
描述信息包含了数据的字段名、表名、索引、类型等内容,这些信息是用于描述数据在关系表中的信息。
另一方面,利用二维关系表保存数据可以维护数据的记录信息。
记录信息指的是数据被存储在关系表中的每一条记录内容。
这类基于关系表的内存数据库通常会采用区段式的数据组织结构,来将内存数据库的共享内存划分为若干个不同的分区,在每一个分区中存储一个内存数据库中的关系;而每一个分区又要分成若干个长度相等的段,这些段就是内存数据库共享内存进行动态分配的一个单位,而内存数据库中的数据,就是存储在段中的一个记录块当中。
在内存数据库中采取区段式的数据组织结构,需要对每一项数据都标志其区号、断号以及槽号。
这样一来,就可以快速查询到数据在内存数据库中的具体位置,大大提升了数据查询的效率。
值得注意的是,数据的分区号必须对应其关系表名;而数据的槽号要对数控在段内的偏移和长度进行记录。
1.2 基于对象的数据结构近年来,基于对象的数据结构技术不断进行发展,因此在内存数据库中也得到了更加广泛的应用,与区段式的数据组织结构成为了内存数据库中两种重要的数据结构。
在内存数据库中使用基于对象的数据组织结构时,无论是对数据的存储、记录,还是对数据的索引,都是要通过对象来完成。
大数据分析培训_大数据课程之数据架构的认识_光环大数据培训
大数据分析培训_大数据课程之数据架构的认识_光环大数据培训数据架构是一系列决定收集哪些数据,如何在数据库系统中使用、处理和存储数据的规则、策略以及模型。
例如,数据集成是依赖于数据架构用于集成过程中的指令。
如果没有从编程范式转换到数据架构范式,现代计算机将会变得更加笨拙迟钝。
对于早期的计算机,创建过分简单化的程序是为了处理特定类型的计算机问题,甚至没有考虑过数据集成的概念,每个程序之间都是单独分开的。
二十世纪四十年代至七十年代,程序处理是最主要的问题,有关建立数据架构的问题根本考虑得少之又少,甚至不在考虑的范围之内。
程序员致力于让计算机通过执行特定的操作,以支持组织的短期目标。
只有定义为“程序需要”的数据被使用,计算机才不会被用于长期的数据存储,恢复数据需要能够编写、检索特定信息的程序,而这相当耗费时间和金钱。
编程范式转换为数据库架构范式1970年,Edgar F. Codd公开发表题为“大型共享数据库数据的关系模型”的论文,文中提到了组织起数据的相关步骤,Codd的理论基于运用于集合论里面的数学运算,结合了一列规则,以确保数据被存储在最小冗余里。
他的方法成功的创建了数据库架构,简化了计算机的效能。
在Codd的理论之前,COBOL程序和大多数其他的程序都是按等级排列的,这样的排列使得搜索有必要从总类别开始,然后再逐渐缩小搜索类别。
而Codd提供的相关途径则允许用户更加有序、有效地利用二维表储存数据。
(Codd 称之为“关系法”)1976年,在麻省理工学院工作的Peter Chen发表题为“实体-关系模型对数据的统一视图”的论文,文中介绍了实体/关系建模,也就是今天被广泛熟知的“数据建模”。
他以图表的形式生动形象地呈现了数据架构,两年后,Oracle 宣布推出首款涉及业务的关系数据库管理系统(RDBMS)。
大数据培训来光环大数据,成就自己!以计算机为工具工作的人们开始意识到数据架构比程序架构更加靠谱。
data store memory 结构体-概述说明以及解释
data store memory 结构体-概述说明以及解释1.引言1.1 概述在数据存储领域中,数据存储内存起着关键作用。
数据存储内存是一种用于临时存储和快速访问数据的存储设备,其具有高速读写速度、低延迟和高带宽特性。
本文将重点探讨数据存储内存的定义、作用以及优势,以帮助读者深入了解该关键技术在数据存储系统中的重要性。
通过本文的阐述,读者将能够更好地理解数据存储内存的特点和价值,从而为未来的技术发展和应用提供重要参考。
1.2 文章结构本文分为三个部分:引言,正文和结论。
- 引言部分将介绍数据存储内存的概念和本文的目的,为读者提供一个整体的了解。
- 正文部分将详细展开数据存储内存的定义、作用和优势,深入探讨其在数据存储中的重要性和价值。
- 结论部分将对数据存储内存的重要性进行总结,展望其未来的发展趋势,并结束全文。
编写文章1.2 文章结构部分的内容1.3 目的:本文的主要目的是探讨数据存储内存的重要性和优势。
通过对数据存储内存的定义、作用和优势进行深入分析,旨在帮助读者更好地了解数据存储内存在计算机系统中的地位和作用。
同时,通过展望数据存储内存的未来发展,为读者提供对数据存储内存技术的前瞻性认识,帮助他们在未来的学习和工作中更好地应用和理解数据存储内存相关的知识。
最终,通过本文的内容,希望能够强调和强调数据存储内存在现代计算机系统中的重要性,促进数据存储内存技术的进一步发展和应用。
2.正文2.1 数据存储内存的定义数据存储内存是一种用于存储和操作数据的计算机内存结构。
它通常被用来存储临时数据和临时结果,以便在程序执行过程中快速访问和修改数据。
数据存储内存通常包括内存单元、存储器控制器和数据通路等组成部分,能够提供高速的数据访问和读写操作。
数据存储内存的定义还可以扩展到包括硬件存储器和软件存储器等方面,用于满足不同应用场景的数据存储需求。
在计算机系统中,数据存储内存扮演着至关重要的角色,可以直接影响系统的性能和运行效率。
深入内存数据库
✓ ACID
完整的事务支持。不支持嵌套事务/XA
✓ 交易独立性
默认Read Committed事务级别 不支持MVCC 降低为串行事务级别
提高效率, 违反D!
✓ 隔离级别与并发性是互为矛盾的
隔离程度越高,数据库的并发性越差; 隔离程度越低,数据库的并发性越好
2020/5/11
17
事务(2)
TimesTen支持两级事务隔离:
Optimization Typical deployment
Disk-centric(IO) Database tier
Memory-centric(CPU) Application tier
Architecture Response times
Data capacity Scalability
Client/server Milliseconds Tens of terabytes Unlimited SMP/cluster
➢ 完善的事务管理,针对物理内存的优化调度 算法和并发事务处理
➢ 关系型数据库,支持SQL92
➢ 数据可靠性、完善的数据恢复机制
2020/5/11
3
与传统数据库比较(1)
➢ 传统数据库的目的是处理永久、稳定的数据。强调维护数据的 完整性、一致性,但很难顾及数据及其处理的定时限制,不能 满足实时应用的需要
2020/5/11
8
TimesTen性能指标
2020/5/11
9
使用场景(1):常用数据缓存
缓存经常被访问的数据,提高应用的处理能力及反应 速度,减少网络和后台数据库的负载
2020/5/11
10
使用场景(2):热点数据缓存
缓存当前正使用的“热点数据”或重要客户的数据, 已提高反应速度优化服务,提高用户的忠诚度.
内存数据库timesten介绍
SOA
呼叫中心
用户个性化在线
BI / BAM
实时物流 实时订座
广泛的部署是信心的源泉
Deployed by Thousands of Companies
议程 –实时应用的特点 –TimesTen是实时应用的强大后盾 –快如闪电的TimesTen –伸缩自如的TimesTen –稳如泰山的TimesTen
<Insert Picture Here>
Copyright Oracle Corporation , 2009. All rights reserved.
10
闪电般的快速响应
16 14
14
millionths of a second
Microseconds
12 10 8 6 4 2 0 Read a Record
3rd Release as Oracle Product
– 提高与Oracle DB的互换性 •PL/SQL、OCI、Pro*C – 缓存技术的强化 •可扩展的分布式缓存 : Cache Grid – 高可用性功能 •与Oracle Clusterware、 Oracle DataGuard 的整合
M 2/14
M
5/3
0004 Doug
M
7/16
Application Servers
Database Servers
Peer-to-Peer 网 络通信
根据处理要求可动 态扩展
Oracle Database内保 存数据源
所有的成员都接到同一 个Oracle Database
Copyright Oracle Corporation , 2009. All rights reserved.
内存数据库的使用—TimesTen和Altibase
TimesTen篇—简介
结构
Log
TimesTen有自己的日志文件,以及存放日志文件 的目录(LogDir),缺省的就是和DataStore放在 同一个目录下。但一般建议分开放。日志的概念 和Oracle的一样,在回滚以及恢复的时候,都会 用到它。
TimesTen篇—简介
连接方式
Direct Driver连接 连接 Client/Server连接 连接 Driver Manager连接 连接
TimesTen篇—TT命令集
ttRepStart/ttRepStop : 功能:启动和关闭replication agent 用法: call ttrepstart(); call ttrepstop(); history Description: Lists previously executed commands. monitor Command Usage: monitor
TimesTen篇—简介
结构
DataStore
DataStore 是指TimesTen中的表、索引等放在内 存段中的一个集合,类似与Oracle中库的概念。 一个TimesTen Data Manager可以管理多个 DataStore。DataStore由放在相应ODBC配置文 件中的一个DSN(Data Source Name)所定义, 该DSN由一个名字和相关的属性组成
TimesTen篇—简介
连接方式
Direct Driver连接 连接 ቤተ መጻሕፍቲ ባይዱimesten推荐连接方式,由于没有了协议转换的开 销,这种连接方式具有最高的效率。对于JDBC应 JDBC 用程序,可以通过JDBC库访问ODBC的direct driver。这种连接方式要求应用程序和Timesten数 据库处于同一台服务器上。对于共享模式,数据库 被加载到共享内存中,多个应用程序可以共享访问 内存中的数据。可以减少TCP/IP,IPC方面的开销。
TimesTen 基础认识
1.什么是Oracle TimesTen内存数据库Oracle TimesTen内存数据库是一款内存优化的关系型数据库。
该产品可使应用大幅提高响应速度和吞吐量来满足当今有实时需求的企业,尤其适合电信,金融,互联网,旅游,在线游戏,保险等行业的企业。
部署在应用层的TimesTen数据库是一款可嵌入式或者独立的数据库。
它完全驻留在物理内存中,通过标准SQL接口进行数据库操作。
此外,该产品还包括复制技术来进行实时事务在TimesTen数据库之间的复制,进而实现高可用性和分担负载的目的。
2.什么是Oracle TimesTen应用层数据库缓存自从Oracle 12c 数据库推出了In-Memory功能,为了避免理解上的误解,将之前的Im-Memory Database Cache 改为了应用层数据库缓存。
该功能是Oracle TimesTen数据库的一个选项,来提供实时的对Oracle 数据库的读写缓存。
通过缓存性能敏感的表的子集从Oracle数据库到应用层,来提高应用事务响应时间。
缓存表在TimesTen数据库中的管理仍然是常规的关系型数据库表的管理方式。
因此,可以提供给应用一个完全通用和功能完备的关系型数据库,与Oracle数据库保持缓存透明维护的一致,并且实时高效的内存数据库。
为了实现高可用性,OraleTimesTen应用层数据库缓存可以通过使用actinve-standby配置的部署方案,且缓存表可以在Oracle TimesTen数据库之间进行实时复制。
3.TimesTen 内存数据库是否是Oracle 12c数据库的一部分Oracle TimesTen应用层数据库缓存是针对Oracle 12c 和11g数据库的一个数据库功能。
它包括了TimesTen内存数据库和缓存技术。
可以使得TimesTen作为一个内存缓存数据库自动将数据在TimesTen 和Oracle 数据库同步。
Oracle TimesTen内存数据库需要单独购买License。
TimesTen培训分解
C/S连接
应用必须和TimesTen部署在不同的机子上,或者 32位的 应用程序必须连接64位的DataStore,且32位的应用不能 在64位的机子上重新编译,此时就只能选择C/S连接方式。
ODBC驱动管理器
驱动管理器是独立于具体的数据源的,即在应
用和数据源之间增加了一个抽象层。
2018/10/20 23
System Managed类型:
•ReadOnly: TimesTen 中的数据只读,数据只在Oracle中更新, 然后通过Autorefresh 机制刷新到TimesTen 中 •SWT : 即当应用提交事务时,首先在Oracle提交,然后在 TimesTen中提交,在此期间,应用一直被阻塞 •AWT :即事务先在TimesTen中提交,然后以异步的模式在
2018/10/20 3
与传统数据库比较(1)
传统数据库的目的是处理永久、稳定的数据。强调维护数据的 完整性、一致性,但很难顾及数据及其处理的定时限制,不能 满足实时应用的需要 传统数据库由于磁盘IO、缓存管理、排队等待及锁的延迟等使 得事务实际平均执行时间与估算的最坏情况执行时间相差很大; 内存数据库由于没有磁盘IO和缓存管理,能搞准确估算事务响 应时间 内存数据库处理的数据通常是“短暂”的,即有一定的 时效。所以,实际应用中内存数据库主要处理实时性强 的业务逻辑处理数据。而传统数据库旨在处理永久、稳 定的数据,其性能目标是高的系统吞吐量和低的代价 传统数据库是IO密集型应用,内存数据库为CPU密集 型应用
异步复制
2018/10/20
31
Replication (6)
Return-receipt异步复制
2018/10/20
32
HiTSDB 时序数据库技术架构和产品解析_光环大数据培训
HiTSDB 时序数据库技术架构和产品解析_光环大数据培训光环大数据培训机构,时序数据就是在时间上分布的一系列数值,时间和数值是两个关键字,时序数据一般指指标型数据,比如股票价格、广告数据、气温变化、网站的PV/UV、个人健康数据、工业传感器数据,还有关于应用程序的性能监控,像服务器系统监控数据,比如cpu和内存占用率,此外还有车联网。
据统计,在大数据领域中时序数据会超过一半。
图为广告的监测数据,可以看到事例中跟踪了三个广告来源,每个来源跟踪了三个指标,包括展示了多少次、点击了多少次以及产生了多少收入。
广澳来源是用不同的标签来区分的,比如由谁发布、广告商、针对目标用户的性别和发布在哪个国家等。
大家可以清晰的看到每个指标,在不同的时间点有不同的数值,这就构成了一系列的时间数据。
左边成为数据源,中间成为metric,右边称为时间序列,时间序列在时间上具有不同的值,如果对时间序列建模会有两种方式,一种是单值,一种是多值。
单值是把每一个数据源的每一个指标的每一个值当成一行。
多值模型是把同一个数据源的不同指标放在不同列中,也就是每个数据源在每个时间点只会产生一行数据。
多值模型一定能用单值模型来模拟,多值模型在处理某些数据时更方便些,但是单值建模可以模拟所有场景。
时间序列数据的处理和一般数据库处理有所不同,一般数据库基于行,每一个数据点是一行,时间序列数据是按时间线处理数据。
每个时间线上的数据是非常关联的,比如某一个广告源收入在不同时间上就构成时间序列,这些时间序列中的收入可以画成一条变化曲线,针对曲线我们可以做时间序列变化处理,最常见的是插值和降精度。
由于数据源采样的原因,往往会丢失一些点,我们用插值在中间插上常见的线性插值或者零值补偿;如果广告数据不一定需要最细时间粒度来看,我们就可以降精度,不同数据降精度的方式不一样。
针对时间数据,还有一个最常见的处理——聚合,我们往往看的不仅仅是从一个数据源来的指标,如果我们要看北美地区某一个广告源在一段时间内产生的所有收入的总和,我们就需要把跟广告源标签对应的时间线全部挑出来,然后将广告收入时间点加和在一起,得到一个新的求和曲线,如图所示,我们找到了非常多的时间线,最后用某种聚合函数聚合在一起。
内存数据库 TimesTen 简介
第一,传统的数据库和应用程序是两个不同的应用系统, 它们之间的通讯是通过IPC连接来实现的;而TimesTen 则是直接把数据库的内存映射到应用程序的地址空间中, 简单来说,这时候TimesTen访问数据库中的数据,就象 访问应用程序自己的数组、字符串变量一样,只不过 TimesTen有一套完善的机制来实现数据的一致性和完整 性。这种直接嵌入到应用程序的运行地址空间机制比IPC 要高效很多。
Oracle TimesTen 内存数据管理软件由TimesTen数据库服务器、数据复 制选件和高速缓存选件三部分组成。
Oracle TimesTen In- Memory Database Oracle TimesTen In-Memory Database 是一个内存优化的关系数据库,它为应用程序提供了当今实 时企业和行业(例如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。Oracle TimesTen In-Memory Database 作为高速缓存或嵌入式数据库被部署在应用程序层中,它利用标准的 SQL 接口对 完全位于物理内存中的数据存储区进行操作。 Replication – TimesTen to TimesTen Replication – TimesTen to TimesTen 是 Oracle TimesTen In-Memory Database 的一个选项,它 支持服务器间的实时数据复制,以获得高可用性和负载共享。数据复制配置可以是双机热备份 (activestandby) 或负载均衡 (active-active),可以使用异步或同步传输,可以包含冲突检测和冲突解决以及在 故障服务器恢复后自动重新同步。数据复制与 Cache Connect to Oracle 选项完全兼容。 Cache Connect to Oracle Cache Connect to Oracle 是 Oracle TimesTen In- Memory Database 的一个选项,它为位于应用 程序层中的 Oracle 数据创建实时、可更新的高速缓存。它免除了后端系统的计算负担,并支持反应灵敏 且可伸缩的实时应用程序。Cache Connect to Oracle 能够将 Oracle 数据的子集加载到 TimesTen 中, 能够双向传播更新,能够使对非高速缓存数据的 SQL 请求的透传自动化,并能够在故障之后自动重新同步 数据。Cache Connect to Oracle 与 Replication – TimesTen to TimesTen 选项完全兼容。
