oracle專用伺服器模式與共用伺服器模式

來源:互聯網
上載者:User

【轉自:http://bbs.51testing.com/thread-173827-1-4.html】

   一、共用伺服器模式。

  共用伺服器模式,也叫做多線程伺服器模式。在這種模式下,Oracle資料庫允許多個使用者進程共用非常少的伺服器處理序。所以,可以同時實現使用者並發訪問的人數也就大大的增加。如果使用專用伺服器模式,則每個使用者串連資料庫時,每個使用者進程需要他自己的專用伺服器處理序。也就是說,用戶端進程與伺服器端進程是一一對應的。
  而如果採用共用伺服器模式的話,則多個使用者可以共用一個伺服器處理序,也就是說,此時用戶端進程與伺服器處理序是多對一的情況。這主要是通過發送器來實現的。發送器將多個加入資料庫訪問會話請求指引到一個共用隊列。伺服器處理序共用池中某個閑置的共用伺服器處理序依次從隊列中獲得一個請求。也就是說,一個很小的伺服器處理序共用池可以為大量的客戶機提供服務。
  共用伺服器的優缺點可以利用兩句話概括。優點是用戶端進程多對一,增加了資料庫可以支援的使用者數。缺點就是各個使用者共用一個進程,對使用者訪問資料庫的效能有所影響。
  具體的來說,在以下應用情景下,可以選擇採用共用伺服器模式。
  1、 前台用戶端數量比較多。
  當大量使用者需要串連到資料庫並且需要有效使用可用的系統資源的時候,則需要考慮採用共用伺服器模式。具體的來說,像現在採用的一些用戶端/伺服器端模式的網路應用軟體,如ERP系統等等。一方面因為使用者人數比較多;另一方面企業由於資金有限,所以購置的是一般的伺服器。這些伺服器由於硬體方面的一些限制,如資料庫系統與前台應用伺服器採用統一台伺服器。所以往往要求資料庫能夠充分使用硬體資源,以減少兩者之間的衝突。
  在這種情況下,往往採用共用式的伺服器模式,比較合適。
  2、 伺服器記憶體限制比較大。
  共用伺服器模式下,當串連使用者增加時,其記憶體使用量率增加不會很多。因為他們共用一個伺服器處理序。所以,從這一個角度講,共用伺服器模式可以減少記憶體的使用。但在專用伺服器模式下,記憶體的使用幾乎與使用者的數量成比例增加。
  所以,使用者若在一些老的伺服器上部署Oracle資料庫的話,因為其主板對記憶體的升級有所限制,所以,為了得到一個不錯的資料庫效能,往往採用共用伺服器模式。如此,即時同時訪問資料庫的使用者有所增加,其記憶體也不會有多大的影響。可以大大的降低記憶體的壓力。
  3、 某些特定功能要求採用共用伺服器模式。
  雖然說,共用伺服器模式與專用伺服器模式在大部分情況下,都是通用的,支援Oracle資料庫系統的大部分功能。但是,某一些特定的功能,仍然需要資料庫管理員在共用伺服器模式下,才能夠啟用。比較典型的,如Oracle資料庫伺服器的串連共用、串連集中與負載平衡技術等等。他們必須在共用模式下才能夠運行。
  負載平衡用來在群集環境下實現多機共用資料庫,以保證應用的高可用性。同時可以自動實現平行處理以及均分負載,還能夠實現資料庫在故障時的容錯和無斷點恢複。所以,在一些對於效能與穩定性要求比較高的應用情境中,如銀行中,往往都會採用負載平衡技術。此時,資料庫管理員在設定資料庫的時候,就需要考慮採用共用伺服器模式。

  二、專用伺服器模式。
  在專用伺服器模式下,資料庫伺服器要求每個使用者擁有一個專用伺服器處理序。也就是說,每個伺服器擁有一個伺服器處理序。資料庫伺服器把現有的伺服器處理序地質發回客戶機,然後客戶機將串連請求重新發送到提供的伺服器地質,與專用伺服器比較。專用伺服器模式由於用戶端與伺服器端進程是一一對應的,所以,其效能上可能會比較有優勢。但是,當使用者比較多的時候,則其對伺服器的硬體資源,特別是記憶體,會產生比較大的壓力。
  若公司專屬應用程式情境符合如下特徵的話,則採用專用年伺服器模式能夠取得比較好的效果。
  1、 只有少數用戶端。
  若串連到資料庫的使用者比較少,則專用伺服器模式是首選。如企業前台是一個財務管理系統,則其使用的人數就會比較少。因為其往往只涉及到一個部門。但是,其資料量會比較多。因為我們知道,對於每一筆交易都需要在財務系統中進行詳細的紀錄。所以,雖然只是財務一個部門用,但是其紀錄量往往是其他各個部門紀錄量的總合。在紀錄量多、串連使用者又比較少的情況下,採用專用伺服器模式,可以說是比較明智的選擇。
  2、 為資料倉儲搭建的資料庫系統。
  資料倉儲是資料庫技術的一個非常典型的應用。他是一個面向主體、整合、時變、非易失的資料集和,是支援管理部門的決策過程。他跟Oracle資料庫一樣,都是關係型資料庫,其中的紀錄以表格的方式儲存,並且能夠用統一的結構化語言進行資料查詢。採用資料倉儲的主要目的,是為了及時完成業務處理,及時給與客戶響應。
  雖然說,關聯式資料庫能夠適應大型資料庫應用的需要,但是,不能夠將其簡單的堆砌就直接成為資料倉儲來使用。因為資料倉儲主要用來處理多維資料。他儲存紀錄的方式跟普通的有所不同。資料倉儲主要通過數組方式來儲存紀錄,即沒有統一的規律可循,也沒有統一的多維模型可循,他只恩能夠購按其所屬類別進行歸類。雖然說傳統的二維資料庫不能夠簡單的堆砌來成為資料倉儲。但是,在設計資料倉儲的時候,並不是說要完全另起爐灶,而是可以利用現有的Oracle資料庫系統來處理資料,從中進行資訊的綜合,從而構造出滿足不同需要的資料倉儲。
  所以,如果這個資料庫是為了實現資料倉儲而搭建的,則必須要採用專屬伺服器模式。這是Oracle資料庫的強制要求。
  3、 聯機交易處理系統。
  聯機交易處理系統,英文簡稱為OLTP。在這種應用下,採用什麼模式為好呢?這在業界,沒有統一的標準。有的說因為聯機交易處理系統使用人數比較多,應該採用共用串連伺服器模式;而有的又說聯機處理系統對於及時性要求比較高,而共用伺服器模式可能會有比較長的等待時間,所以應該採用專用連線伺服器模式。筆者是比較傾向於後面這種意見。
  聯機交易處理系統,通常來說,有比較多的長事務與大事務。如使用者的某幾個操,必須作為一個交易處理等的觀念。此時,若使用者請求數大於共用伺服器處理序數的話,此時,就會發生排隊現象。假設現在有一個共用伺服器處理序正在執行一個長事務,那麼請求隊列就需要一直等。直道這個事務完成為止。若從用戶端的角度來講,則客戶請求的回應時間就加長了。所以,當使用者的串連請求數比共用進程要多時,那麼長事務的共用串連必將會造成共用進程的排隊。事務越長,其排隊的時間也就越長,使用者響應的時間也就越長。如此惡性迴圈下去的話,很多聯機事務作業都會受到不同程度的影響。所以,若聯機交易處理系統統是符合兩個條件(使用者串連請求數大於共用進程並且其事務大部分是長事務或者大事務),則採用專用伺服器串連模式比採用共用伺服器串連模式效率要高。為了保障聯機交易處理系統正常運行,筆者建議資料庫管理員為其配置專用伺服器串連模式。若不符合這兩個條件的一個,則採用共用串連模式更加合理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.