μ€ν°λ/λ°μ΄ν°λ² μ΄μ€
[CS186] Introduction to Database Systems - Week 4
moon101
2023. 5. 20. 15:30
β Buffer Management β
Buffer Manager
- λ©λͺ¨λ¦¬μ μλ νμ΄μ§λ€μ κ΄λ¦¬νκ³ νμΌ λ° μΈλ±μ€ λ§€λμ μ νμ΄μ§ μμ²μ μ²λ¦¬νλ€
- λ©λͺ¨λ¦¬ 곡κ°μ νμ μ μ΄κΈ° λλ¬Έμ λ²νΌ λ§€λμ λ 곡κ°μ΄ λ€ μ°° κ²½μ° μ΄λ€ νμ΄μ§λ₯Ό ν΄μΆν μ§λ κ²°μ ν΄μΌ νλ€
Buffer Pool
- λ©λͺ¨λ¦¬λ νμ΄μ§κ° λ€μ΄κ° μ μλ νλ μμΌλ‘ 곡κ°μ λΆν νμ¬ λ²νΌ νλ‘ λ³νλλ€
- λ²νΌ νλ μμ νμ΄μ§κ° μ μ₯ν μ μλ μμ λ°μ΄ν° λ§νΌ μ μ₯ν μ μλ€. (κ·Έλμ νμ΄μ§λ νλ μμ λ± λ§κ² λ€μ΄κ°λ€)
- ν¨μ¨μ μΌλ‘ νλ μμ μΆμ νκΈ° μν΄ λ©νλ°μ΄ν°λ₯Ό κ°μ§κ³ μλ ν μ΄λΈμ΄ νμνκ³ λ²νΌ λ§€λμ λ λ©νλ°μ΄ν° ν μ΄λΈμ μ μ₯ν μΆκ°μ μΈ κ³΅κ°μ λ©λͺ¨λ¦¬μ ν λΉνλ€
- λ©νν
μ΄λΈμ 4κ°μ§ μ 보λ₯Ό κ°μ§κ³ μλ€
- 1. Frame ID: λ©λͺ¨λ¦¬ μ£Όμμ κ³ μ νκ² μ°κ²°λμλ€
- 2. Page ID: νμ¬ νλ μμ΄ ν¬ν¨νλ νμ΄μ§λ₯Ό μλ €μ€λ€
- 3. Dirty Bit: νμ΄μ§κ° μμ λμλμ§ μ¬λΆλ₯Ό νμΈνλ€
- 4. Pin Count: νμ¬ νμ΄μ§λ₯Ό μ¬μ© μ€μΈ μμ²μ μλ₯Ό μΆμ νλ€
- replacement policy: νμ΄μ§μ μ κ·Ό ν¨ν΄μ μμ‘΄νλ€
- optimal policy: page hitμ μν΄ κ²°μ λλ€
- page hit: μμ²λ νμ΄μ§κ° λμ€ν¬μ κ° νμμμ΄ λ©λͺ¨λ¦¬μμ μ°Ύμ κ²½μ°
- hit rate: (# of page hits) / (# of page access)
LRU Replacement and Clock Policy
- κ°μ₯ 보νΈμ μΌλ‘ μ¬μ©λλ replacement policyλ LRU (Least Recently Used)μ΄λ€.
- νμ§λ§ LRUλ μΌλ°μ μΌλ‘ λΉμ©μ΄ λ§μ΄ λ€ μ μκΈ° λλ¬Έμ clock policyλ LRUλ₯Ό λ체ν μ μλ ꡬνμ μ 곡νλ€
- Clock policyλ λ©νλ°μ΄ν° ν μ΄λΈμ μ°Έμ‘° λΉνΈ μ΄κ³Ό clock hand variableμ μ¬μ©ν΄μ νμ¬ νλ μμ μΆμ ν΄μ LRUλ₯Ό κ³μ°νλ€
- μ°Έμ‘° λΉνΈλ₯Ό μ¬μ©νλ κ²μ 곡κ°κ³Ό μκ°λΉμ©μ΄ μ€μ΄λ λ€
- LRUμμλ λ²νΌ λ§€λμ κ° Last Used μ΄μ κ°μ₯ μμ κ°μ μ°ΎμμΌ νλλ° μκ°μ΄ μμλμ§λ§ clock policyμμλ clock handλ§ λ°λΌκ°λ©΄ λλ€
- Sequential Scan + LRU => sequential flooding (λ²νΌ ν μ¬μ΄μ¦κ° νμ΄μ§μ μλ³΄λ€ μκ³ λ°λ³΅ν΄μ μμ°¨μ μΌλ‘ νμ΄μ§λ₯Ό μ½μ΄μΌ ν λ μΊμμ hit rateμ΄ 0% κ° λλ€)
MRU Replacement
- λ€λ₯Έ κ΅μ²΄ μ μ± μΌλ‘λ MRU, Most Recently Usedκ° μλ€
- κ°μ₯ μ΅κ·Όμ μ¬μ©λ νμ΄μ§λ₯Ό μ κ±°νλ€
- sequential flooding μ κ·Ό ν¨ν΄μμλ MRUκ° LRUλ³΄λ€ λ ν¨κ³Όμ μ΄λ€