timesten内存数据库

为什么现在内存型数据库越来越流行,关注者和使用者越来越多呢???
关键原因就是大家对随着IT系统的逐渐大规模使用,数据量越来越大,支撑的用户也越来越多,导致系统越来越慢,用户不满意! 如果你在去网上银行做一个转账操作,折腾了2分钟后,告诉你,无法转账,然后你在执行一次,还是2分钟后,告诉你系统无法完成转账,我相信你会崩溃的。
所以大家对it系统的实时性和可控的响应时间要求越来越高了,因为客户需要。。
现在有了需求,而且这些需求是现有的基于磁盘存储的关系型数据库无法满足的,所以出现了内存型数据库。比如最出名的timesten,当然还有韩国的altibase,以及eXtremeDB等等。。


为什么内存型数据库能够那么快,能够保证响应时间呢,满足客户需要呢?
我们来看看这组数据,看看内存型数据库 timesten到底有何绝招:
timesten平均修改记录时间 30*百万分之一秒
timesten平均读取记录时间 10*百万分之一秒
比oracle快11到40倍

有感觉了吧,快10倍以上哦,真的很快哦。所以现在timesten在电信,金融等对系统实时性要求很高的行业应用越来越多,
连上海证交所也用了timesten .


既然都是数据库,为什么timesten能够快那么多呢??
1.整个数据都在内存中,不用考虑数据在磁盘上的情况
2.专门针对内存的访问类型做了优化
3.没有oracle里面buffer cache管理的额外负担
4.因为不需要考虑数据在磁盘上,需要从磁盘取数据的种种情况,代码就更加简洁,所以快
5.更少的程序代码和指令,所以快。。
6.程序能够直接通过内存直接访问timesten,不需要tcp/ip的开销了,当然更快了

timesten除了上面提到的优异的性能外,还有几项绝活
1.能够和oracle后台数据库做无缝集成,数据可以在timesten和oracle直接双向流动,可以做到实时
2.timesten可以做成多节点并行提供服务的模式,数据在多个timesten之间直接实现实时或者非实时的传输,
进一步提高了系统的扩展性和可靠性。

timesten除了上面提到的优异的性能外,还有几项绝活
1.能够和oracle后台数据库做无缝集成,数据可以在timesten和oracle直接双向流动,可以做到实时
2.timesten可以做成多节点并行提供服务的模式,数据在多个timesten之间直接实现实时或者非实时的传输,
进一步提高了系统的扩展性和可靠性。

1. 十五年内存数据库的历史,成熟稳定的产品
TimesTen 源于1992年HP试验室,当时主要目的是针对电信网络应用,使用内存数据库技术进行一些深入研究,于1996年,由该团队核心人员成立独立运作公司,并 在1996年发布TimesTen第一个商用版本(TimesTen2.0),2001年,产品中增加Cache Connect组件,以至产品可以和Oracle无缝集成,2005年由Oracle收购,到今天为止,该产品已经有15年历史,有多达11个主要的发布 版本产生,全球已经有1500+的企业用户。


2. 性能高效--闪电式的反应速度,极高的并行吞吐量
Oracle TimesTen In-Memory Database 通过将应用库嵌入到应用程序内部,从而消除了上下文切换和不必要的网络操作,大大提高了数据访问性能,并通过在内存中管理数据并相应地优化数据结构和访问 算法,同传统的基于硬盘的关系数据库相比, 即使把要访问的数据从硬盘全部缓存到关系数据库的内存中(如Oracle SGA的数据缓存Data Buffer), 无论从响应性和吞吐率, timesten都有显著的提升。实时数据管理有两个性能维度 — 响应时间和并行吞吐率。使用 Oracle TimesTen In-Memory Database,读取一条数据库记录的事务将花费不到 9 微秒的时间(1 微秒等于 1 百万分之一秒),而更新或插入一条记录的事务将花费不到 28微秒的时间。因此,即使在拥有很少处理器的系统上,吞吐率也是以每秒上万到上十万事务计的。


3. 与oracle无缝集成,无需编码即可实现与Oracle双向同步
Cache Connect to Oracle 是 Oracle TimesTen In- Memory Database 的一个选项,它为位于应用程序层中的 Oracle 数据创建实时、可更新的高速缓存。它免除了后端系统的计算负担,并支持反应灵敏且可伸缩的实时应用程序。Cache Connect to Oracle 能够将 Oracle 数据的子集(可以选择您需要装载的表或者指定表的某些列)加载到 TimesTen 中,无需任何编码就能够实现双向数据同步更新,从而实现和Oracle无缝集成。


4. 应用透明转换, 全面支持Oracle RAC集群技术
Timesten全面支持Oracle RAC集群技术, 如果发生Oracle RAC某个结点不幸宕机时, 作为Oracle RAC这个结点的客户端的Timesten应用会自动的连接到Oracle RAC的另一个结点, 整个过程完全透明, 无须任何人工干预. 这也就是我们常说的TAF(Transparent Application Failover)应用的透明转换. 同时, Timesten还支持Oracle RAC所特有的FAN技术(Fast Application Notification)以保证在任何RAC结点宕机, 您的应用会及时的被切换,不需要任何等待. Timesten还通过Replication复制的机制来实现应用在Timesten实例间的自动切换.


5. 获得国际专利的MicroLogging®内存数据引擎
通常用户自己开发的内存应用,将数据管理器库嵌入到应用程序中可能会使数据存储区在应用程序进程异常终止时容易遭到破坏。Oracle TimesTen 解决了这一难题。Oracle TimesTen 库使用已获得国际专利的内存数据引擎(称作“MicroLogging”)保护自身不受应用程序进程故障的影响。内存中数据库保持一致,并且其他应用程序 不受影响而继续运行,因此,其他内存数据库很难做到将数据管理器库嵌入到应用程序中。


6. 便捷、灵活的开发及部署
Oracle TimesTen In-Memory Database 支持灵活的配置, 无论是单结点, 双结点, master/master, master/slave, 不用任何编程,以适应大量的情形(从临时查找高速缓存到操作数据存储,再到任务关键的事务处理系统)。虽然内存中数据库通常内嵌在应用程序内部,但同样也 为诸如报表之类的辅助功能或者当大量应用程序层平台必须共享一个通用内存中数据库的访问时支持传统的客户端/服务器访问,另外,Oracle TimesTen除了提供高效的ODBC开发接口外,也为C++用户提供快捷方便的ttclasses接口类,大大减少了用户开发时间。


7. 支持各种的后台数据库集成(DB2、SQL Server、Sybase 等等)
Oracle TimesTen 提供了开放式事务日志 API (XLA) 来读取事务日志,XLA 是一个轻型“触发器”。可用于构建从 Oracle TimesTen 到其他数据库的自定义数据复制,当TimesTen数据被更新,XLA接口被触发,用户可以将更新的数据与其他各种后台数据进行集成,从而实现和其他数据 库的集成,同时Oracle TimesTen提供标准 JMS 接口的XLA API,用户可以通过JMS 服务实现和其他异构数据源的集成。


8. 支持与多种应用中间件(OAS,WebLogic,Websphere)和交易中间件(CICS 和 Tuxedo)集成
Oracle TimesTen提供标准 APIs (ODBC, JDBC, SQL-92),同时支持分布式事务(XA和JTA),对于应用中间件(OAS、Weblogic、Websphere等),用户可以通过JDBC配置, 实现中间件通过JDBC访问TimesTen数据库。由于TimesTen提供基于c和c++语言的应用开发接口,用户可以非常方便的将交易中间件 (CICS和Tuxedo)和TimesTen互连。


9. 支持多种平台及提供丰富的应用开发接口 c/c++/.net/java
Oracle TimesTen支持多种平台及不同的处理器:
同时提供丰富的编程语言接口:提供c、c++、.net、java语言开发接口支持。


10.全面支持多国语言
对全球化客户的完全支持,支持多达57种非ascii码字符集的数据存储。如:AL32UTF8,ZHS16GBK,ZHS16BIG5,UTF-8等, 支持多达84种语言的检索,排序,比较,取长等操作,正如Oracle express数据库所提供的。支持在不同数据源之间不同字符集的自动转换。支持在多语言列上的索引,提供高效的多语言运算性能。


11. 具有强大的支持团队及产品永久支持
Oracle的先进的技术和服务受到了中国用户的广泛认可和信任,目前Oracle中国公司有70%为技术、咨询和研发服务人员。TimesTen 作为Oracle 产品家族中新的一员,将得到 Oracle 公司的强大技术支持,在为客户提供灵活、高效的培训方式的同时,产品也将得到进一步的融合,TimesTen发展的步伐将会越来越快,越来越稳健。 2007年 新的TimesTen 版本 7.0 将发布。


12. 提供7*24小时不间断服务
由于TimesTen大量使用在一些关键型业务上,大多数部署都添加了 Replication – TimesTen to TimesTen 选项来实施双机热备份 (active-standby) 或负载均衡 (active-active) 配置,以实现高可用性和负载均衡。Cache Connect to Oracle 选项为应用程序层高速缓存(例如对面向服务的体系结构的支持)将内存中数据库扩展为可更新的高速缓存,以管理 Oracle 数据库和 Oracle TimesTen In-Memory Database 之间的数据加载和同步,从而实现7*24小时不间断服务,比如:爱立信使用TimesTen就实现了6年不宕机的服务。

猜你喜欢

转载自sqcwfiu.iteye.com/blog/1250235