高效能大輸送量系統中Oracle與Bea旗下的兩支奇兵

來源:互聯網
上載者:User
   在那些開口閉口就是多少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不誤。其中詢價這種操作還取消了持久化訊息的步驟。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.