一年前,一个在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. hdu 3047 Zjnu Stadium(加权并查集)2009 Multi-University Training Contest 14

    题意: 有一个运动场,运动场的坐席是环形的,有1~300共300列座位,每列按有无限个座位计算T_T. 输入: 有多组输入样例,每组样例首行包含两个正整数n, m.分别表示共有n个人,m次操作. 接下 ...

  2. Windows下Qt开发环境:OpenGL导入3DMax模型(.3DS)

    参考:http://blog.csdn.net/cq361106306/article/details/41876541 效果: 源代码: 解释: CLoad3DS.h为加载3DMax模型的头文件,C ...

  3. 【windows核心编程】一个HOOK的例子

    一.应用场景 封装一个OCX控件,该控件的作用是来播放一个视频文件,需要在一个进程中放置四个控件实例. 由于控件是提供给别人用的,因此需要考虑很多东西. 二.考虑因素 1.控件的父窗口resize时需 ...

  4. 【windows核心编程】 第八章 用户模式下的线程同步

    Windows核心编程 第八章 用户模式下的线程同步 1. 线程之间通信发生在以下两种情况: ①    需要让多个线程同时访问一个共享资源,同时不能破坏资源的完整性 ②    一个线程需要通知其他线程 ...

  5. exists与in的使用与区别

    1.in的使用举例 select * from tableA where id in (select id from tableB) 2.exists的使用举例 select * from table ...

  6. Gym 100507C Zhenya moves from parents (线段树)

    Zhenya moves from parents 题目链接: http://acm.hust.edu.cn/vjudge/contest/126546#problem/C Description Z ...

  7. HDU 5623 KK's Number (博弈DP)

    KK's Number 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/K Description Our lovely KK h ...

  8. 在 Web 层应用程序中使用Spring

    前面已经配置成功后,就可以在Web 层的Servlet或Jsp中调用访问Spring了,如果你 编制的是一个Servlet/Jsp 程序,那么在你的Servlet/Jsp 使用下面的代码通过Sprin ...

  9. c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思

    按位取反,简单地说就是二进制1变0,0变1 由于scanf是有返回值的,且返回值为int型 特别的此处用法导致只有scanf返回-1,循环才会结束,也就是要返回EOF while (~scanf(&q ...

  10. Java NIO类库Selector机制解析(下)

    五.  迷惑不解 : 为什么要自己消耗资源? 令人不解的是为什么我们的Java的New I/O要设计成这个样子?如果说老的I/O不能多路复用,如下图所示,要开N多的线程去挨个侦听每一个Channel ...