TimeSten相关收集

来源:互联网 发布:ios免费游戏推荐 知乎 编辑:程序博客网 时间:2024/05/17 07:09

-- 以下收集来自多个网站,无法一一明记来源

Oracle官方的QUICKSTART

http://download.oracle.com/otn_hosted_doc/timesten/1121/quickstart/sample_code/README_sample_code.html

段 1

Timesten作为一款纯内存数据库,由于比常规意义的数据库快10倍,在被Oracle收购前,主要用于交易非常高的场合,如交易撮合、电子商务等。在被Oracle收购后,理所当然要配合Oracle数据库使用。昨天上午参加了Oracle 11g的一个研讨会,终于清楚了Timesten的主要使用场景。

  Timesten为什么能比普通的数据库快10倍,主要是两个原因。(1)由于所有数据全部在内存,不需要从硬盘上取数据,当然速度大大加快。(2)应用和Timesten之间可以在同一台机器上直接访问,不需要通过网络TCP/IP。同时,由于Timesten全部数据在内存中,一定要和常规数据库配合,最终把数据变化写回常规数据库,把数据永久保留在磁盘上。Oracle是用Trigger方式来保持Oracle数据和Timesten数据一致的,当然Trigger是很消耗资源的,必须合理使用。

  明白了上述的几点,就可以明白Timesten的主要场景或使用方法。Timesten最好和Application server如Weblogic装在同一台服务器上,让APP server本机直接访问Timesten,以获得最佳性能。Timesten启动后,将Oracle数据中的常用表同步到Timesten中,APP Server要访问这些数据时,直接从Timesten中获得。比如电子商务中的产品SKU、价格、其他特性等。每一台中间件服务器上都装APP Server和Timesten,由于只读,各机器中的Timesten互相独立,互不影响。利用这种价格,可以大规模地扩展架构,提升交易的并发性。Sybase的ASE Server在11版时,就可以在数据库内存中专门配置特定cache来绑定某些热点数据表,而不会由于内存不足而又要从硬盘访问大量数据时,将这些热点数据swap回硬盘,原理和Timesten的这种使用方式是一致的。不过当时的硬件技术不像现在,服务器可以轻易达到512G~几TB内存,所以能绑定的数据表容量是有限的,限制了应用的使用。不过即使到现在,这种用法和Timesten比起来还是要慢一些的,因为APP Server还是要访问DB Server内存的数据,还是要通过网络TCP/IP的。

 

段2

TimesTen是一家私有的实时数据管理软件供应商,主要为证券交易、电信、网络等行业提供基础架构软件,并用这种软件进行事件管理、交易和数据的工作。TimesTen一般使用在实时计费系统、股票交易系统、呼叫中心系统、航线运营系统等。

 

2005Oracle已经将TimesTen收购。目前Oracle的客户常常使用TimesTen的架构产品,为Oracle数据库提供内存内缓存,大大提高产品的有效利用率和缩短反应时间

 

其实,TimesTen 就是一种针对内存进行了优化的关系数据库,而且也可以完全当作一个数据库产品来用。如果你的数据量不是非常大,而且没有一些特别的功能需求的话,你完全可以用TimesTen作为后台的数据库,取代OracleDB2Sybase SqlServer等传统的数据库。只不过对TimesTen来说,它会把所有的数据预先都 Load 到内存中,这也是它速度快的一个关键因素。

 

TimesTen主要的四个用途:

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

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

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

4)数据整合点:TimesTen可以将来自不同的数据源的数据整合到一起,从而作为一个单一的数据库为应用提供服务。

原创粉丝点击