Oracle 内存数据库 TimesTen

系统 2266 0

Oracle 内存数据库 TimesTen 是一个针对内存进行了优化的关系数据库,它为应用程序提供了当今实时企业和行业(如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。(产品数据表)

Oracle 内存数据库 TimesTen 通过改变数据在运行时驻留位置的假设来提供实时性能。通过在内存中管理数据,并相应地优化数据结构和访问算法,数据库操作能够以最大效率执行,从而大大提高响应速度和吞吐量,甚至能够与完全使用高速缓存磁盘的 RDBMS 相媲美。Oracle 内存数据库 TimesTen 可嵌入到应用程序中,从而消除了进程间通信和不必要的网络操作,以进一步提高数据库操作的性能。

Oracle 内存数据库 TimesTen

内存数据库通常被误认为仅限于单用户应用程序,并且容易在服务器发生故障时丢失数据。对于 Oracle 内存数据库 TimesTen 而言,事实并非如此。使用带有提交后读取 (committed-read) 隔离的行级锁定机制,多用户和多线程应用程序变得很普通。通过内部记录版本消除了读程序和写程序之间的锁争用,从而提供了一致的响应时间和高级别的并发。 Oracle TimesTen 数据库是持久的且可恢复。 应用程序可以根据其性能要求选择事务 ACID 属性的设置。 根据标准关系数据模型,可以使用 SQL、JDBC 和 ODBC 访问 Oracle TimesTen 数据库。 任何熟悉 RDBMS 和 SQL 接口的开发人员使用 Oracle 内存数据库 TimesTen 可以立即提高开发实时应用程序的效率。

Oracle 内存数据库 TimesTen 支持各种部署配置以适应各种情况,从临时查找缓存到操作数据存储、再到任务关键的事务处理系统。

由于应用程序的任务关键特性,大多数部署都添加了 Replication - TimesTen to TimesTen 选件以实现高可用性和负载平衡。对于应用程序层缓存(如对面向服务的体系结构的支持),Cache Connect to Oracle 选件可将内存数据库扩展成一个可更新的缓存,从而管理 Oracle 数据库与 Oracle 内存数据库 TimesTen 之间的数据加载和同步。

TimesTen作为一个内存数据库,数据完全放置在内存中,那么它的数据持久性如何保持?以及如何实现高可用性保证的呢?
TimesTen的数据持久性是通过磁盘上的DataStore文件和Log文件保持的。TimesTen每一次操作,都会先缓存在内存的LogBuffer中,然后由后台的守护进程异步地同步到磁盘上的Log文件中。TimesTen每隔一段时间或者收集到一定的脏日志量后,就触发一次Checkpoint,将内存中变化的数据增量写到磁盘上的DataStore文件中,然后清除掉已经同步过的Log文件。所以当掉电,或者其它故障时,TimesTen可以通过这些文件进行自动恢复。

至于高可用性保证,如果是单节点,不想有任何的数据丢失,TimesTen可以通过设置参数DurableCommits =1来保证,即每次提交都强制性同步到磁盘上(缺省为异步方式),这种情况下,数据库写的性能会受到影响。所以如果既想保持高性能,又能保证数据的高可用性,TimesTen通过Replication机制完美地达到了上述两点,通过Replication,TimesTen在多个节点的之间保持数据的自动高效同步。节点之间由多种复制模式可以选择:Active-Standby,Active-Active,Active-Standby-Disaster Recovery等等;数据的传送模式也有同步、半同步、完全同步等三种模式。

TimesTen主要的四个用途:

1)主数据库:为实时应用提供服务的主数据库。这时候它和别的关系型数据库一样,作为整个应用系统中的一块:后台数据库,提供对数据的检索和更新功能。

2)实时数据管理:这时候TimesTen 和传统的数据库结合在一起,实时的数据存储在TimesTen中,而大量的数据还是存储在Oracle中,TimesTen和Oracle之间通过Cache Group来进行数据的交互。

3)消息中转:这时候TimesTen作为一个消息的中转站,可以在不同的应用之间架设一个消息传递的桥梁;不同的应用通过TimesTen,以消息的形式来进行数据的交互。

4)数据整合点

Oracle 内存数据库 TimesTen


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论