λΉλκΈ°λ₯Ό νμ©ν ν μ΄λΈ ν μ€μΊ μ±λ₯ ν μ€νΈ.
ν μ΄λΈ ν μ€μΊμ ν μ΄λΈμ λͺ¨λ rowλ₯Ό μ‘°ννκΈ° λλ¬Έμ, λ°μ΄ν°κ° λ§μ κ²½μ° μΌλ°μ μΌλ‘ κΆμ₯λμ§ μμ΅λλ€. νμ§λ§ λ°μ΄ν°κ° λ§λλΌλ
λΆν
κ³ΌλΉλκΈ°λ₯Ό νμ©ν λ³λ ¬ μ²λ¦¬
λ₯Ό νλ©΄ νΉμ μν©μμλ κ½€ μ’μ μ±λ₯μ λΌ μ μμ΅λλ€.
μ΄λ²€νΈ νλ‘μ°λ λ€μκ³Ό κ°μ΅λλ€. μλ¦Ό μ‘μ μ λ³λμ μμ€ν μ΄ νμνκΈ° λλ¬Έμ κ³ λ €νμ§ μμ΅λλ€.
- μλ¦Ό λ©μμ§λ₯Ό μ μ‘νλ€.
- μ 체 μ¬μ©μλ 2,000 λ§ λͺ μ΄λ©°, μλ¦Ό μμ μ λμν μ¬μ©μμκ²λ§ μλ¦Όμ μ μ‘νλ€.
- λ¨μΌ μ ν리μΌμ΄μ /λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ€.
λ°μ΄ν°κ° λ§μ κ²½μ°, ν
μ΄λΈ ν μ€μΊμ μ¬μ©νλ©΄ λͺ¨λ rowλ₯Ό μ½κΈ° λλ¬Έμ μκ°μ΄ μ€λ 걸릴 μ μμΌλ―λ‘, λΉλκΈ°
λ₯Ό νμ©ν΄ μ΄λ₯Ό κ°μ νλ€.
- λΉλκΈ°λ‘ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ€.
- λͺ¨λν°λ§μ ν΅ν΄ μμ μ¬μ©λ₯ μ 체ν¬νλ€.
λ©μΈμ§ ν(Message Queue)λ₯Ό μ¬μ©νλ κ²½μ°, μλμΉ μκ² νμ€ν¬κ° μ μ€λλ κ²½μ° κ° λ°μνλ€. λ©μμ§κ° μ μ€λ κ²½μ°, μ΄λ₯Ό λλΉν μ μλλ‘ νλ€.
- λ©μμ§ μ μ€μ λλΉνλ€.
- λ©μμ§ νλ μ΄λ€ κ²μ μ¬μ©ν΄λ μκ΄μλ€.
- μΈλΆ λ©μμ§ μμ€ν μ λμ νμ μ, μ±λ₯ λ³νλ₯Ό μΈ‘μ νλ€.
μμ΄λμ΄λ λΆν
κ³Ό λΉλκΈ°λ₯Ό νμ©ν λ³λ ¬ μ²λ¦¬
μ
λλ€.
- λΆν
- λΉλκΈ°λ₯Ό νμ©ν λ³λ ¬ μ²λ¦¬
λ¨Όμ νλμ ν° νμ€ν¬λ₯Ό μ μ ν λ¨μ(chunk)λ‘ λΆν ν©λλ€.
κ° νμ€ν¬λ μμ μ΄ μ²λ¦¬ν μμ
μ μμ/λμ μ μκ³ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν° μ€λ³΅ μ²λ¦¬λ₯Ό λ°©μ§
νλ©°, μΈλ±μ€(Index)λ₯Ό νμ©
ν μ μκ² λ©λλ€.
μ΄ν κ° νμ€ν¬λ₯Ό λΉλκΈ°λ₯Ό ν΅ν λ³λ ¬λ‘ μ²λ¦¬
ν©λλ€.
2,000λ§ κ±΄ μ²λ¦¬ μ 1λΆ ~ 1λΆ 45μ΄.
# μ½, 1λΆ 31μ΄(91.16)
127.0.0.1:6379> get time::string::startTime
"1710619193857"
127.0.0.1:6379> get time::string::endTime
"1710619285018"
# μ½ 1λΆ 26μ΄(86.45)
127.0.0.1:6379> get time::string::startTime
"1710619455453"
127.0.0.1:6379> get time::string::endTime
"1710619541899"
# μ½ 1λΆ 38μ΄(98.73)
127.0.0.1:6379> get time::string::startTime
"1710619665364"
127.0.0.1:6379> get time::string::endTime
"1710619764089"
νμ€ν¬ μ€ν μ€ μλ‘μ΄ λ°μ΄ν°κ° μΆκ° λμ λ, μ΄λ₯Ό μ²λ¦¬ν μ μλ λ°©μμ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, 2,000λ§ μ¬μ©μμκ² μλ¦Όμ λ°μ‘νλ λμ€ μλ‘μ΄ μ¬μ©μκ° κ°μ μ νλ€λ©΄ μ΄λ₯Ό λμ²ν λ°©λ²μ΄ μμ΅λλ€. λ°λΌμ λͺ¨λ λ‘μ§μ΄ λλ ν, μλ‘ μΆκ°λ μ¬μ©μλ€μ λ³λμ λ‘μ§μΌλ‘ μ²λ¦¬ν΄μ€μΌ ν©λλ€.
interface UserRepository : JpaRepository<User, Long> {
@Query("SELECT u FROM user u WHERE u.id > maxUserId")
fun findByIdOver(maxUserId: Long): List<User>
}
λν μ΄ μΈμλ μ°λ λ ν κ°μ μ€μ , 컀λ₯μ κ΄λ¦¬, λͺ¨λν°λ§ λ±μ μΆκ° μ΄μκ° μμ΅λλ€. μμΈ λ΄μ©μ λΈλ‘κ·Έλ₯Ό μ°Έμ‘°ν΄μ£ΌμΈμ.