DB λΆμ° νκ²½μμλ auto increment λ₯Ό μ¬μ©νκΈ° νλ€λ€.
λ¬Έμ μ΄ν΄ λ° μ€κ³ λ²μ νμ
β’
ID λ μ μΌνκ³ μ λ ¬ κ°λ₯
β’
ID μ κ°μ΄ μκ°μ νλ¦μ λ°λΌ 컀μ§μ§λ§ νμ 1μ© μ»€μ§ νμλ μλ€.
β’
ID λ μ«μλ‘λ§ κ΅¬μ±λλ€.
β’
μ΄λΉ 10000 κ°μ ID λ₯Ό μμ±ν μ μμ΄μΌ νλ€.
κ°λ΅μ μ€κ³μ μ μ
λ€μ€ λ§μ€ν° 볡μ (multi-master replication)
β’
μλ²μ μλ§νΌ μ¦κ°νλ DBμ auto increment κΈ°λ₯μ νμ©
β’
DB μλ₯Ό λ리면 μ΄λΉ μμ° κ°λ₯ ID μλ λ릴 μ μλ€.
β’
νμ§λ§ λ¨μ μ΄ ν¬λ€.
β¦
μ¬λ¬ λ°μ΄ν° μΌν°μ κ±Έμ³ κ·λͺ¨λ₯Ό λ리기 μ΄λ ΅λ€.
β¦
ID μ μ μΌμ±μ 보μ₯λμ§λ§ μλ² μ²λ¦¬μ λ°λΌ μκ° νλ¦μ λ§μΆ° 컀μ§λλ‘ λ³΄μ₯ν μλ μλ€.
β¦
μλ²λ₯Ό μΆκ°νκ±°λ μμ νκΈ° νλ€λ€. νμ₯μ± κ±°μ μ λ‘
ν°μΌ μλ²
β’
auto increment κΈ°λ₯μ κ°μΆ DB μ΄λ€. μ¦, ν°μΌ μλ²λ₯Ό μ€μ μ§μ€νμΌλ‘ νλλ§ μ¬μ©νλ€.
β’
μ₯μ
β¦
μ μΌμ±μ΄ 보μ₯λλ μ«μλ‘ κ΅¬μ±λ ID λ₯Ό μμ±
β¦
μκ° μλλ‘ μμ± κ°λ₯
β¦
ꡬννκΈ° μ½λ€.
β’
λ¨μ
β¦
SPOF μ΄λ€.
β¦
μ¬λ¬ ν°μΌ μλ²λ₯Ό ꡬμ±νλ©΄ λ€μ λ°μ΄ν° λκΈ°ν λ¬Έμ κ° λ°μ
νΈμν° μ€λ Ένλ μ΄ν¬ μ κ·Όλ²
β’
unused
β¦
μ¬μΈ λΉνΈμ΄λ€. μ§κΈμ μμ°λλ° λμ€μ μΈ μ μμΌλ μ 보νλ€κ³ νλ€.
β’
time in millliseconds
β¦
41λΉνΈμ νμμ€ν¬νμ΄λ€. κΈ°μ μκ°(epoch, 1970.01.01) μ΄ν κ²½κ³Όν λ°λ¦¬μ΄ κ°μ΄λ€.
β¦
41λΉνΈλ‘ ννν μ μλ μ΅λκ°μ μ½ 69λ
μΈλ° κΈ°μ μκ°μ νμ¬μ κ°κΉκ² λ§μΆ° μ€λ²νλ‘μ°κ° λ°μνλ μμ μ λ¦μΆλ€.
β’
data center id
β¦
5λΉνΈλ₯Ό ν λΉν΄μ 2**5=32 κ°μ λ°μ΄ν° μΌν°λ₯Ό μ§μνλ€.
β’
worker id
β¦
μλ² id μ΄κ³ μμ 5λΉνΈλΌμ λ°μ΄ν° μΌν°λΉ 32κ°μ μλ²λ₯Ό μ§μνλ€.
β’
sequence id
β¦
μΌλ ¨ λ²νΈμ 12λΉνΈλ₯Ό ν λΉνλ€. ID λ₯Ό μμ±ν λλ§λ€ 1λ§νΌ μ¦κ°νκ³ 1λ°λ¦¬μ΄κ° κ²½κ³Όν λλ§λ€ 0μΌλ‘ μ΄κΈ°νλλ€.
β’
λ°μ΄ν° μΌν° id μ μλ² id λ μμ€ν
μ΄ μμν λ κ²°μ λκ³ μλͺ» λ³κ²½νκ² λλ©΄ id μΆ©λμ΄ λ°μν μ μλ€.