在那些开口闭口就是多少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不误。其中询价这种操作还取消了持久化消息的步骤。
分享到:
相关推荐
在SOA战略方面,Oracle选择了保留和增强自身的SOA产品体系,包括Oracle BPEL Manager、Oracle Service Bus(ALSB)、Oracle Enterprise Service Bus、Oracle Human Workflow、Oracle Rules、Oracle Data Integrator...
Oracle和BEA WebLogic的BPM(业务流程管理)是企业级软件开发的重要领域,它涉及到了企业系统中流程的设计、执行、监控和优化。在Oracle收购BEA后,这两家公司的技术进行了深度融合,形成了更加强大的BPM解决方案。 ...
Oracle收购BEA的原因分析 Oracle收购BEA的事件让人们感到非常突然,BEA作为业界知名的 middleware vendor,曾经是SOA解决方案的主要研究者和领导者。然而,BEA却被Oracle收购了。这是什么原因呢?我们需要从技术...
BEA WebLogic Server的部署灵活性体现在与主流数据库、操作系统和Web服务器的紧密集成。这允许用户在多种环境下部署应用,而无需进行大量的系统调整。关键任务的可靠性是WebLogic Server的另一大亮点,其经过全球数...
BEA Tuxedo是一款高性能的企业级交易处理系统,它提供了服务导向架构(SOA)的基础设施,用于构建分布式应用系统。Tuxedo以其高效、可靠的事务处理能力而著名,尤其适合金融、电信等对性能和稳定性要求极高的行业。 ...
**BEA Weblogic配置Oracle连接池详解** BEA Weblogic Server(WLS)是一款功能强大的应用服务器,它支持多种数据库连接,包括Oracle数据库。配置Oracle连接池是确保Weblogic能够高效、安全地与Oracle数据库交互的...
Oracle BEA SOA技术在铁路信息化解决方案中的应用旨在解决传统铁路信息系统中信息孤岛的问题,以提高信息和流程的自由流动。随着铁路系统的不断发展,各业务系统间的互连互通成为日益紧迫的需求。BEA提供了先进的SOA...
Java 高性能系统常见设计与优化是指在 Java 语言中设计和优化高性能系统的方法和技术。高性能系统的设计和优化是 Java developer 的重要任务之一,因为高性能系统可以提高用户体验、提高系统的可靠性和可维护性。 ...
Oracle WebLogic Server是一种企业级的应用服务器,它提供了丰富的功能,包括服务集成、集群、高可用性和负载均衡等。针对WebLogic Server进行高级性能调优是一个重要课题,其目标是确保应用服务器能够高效、稳定地...
剖析Oracle并购BEA之策略意涵.doc
Oracle JRockit是一款高性能、轻量级的Java虚拟机(JVM),由BEA Systems开发,后被Oracle公司收购并整合到其产品线中。Oracle JRockit在Java应用程序的运行效率、内存管理和垃圾回收等方面表现出色,尤其适合对性能...
BEA Tuxedo的优势在于其高度可扩展性、高吞吐量和低延迟,这使得它成为电信、金融和其他关键业务领域的首选中间件。在电信行业中,Tuxedo广泛应用于运营支持系统(OSS)和业务支持系统(BSS),如计费、客户服务和...
WebLogic Server的集群功能能确保高可用性和故障切换,而其丰富的管理工具则便于系统运维和性能优化。 5. **WebLogic与J2EE的集成**:学习如何配置和部署J2EE应用到WebLogic Server上,包括WAR、EAR文件的打包和...
BEA TUXEDO,作为一款高性能的中间件产品,被广泛应用在中国众多行业的核心系统中。本文将详细介绍如何在TUXEDO环境中实现与ORACLE数据库的互连。 在传统的两层C/S架构中,客户端直接与数据库进行交互。但引入...
两大知名的产品家族——IBM WebSphere和BEA(后被Oracle收购)WebLogic,都提供了强大的中间件解决方案,用于构建、部署和管理复杂的分布式应用程序。这两款产品在功能、性能、可扩展性、管理和安全性等方面都有各自...
BEA Tuxedo 是一个基于事务的中间件平台,旨在提供高性能、可靠性和可扩展性的分布式应用程序解决方案。结合 WebLogic 服务器,BEA Tuxedo 可以提供一个强大的企业级应用程序平台。本文将对 BEA Tuxedo 进行简介,并...
BEA Tuxedo 是一款由BEA Systems(现已被Oracle收购)开发的企业级分布式计算中间件,它提供了事务处理监控(Transaction Processing Monitor,TPM)服务,支持C和C++等语言进行应用开发。Tuxedo 提供了高效的通信...
**BEA WebLogic Server**是Oracle公司之前BEA Systems开发的一款企业级Java应用程序服务器,它提供了全面的Java EE(现在称为Jakarta EE)支持,用于构建、部署和管理分布式网络应用。这本书“BEA WebLogic Server...