標籤:
1. sybase 和 oracle 比較 http://blog.itpub.net/14067/viewspace-1030014/
Oracle採用多線索多進程體繫結構
Sybase採用單進程多線索體繫結構
Oracle和Sybase都採用多線索。
採用多線索的模式,能用較少的線索管理大量的使用者進程;並且,線索進程是動態可調整的,當使用者數增加時, 線索進程也會階段性地自動增加;當使用者數減少時,線索進程也會自動減少。多線 索結構,大大降低了Oracle和Sybase對系統資源的佔用,提高了系統資源的利用率。
對於Oracle的體繫結構,在集中式多使用者環境下,每個使用者單獨佔用一個伺服器處理序;在Client/Server 和Internet方式下可以採用多個使用者共用進程,以多線索方式執行使用者的請求。另外,針對特別層級的使用者,可以單獨佔用一個 伺服器處理序,實現最優層級的使用者請求。Oracle的伺服器處理序是用來同時處理 資料庫請求的,它們從請求隊列中拿出申請,進行文法分析、許可權檢查以及一系列的內部操作,並協調Oracle其他後台進程,以共同完成申請的處理,並把操 作結果返回到回答隊列。Oracle多伺服器處理序結構,能實現資料庫事務的並行 處理,提高並發交易處理的響應速度。並且多伺服器結構具有非常靈活的擴充 性,當硬體平台處理能力提高時,伺服器處理序的個數也能隨之增加,資料庫性 能也隨之提高。多伺服器結構,避免了單伺服器結構中很容易造成的伺服器進 程瓶頸現象,也避免了因此而引起的單伺服器處理序死結的現象。
Sybase採用單進程多線索方式,使用者請求都由一個進程來進 行總的調度和管理。在單伺服器並採用單一的Client/Server模式下其對資料庫的管理比較簡單,記憶體資源佔用較少,在並發使用者數較少的情況下,其對系統資源的利用率比採用多進程方式要高;但同時,當並發使用者數達到一定的數量時,會引起系統處理效能大大下降,和伺服器處理序瓶頸及死結等現象;同時系統的可擴充餘地非常狹窄。技術上不能提供對大型多處理器系統的支援,效能上有所限制。
雖然可以通過配置最大引擎個數,增加dataserver進程個數,但是最大不能超過cpu的個數。
處理的原理是
cpu是作業系統能夠調動的資源,sybase本身不能讓資料庫在哪個cpu工作,
使用engine是幾就會運行幾個進程,
如果engine是1,sybase就只起1個進程,作業系統就不能將將其在兩個cpu上運行
如果engine是2,sybase就起2個進程,
sybase 決定將任務分配哪個dataserver進程,作業系統可以讓兩個進程在兩個cpu上運行。
如果該OS上主要就是跑sybase,起2個合適
不像oracle那樣到使用者層級來處理。
2.sybase與oracle預存程序的寫法對比 http://blog.csdn.net/daniel112/article/details/2304288
在oracle中建立預存程序和sybase及sql server下的文法有些不一致之處。
sql: sybase 和 oracle 比較