【Oracle】-【LRU和DBWR】-LRU演算法與DBWR中的應用
Oracle體系結構中經常看到LRU演算法,Least Recently Used,也有叫“最近最少使用頁面置換演算法”,簡單講,Oracle會將記憶體中最近不用的資料庫移出記憶體以騰出空間來載入另外的資料。演算法的實現雖然無法獲取,但對於我們很多人來說,也沒有必要了解。更重要、更實際地是知道它的作用,以及基於此對一些問題的分析與判斷。
關於這個演算法,有一種最理想的計算,就是每次調換出的記憶體是所有記憶體中最遲將被使用的,可以最大限度地推遲記憶體調換,但這種演算法是理想記憶體置換,無法實現。為了減少與理想演算法的差距,又出現了各種精妙的演算法,LRU就是其中一個。它是基於:前面記憶體中的資料很可能在後面頻繁使用,反過來說,已經很久沒用的記憶體中資料可能在未來較長時間內不會被用到,這是著名的區域性性原理,比記憶體速度還要快的cache,也是基於同樣的原理執行的。因此我們只需要在每次記憶體調換時,找到最近最少使用的記憶體資料調出記憶體,這就是LRU演算法的內容。
有的書中提到的“如果資料庫空運轉,最終DBWR會將全部緩衝區儲存區寫入磁碟”,DBWR會將dirty緩衝區寫入磁碟,使用的是LRU演算法,如上原理所述,根據DBWR觸發的若干條件,外加LRU演算法,DBWR當然會將全部buffer cache寫入磁碟。
關於這個演算法,有一種最理想的計算,就是每次調換出的記憶體是所有記憶體中最遲將被使用的,可以最大限度地推遲記憶體調換,但這種演算法是理想記憶體置換,無法實現。為了減少與理想演算法的差距,又出現了各種精妙的演算法,LRU就是其中一個。它是基於:前面記憶體中的資料很可能在後面頻繁使用,反過來說,已經很久沒用的記憶體中資料可能在未來較長時間內不會被用到,這是著名的區域性性原理,比記憶體速度還要快的cache,也是基於同樣的原理執行的。因此我們只需要在每次記憶體調換時,找到最近最少使用的記憶體資料調出記憶體,這就是LRU演算法的內容。
有的書中提到的“如果資料庫空運轉,最終DBWR會將全部緩衝區儲存區寫入磁碟”,DBWR會將dirty緩衝區寫入磁碟,使用的是LRU演算法,如上原理所述,根據DBWR觸發的若干條件,外加LRU演算法,DBWR當然會將全部buffer cache寫入磁碟。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-767165/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DBWR程式Oracle
- 【Oracle】-【體系結構-DBWR】-DBWR程式相關理解Oracle
- Oracle DBWR觸發條件Oracle
- zt_oracle LRU與MRUOracle
- LRU 演算法演算法
- Memcache LRU演算法演算法
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件Oracle
- LRU演算法簡介演算法
- lru
- oracle buffer cache管理機制之lruw_dbwrOracle
- LRU原理與實現
- OCP知識點講解 之 LRU鏈與髒LRU鏈
- LRU演算法原理解析演算法
- 什麼是 LRU 演算法?演算法
- LRU演算法簡單例子演算法單例
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件 總結Oracle
- 修改dbwr後臺程式數量
- DBWR 寫資料檔案 (zt)
- LGWR DBWR SMON 等程式說明
- Python 中 lru_cache 的使用和實現Python
- Redis 為何使用近似 LRU 演算法淘汰資料,而不是真實 LRU?Redis演算法
- 用go 簡單實現的LRUGo
- 資料庫存取緩衝區的LRU與MRU演算法資料庫演算法
- DBWR_IO_SLAVES & db_writer_processes
- LRU快取快取
- 常見快取演算法和LRU的c++實現快取演算法C++
- 漫畫:什麼是LRU演算法?演算法
- Redis記憶體回收:LRU演算法Redis記憶體演算法
- 【演算法備忘錄】-(1)-LRU演算法演算法
- 快取 LRU 和 LFU 實現快取
- oracle實驗記錄(buffer_cache分析(4)dbwr,lgwr,ckpt)Oracle
- 最簡單的LRU演算法java實現演算法Java
- 深入分析LRU與DIRTY LIST(轉)
- 用 Go 實現一個 LRU cacheGo
- LRU Cache的原理和python的實現Python
- cache buffers lru chainAI
- FIFO/LRU/LFU三種快取演算法快取演算法
- JS 實現快取演算法(FIFO/LRU)JS快取演算法