關於Oracle數據庫的兩階段提交

衆所周知,Oracle是一種關係型數據庫(RDBMS),現今有不少中大型企業都採用了Oracle數據庫作爲數據持久層,在今天的學習中無意瞭解到Oracle的兩階段提交,自己又對其有了新的認知,因此寫下這篇博客以記錄!

 

一般來說,數據庫存放在硬盤裏,因此當客戶端需要訪問數據庫時,並不能直接訪問(計算機組成的知識了),所以客戶端要訪問的是內存中數據庫實例。對於一個數據庫來說,可以在內存中有多個實例,就比如一個數據庫可以同時被多個程序訪問一個道理。而對於內存中的多數據庫實例來說,就稱之爲RAC(集羣 Real Application Cluster)。

而對於內存的數據庫實例,可以細分爲兩個,分別是PGA (Program global area)SGA(System global area),一個PGA對應一個客戶端。兩階段提交:當客戶端的CRUD想要發送到數據庫執行時,其實是分爲兩個階段執行,第一個階段是由PGA  -> SGA;第二個階段是由SGA -> DB(database)。其實原理就是當客戶端發送多條請求時,而多次請求提交的操作具有重複/冗餘等操作時,SGA會對多餘操作進行合併,從而減少訪問數據庫的次數,減少服務器的壓力,提高速度。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章