一年前,一个在Oracle工作的朋友,提起了Timesten,而且告知我,他们的timesten已经在非常多的实时系统中開始推荐使用,而且包含一些银行系统,也開始尝试着用timesten进行生产,也就记下了这个Timesten,而且立即下载了Timesten的数据库,安装在自己的机器上,结合Timesten的文档,開始摆弄起来这个产品。只是那个时候,还是在公司里上班,也就是利用空余的时间学习和琢磨这个东西,并没有总结下来,因为平时公司和自己都是使用Oracle,也不好使用TImesten,隔以时日,知道上个月看到CSDN里的朋友,发了一个有关Timesten的求助的帖,才有一次重拾曾经对Timesten的初识,又一次复习和回想了曾经对TImesten的认识,而且也帮助新认识的客户,清理了他们对Timesten的使用上的错误,并对其Timesten的服务进行了规划和优化,从而攻克了他们的问题,也提高了自己。 在这里我将持续的对Timesten关注,并把自己对Timesten的认识总结下来,以作參考。
首先我们还是从概要上了解Timesten这个产品。 
Timesten是内存数据库,是Oracle的一个产品,Oracle在数据库这块有三个主要产品,一个就是Oracle,一个就是这里要介绍的Timesten,另一个就是Oracle berkeley db, 这个我在一个csdn的回帖里以前提到过,这三个产品都是数据库产品,可是其主要面向的功能和实施的体系互不同样,所以三者并不冲突。Oracle是我们传统的数据库,Timesten是以性能为优先的内存数据库,而Berkeley是嵌入式数据库。所以三者全然应用于不同的应用架构中,解决不同的问题。我们这里主要介绍的Timesten的基本的体现上就是全然的内存进行数据库的存储,所以提供了更优的性能。
1992年HP试验室開始了Timesten项目,该项目主要针对电信网络应用,对内存数据库进行一些深入的研究,到1996年,该项目的主要成员自立门户,(呵呵呵,好像非常多伟大的产品都是如此,比方Oracle源自于IBM的DB2团队,SAP源自于Oracle团队,Pointbase也是源自于Oracle团队成员Scott,C#的首席架构师也是Bill从Java的首席架构师挖过来的) 独立成立自己的公司,在当年公布了Timesten的第一个商用版本号2.0,2001年该产品添加�了Cache connect组件,提供了In memory的方案和Oracle集成,提供Oracle的cache功能。也就慢慢被Oracle关注,2005年6月16日,Oracle和Timesten达成收购协议,从此Timesten正真的被整合成为Oracle的产品之中的一个, 2009年7月29,Oracle宣布正式推出Timesten 11g和Timesten 11g In-memory database cache,Timesten正式開始走上商业之路。
Timesten通过改变数据在内存中的位置的方式来提供高性能的实时服务,把数据所有载入到内存中进行管理,通过对数据结构和数据訪问的算法的优化,使得数据库能够以效率最高效的运行数据的操作,而且Timesten能够嵌入到应用中,这样能够避免进程通信或者是socket通信带来的一些不必要的性能损耗,从而进一步提高了数据库的訪问性能。Timesten能够用于in-memory和Oracle集成,也能够client/服务端的调用,同一时候支持事务,和一致性读和commit写的事务隔离级别,而且支持表锁,行锁,在内存管理中也有latch的支持,从而提供稳定的并发性的处理,和全然满足工业生产须要的并发机制和特性。提供了JDBC和ODBC的接口支持,使得开发者非常easy使用其进行数据库上的开发。同一时候在高级特性上,Timesten支持replication和恢复的功能,这些也是工业生产中所必须具备的特性。
下面是Timesten的支持
in memory database cache集成
sql 92
jdbc odbc
replication
restore recovery
import export
consistance read and commit write
这里的特性足以让工业生产使用,只是眼下对Timesten做非常深入研究的人还是少数的,只是我想在11g的Oracle产品规划中,这个Timesten的出现势必会有非常的人关注进来,所以Timesten的技术势必会吸引很多其它的技术人员的研究和客户的青睐。
下一片Timesten的文章,我们将从Timesten的安装開始,带领大家一下開始Timesten的实践之旅。

和Timesten有个约会--Timesten技术专栏系列(一)的更多相关文章

  1. AlteraFPGA使用通用SPIFlash - 张亚群的技术专栏 - 博客频道 - CSDN.NET

    AlteraFPGA使用通用SPIFlash - 张亚群的技术专栏 - 博客频道 - CSDN.NET Altera器件有EPCS系列配置器件,其实,这些配置器件就是我们平时通用的SPIFlash,据 ...

  2. 【转】Entity Framework技术导游系列开篇与热身

    转自:http://blog.csdn.net/bitfan/article/details/12779517 Entity Framework走马观花 之 把握全局 ================ ...

  3. 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...

  4. 恒天云技术分享系列4 – OpenStack网络攻击与防御

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...

  5. MFC技术内幕系列之(四)---MFC消息映射与消息传递内幕

    ////////////////////////////////////////////////////////////////////////////////////                 ...

  6. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  7. Azure IoT 技术研究系列3-设备到云、云到设备通信

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

  8. Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别

    上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...

  9. Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较

    上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别: Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 本文中,我们比较一下Azure IoT Hub和 ...

随机推荐

  1. iOS 7 自定义Back按钮 与 Pop interactive gesture 问题

    1.自定义Back按钮 iOS中很多时候我们都会自定义返回按钮,也是一件easy的事,类似如下: // 返回按钮 1 - (void)showNavBackButton { UIButton *bac ...

  2. TextView字体和背景图片 设置透明度

    背景图片透明度设置  viewHolder.relative_layout.getBackground().setAlpha(225);     0  ---  225 ((TextView)tv). ...

  3. 16、编写适应多个API Level的APK

     确认您是否需要多apk支持 当你试图创建一个支持跨多代android系统的应用程序时,很自然的 你希望你的应用程序可以在新设备上使用新特性,并且不会牺牲向后兼 容.刚开始的时候认为通过创建多个ap ...

  4. Cyborg Genes

    题意: 给两个字符串,求最短的以两字符串为子序列的字符串和个数 分析: 最长公共子序列的变形,num[i][j]表示个数 #include <map> #include <set&g ...

  5. HDU5764 After a Sleepless Night 树形乱搞题

    分析(官方题解): 假设根已确定,可以发现新树若合法,需满足以下性质:根节点是n:儿子的值不大于父亲:具有相同值的节点形成一条链,并且链不会发生“分叉”(即有多个最低点).所以对于新树中有出现的值x, ...

  6. nginx配置:location配置方法及实例详解

    今天深入研究了下nginx的location的用法,已经一些需要注意的细节,现在做一个归纳总结,以备后面查询. location匹配的是nginx的哪个变量? $request_uri locatio ...

  7. C++ 我想这样用(三)

    话接前篇,继续谈在C++环境下使用C风格编程时的注意点: 6.关于原型的声明 在C里,调用一个未声明的函数是允许的,但是在C++里,必须先声明才能调用函数.另外,如果函数的参数是空的,那么在c里面是未 ...

  8. Android Application Project 工程目录下各个文件的意思

    (1) src:源文件,主要是完成java代码的编写 (2) gen:ADT即系统自动生成的JAVA文件(即源代码目录),程序员千万不要去修改 (3) gen->[Package Name]-& ...

  9. HDU5734:Acperience(方差)

    题意: 给出n个数xi,确定一个值α,使得Σ(xi-α)^2的值最小. 分析: 可以猜想是方差,不懂得可以去方差了解一下. 那么α即为∑(xi)/n,然后要注意的是转化为分数,首先我们不能用小数转分数 ...

  10. Java集合排序(看完秒懂)

    比如将一个List<Student>排序,则有两种方式: 1:Student实现Comparable接口: 2:给排序方法传递一个Comparator参数: 请看下面的举例: Studen ...