μΊμλ DBμ λ°μ΄ν°κ° μ μ₯λμ΄ μλ 곡κ°μΈ λ²νΌνμ λν΄ μμ보μ.
DBμμλ λ°μ΄ν°λ₯Ό μΊμν΄ λλ 곡κ°μ΄ μ‘΄μ¬νλ€. μ΄λ₯Ό λ²νΌν(buffer pool) λλ λ²νΌμΊμ(buffer cache) λΌκ³ μΌμ»«λλ€. μ¬ν μΊμμ κΈ°λ₯μ κ·Έλ¬νλ― DBμ λ²νΌν λν λ°μ΄ν°μ μ κ·Όνλ μκ°μ μ€μ¬ νΌν¬λ¨Όμ€λ₯Ό λμ¬μ€λ€.
- λ°μ΄ν°: ν μ΄λΈ λ° μΈλ±μ€
λλΆλΆμ κ²½μ° SQLμ΄ λλ¦° μμΈμ λμ€ν¬μμ μ§νλλ I/O λλ¬Έμ΄λ€. λμ€ν¬μμ λ°μ΄ν°λ₯Ό μ½κ±°λ μΈ λ arm(actuator arm) μ ν΅ν΄μ μ§ννλ€. μ΄λ¬ν 물리μ λμμΌλ‘ μ μ§μμ μκ°μ μ¬μ©ν΄μΌνκΈ°μ λ°μ΄ν°νμλ μμ£Ό μ¬μ©λλ λ°μ΄ν° λΈλ‘μ μ μ₯ν΄ λλλ€. μ°Ύκ³ μ νλ λΈλ‘μ λμ€ν¬μ μ κ·Ό μ , λ²νΌνμμ μ½λ λλΆμ I/O μκ°μ΄ λν μ€μ΄λ λ€.
λ²νΌνμ μ μ₯λμ΄ μλ μΊμλ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν΄ MySQLμ λΈλ‘λ€μ λ§ν¬λ 리μ€νΈλ‘ κ΄λ¦¬νλ€. λ²νΌν 리μ€νΈμ ꡬμ±μ μλμ κ·Έλ¦Όκ³Ό κ°λ€.
An image from a MySQL
리μ€νΈλ₯Ό λ€λ£¨κΈ° μν΄ MySQL μμ μ¬μ©νλ μκ³ λ¦¬μ¦μ LRU(Least Recently Used) μ΄λ€. μμ£Ό μ¬μ©νμ§ μλ λ°μ΄ν°λ λ²νΌνμμ μ κ±°λλ€.
- add: μλ‘μ΄ νμ΄μ§(a.k.a block)λ 리μ€νΈμ μ€κ° μ§μ μ μΆκ° λ¨ β midpoint insertion
- remove: 꼬리μͺ½μ μμΉν νμ΄μ§λ μ μ§μ μΌλ‘ μμ λ¨ β evicted pages
