在那些开口闭口就是多少TPS(Transaction per Second)的系统里,Oracle TimesTen内存数据库与BEA的Weblogic RealTime算是两支奇兵。
一、Oracle TimesTen Oracle TimesTen是Oracle收购的一款内存数据库。Oracle的SQL无论如何打生打死的优化,始终逃不开两个性能的瓶颈:
1.读取硬盘。
虽然大家一般都开了几G内存作缓存,但你毕竟不能编程控制把哪些数据载入缓存,更重要是数据库的基本算法设计是按读取硬盘为前提。而内存数据库是天生就完全基于内存的。
2. C/S模式的进程间通信。
无论是管道,本地Socket还是远程Socket形式的进程间通信(IPC),性能消耗都不能无视,所以我们经常要注意数据库交互的往返次数。而TimesTen直接开在共享内存中,Client通过Driver直接读取共享内存,快呀。
以上两点天然优势是众多内存数据库都拥有的,如做了好多电信生意的Altibase,如ExtremeDB,但Oracle TimesTen好在被Oracle收购了,与Oracle能够很好的互联。
内存数据库可以将自己持久化到硬盘文件,但在很多场景中,它只负责部分数据的读缓存,实际的整体业务数据仍在统一的大数据库里。这时候TimesTen就显示出无比的社会主义优越性:
1. 启动时快速的从Oracle载入部分表的部分数据(用SQL配置)到TimesTen,速度比自己用程序手工查询再放入内存数据库要快得多。
2. 当Oracle的数据发生变化,会自动增量同步到TimesTen,这个解放了好多生产力阿。以往处理同步只有两条路子走:
一是业务系统在更改数据的同时发送JMS消息,由负责维护内存数据库的进程侦听这条消息。
二是利用Oracle SQLJ功能,设Trigger调度由Java写的存储过程,将变动的消息发出去。
二、Weblogic Real Time Core Edition Weblogic 提供实时环境所要求的快速、可预测的响应时间与无暂停的应用平台,benchmark 应用最多只有30ms的延迟。
所谓实时其实分两种
1:硬实时:定义了一个系统,其中所有可调度和不可调度的实体的执行都要遵守规定的完成时间约束。其它时间约束(也称为“上界”)可能也必须满足。实体的行为和运行时间是可预测的、确定的。
2:软实时:表示不属于硬实时的所有其它实时情况。所有时间约束都是软性的。基本上,这就意味着所有可调度和不可调度的实体都可能被优化以便以最佳状态执行,但是执行时间不可预测。
WLRT明显属于软实时,它由几个部分组成:
1. Weblogic Express Basic
A webserver with JDBC, JSP, Servlets, and RMI, but not EJB, JCA, JMS, or XA Transactions。
2. JRocket
使用确定性垃圾收集(DetGC)的高性能JVM。DetGC是整个WLRT的核心卖点。垃圾收集对Java性能有着很大的影响。在full垃圾收集期间,Java进程会完全停止。确定性垃圾收集避免了其他虚拟机中无法预测的暂停时间,从而支持最短的事务延迟。
3. Weblogic Spring Framework
不要笑啊,就是Spring了,使用POJO作为EJB的替代方案。配合Weblogic Basic Express,不知道Tomcat+Spring与它的差距有多大。
另外,看这篇WebLogic Real Time 1.0“Trader”应用程序性能分析
http://dev2dev.bea.com.cn/techdoc/20060620820.html,可以看到金融实时系统里全用JMS,而不是Corba,EJB或者Web Service,即使是Request/Response的形式,而不是那种典型的异步调用,照样JMS不误。其中询价这种操作还取消了持久化消息的步骤。
分享到:
相关推荐
Oracle收购BEA后的中间件以及SOA产品线战略分析
最新的来自Oracle公司的bpm资料,是Oracle公司收购bea 公司后的bpm资料
BEA WebLogic Enterprise Platform和ORACLE RAC解决方案.doc
剖析Oracle并购BEA之策略意涵.doc
BEA_Weblogic_配置Oracle连接池 轻松搞定
BEA为何会被Oracle收购?.pdf
要想实现铁路系统信息和流程的自由流动并不是一件容易的事情,不可能一蹴而就,必须分步实施: 首先要将传统的IT系统架构转向面向服务的架构(SOA); 其次要对SOA的整个生命周期进行全面的管理,使服务能够“构建一次...
Bea Portal 布局样式设计参考文档
本文档介绍了tuxedo配置、常用命令、配置问题、常用函数等
J2EE 应用与 BEA WebLogic Server
《J2EE应用与BEA WebLogic Server(第2版)》探讨了J2EE的BEA实现。全书共分为18章,每章分别对应于使用J2EE和WebLogic Server开发Web应用程序的各个阶段,并且都围绕特定的Java Enterprise技术来组织,包括模型-视图-...
J2EE应用与BEA.WebLogic.Server第2版
SOA这个名词,几年前就经帯在网上看到戒者在一些讲座中听到,但自己真正比较“近距离”接触“SOA”,还是在去年的“中国IT精英年会”上,当时IBM大中华区的老总大谈IBM 的SOA,BEA公司(当时还没被Oracle 收购)也讲了很多...
J2EE应用与BEA.WebLogic.Server第二部分 文件较大压缩成4部分传输的
J2EE应用与BEA.WebLogic.Server第三部分 文件较大压缩成4部分传输的
已经有许多家厂商取得了Sun公司的许可,如BEA System、Sybase、Oracle以及Fujitsu等等。Sun还推出适用于Linux的J2EE。无疑,J2EE为企业勾勒了一幅具有更强的伸缩性、开放性、安全性且简单易用的未来应用的蓝图。 ...
IBM WebSphere家族产品与BEA WebLogic家族产品比较
由于本书太大,所以压成了4个文件,要把4个文件全部下载了,才能解压。 美河提供.J2EE应用与BEA.WebLogic.Server第2版。
BEA WebLogic Server book(中文),还可以把,没分了多传点搞点分在说 呵呵。
BEA WebLogic Server™ 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。...BEA WebLogic Server 8.1 为 IT 创新提供了更高的效率、性能和赢利能力,能使企业保持强大实力,灵活地驾驭 Internet 经济浪潮。