π"LONUA"π νλ‘μ νΈ μ€λͺ
π§ λ°°Β γΒ κ²½
μ΄μ²λΌ, μ¨λΌμΈ μΌνλͺ° μ΄μ©μ μκ° "μ§μμ μΌλ‘ μ¦κ°" νκ³ μλ λ§νΌ, μΌνλͺ°μ
λ±λ‘λλ μνμ μ μμ "κΈ°νκΈμμ μΌλ‘ λμ΄λ" μν μ ν μ μ΄μ©μκ° μ νμ
μ΄λ €μμ κ²ͺκ³ μλ νμ€μ΄λ€.
λ°λΌμ κ°μΈμκ² λ§λ μ·, μ€νμΌμ μ 곡νμ¬ μλ§μ μνμ λν μ΄μ©μμ μ νμ νμ μ€μ΄κ³ ,
μΌνμκ°μ λ¨μΆ μν΄μΌλ‘μ¨ μ΄μ©μκ° μΌν μ μ νμ μ΄λ €μμ ν΄κ²°ν΄μ£ΌκΈ° μν΄
"LONUA" νλ‘μ νΈλ₯Ό κ³ννμλ€.
βοΈ νλ‘μ νΈ μλ리μ€
"LONUA" μΌνλͺ°μ μλμ κ°μ΄ 11κ°μ§ ν΅μ¬ κΈ°λ₯μ κ°μ§κ³ μλ€.
πΎ μ 무 λ°°κ²½λ
π E-R λ€μ΄μ΄ κ·Έλ¨
π 릴λ μ΄μ μ€ν€λ§
π» DB μλ² μ€μ (Clustering ꡬμ±)
μμ€ν
μν€ν
μ² β
DB Clustering κ΅¬μ± μ¬μ β
"LONUA" λ μ¨λΌμΈ μΌνλͺ°μ νΉμ± μ ν맀μκ° μνμ λ±λ‘(μ°κΈ° μμ
) νλ
νμμ λΉν΄, ꡬ맀μκ° μνμ κ²μ(μ½κΈ° μμ
)νλ νμκ° λμ± λ§μ΄ λ°μνλ€.
λν, μΌνλͺ°μμ λ€μν ν μΈ νμ¬λ₯Ό μ§νν λ λ§μ μ¬μ©μκ° λμμ μΉ μ¬μ΄νΈλ‘ μ μν μ νΈλν½ κ³ΌλΆνκ° λ°μν μ μμΌλ―λ‘, μ΄μ©μμ μμ μ μΈ μΌν νλ 보μ₯ λ°
μ£Όλ¬Έν μνλ€μ λν λ°μ΄ν°μ μ λ’°μ±μ΄ λμμΌ νκΈ°λλ¬Έμ, μλ²λ₯Ό ꡬμ±ν λ λΉλκΈ°
λ°©μμΌλ‘ μ΄μλμ΄ μΌκ΄μ± μλ λ°μ΄ν°μ 보μ₯μ΄ μ΄λ €μ΄ βReplicationβ λ°©μμ΄ μλ βClusteringβ λ°©μμΌλ‘ ꡬμ±νμλ€.
(μ΄ 4κ°μ μλ²λ‘ 1κ°λ λΌμ°ν°, 3κ°λ Group Replicationμ μ΄μ©νμ¬ 1κ°μ Primary μλ²μ 2κ°μ Secondary μλ²λ‘ κ΅¬μ± / Active-Standby
)
ν₯ν κ³ λ €ν΄λ³Ό μ¬ν β
μ΄μ©μμ μλΉμκ°μ λ¨μΆνκΈ° μν λͺ©μ μΌλ‘ μμμ νμλλ°, νμκ°μ μ μ΄μ©μμ μ νν μ 체μΉμλ₯Ό λ°λμ μ λ ₯νλλ‘ μ€μ μ νλ€. μ§κΈλ νμκ°μ μ μ λ ₯ν΄μΌ νλ μ λ³΄κ° μλΉν λ§μλ°, μ¬κΈ°μ μ μμ§λ λͺ»νλ μ 체μΉμκΉμ§ μ λ ₯νλλ‘ νλ€λ©΄ μ κ· μ΄μ©μλ€μ μ§μ μ₯λ²½ μμ²΄κ° λμμ§ μ λ°μ μλ€κ³ μκ°νλ€.
νμ§λ§, μ 체μΉμλ₯Ό μ λ ₯ν¨μΌλ‘μ¨ μνμ μ ν νμ μ€μ¬μ£Όλκ²μ΄ κ³νν μΌνλͺ°μ ν΅μ¬μ΄λΌκ³ μκ°λλ λ§νΌ μ΄λΆλΆμ μ΄λ»κ² νλ©΄ κ°νΈνκ² ν΄μμν¬ μ μμμ§μ λν κ³ λ―Όμ΄ νμνλ€κ³ μκ°νλ€.
μμ§μ DB κΉμ§ λ°μ λ°°μ°μ§ μμμ, μΆν μμ μ§ν κ° μκ°λλ€λ©΄ μ μ©ν΄ λ³Ό κ³νμ΄λ€.
νλ‘μ νΈλ₯Ό νλ©΄μ λλμ π
λΆνΈμΊ νμ "첫 λ²μ§Έ" λ―Έλ νλ‘μ νΈλ₯Ό κ°μΈμ μΌλ‘λ μ±κ³΅μ μΌλ‘ λλλ€κ³ μκ°νλ€.π DBμ λν νλ‘μ νΈμ΄κΈ° λλ¬Έμ μꡬμ¬ν λΆμ λ³΄κ³ μμ ERD, κ·Έλ¦¬κ³ SQL κΆλ¦¬λ¬Έ λ±μ μμ±νλ νλ‘μ νΈμλλ°, νμλ€μ΄ π₯μ΄μ λμΉκ³ μμλ λμ³μπ₯ λ무 μ’μλ€.
λ μ€μ€λ‘κ° λ무 μμ¬μ΄ λ§μμ, νμλ€μκ² λ무 무리νκ² μλν΄λ³΄μκ³ νλ 건 μλκ° μκ°μ΄ λ€λ²λ νμ§λ§, μ€νλ € λ보λ€λ λ μΌμ°μΌμ°ν΄μ νμκ³ ν΄μ λλ
λμ± νμ΄ λ¬λ€.
νλ‘μ νΈλ₯Ό μ§ννλ©΄μ ERD μμ±μ λν λ΄μ©μ λ§μ΄ μκ² λμλ€. κ°μ²΄ κ°μ N:M λλ 1:N κ΄κ³μ λν΄ μμ λλ μ νν μ΄ν΄νλ€ μκ°νμ§λ§, λ§μ νλ‘μ νΈλ₯Ό κ³ννκ³ μκΈ°ν λ΄μ©λ€μ κ΄κ³λ‘ νννλ€λ κ²μ μ¬μ΄μΌμ΄ μλμλ€. νμ§λ§ μ΄λ² κ²½νμ ν΅ν΄ "κΉ¨λ¬μμ μ»μλ€" λ ννμ΄ λ§μ κ² κ°λ€.
λν, μμ§ DBκΉμ§ λ°μ λ°°μ΄κ²μ΄ μμ΄μ λμ μκ°, μ¬κ³ κ° DBμ 맀λͺ°λμ΄ μλ€λ³΄λ, κΈ°λ₯λ€μ λν SQL 쿼리문μ μμ±ν λ ν μ΄λΈ κ° JOINμ ν΅ν΄ λ΄μ©μ λΆλ¬μ€λ λ°©μ λ±μΌλ‘ μκ°μ νμλ€. νμ§λ§, κ°μ¬λκ»μ ν΄μ£Όμ νΌλλ°±μ λ£κ³ "μ! μ΄λ° λ°λ³΄κ°μ" μ΄λΌλ λ§μ΄ μμΌλ‘ νμ΄λμλ€.
μ΄λ―Έ νμμ΄ λ‘κ·ΈμΈμ ν μκ° κ·Έ νμμ λν μ 보λ€μ΄ 1μ°¨λ‘ DBμμ λΆλ¬μμ‘κΈ° λλ¬Έμ κ·Έ νμμ΄ νλ νλλ€μ λν΄μ λλ€μ νμμ λν μ 보λ₯Ό λΆλ¬μ¬ νμκ° μμλ€. μ΄ν΄ν λ°λ‘λ λ‘κ·ΈμΈν νμμ΄ μΏ ν°μ μ¬μ©ν λ λλ μΏ ν° ν μ΄λΈκ³Ό νμ ν μ΄λΈμ μ‘°μΈνμ¬ νμIDX λ₯Ό λΆλ¬μμ μΏ ν°μ μ ννλ κ°λ μΌλ‘ μμ±νμλλ°, λ¨μν μΏ ν°μ μΏ ν° ν μ΄λΈμμ μ ννλ©΄ λλλ κ²μ΄μλ€.
λ€μμ£ΌλΆν° λλμ΄ μλ° νλ‘κ·Έλλ° μμ μ λ€μ΄κ°κ² λλλ°, νλ‘κ·Έλλ°μ λ°°μ°λ©΄ μ νν μ΄ν΄ν μ μμκ² κ°λ€. κ·Έλ λ€μνλ² μ§κΈ ν νλ‘μ νΈλ₯Ό νλ©΄μ μμ±ν 쿼리문λ€μ νλνλ λ€μ 보면μ μμ ν΄ λ³Ό κ³νμ΄λ€.
κ°μ₯ μ€μν κ²μ, μ’μ νμλ€μ λ§λμ ννμ΄ λμ΄ μ΄μ κ³Ό μμμ κ°μ§κ³ 3μΌ λμ μ¬μ§ μκ³ λ¬λ Έλ€λ κ²μ΄λ€. μ΄μ λλκ³ μ§μ μ€λ μ λ§ λ Ήμ΄κ° λμ΄ λ°λ‘ μ λ€μλ€λκ² κ·Έ μ¦κ±°κ° μλκ° μΆλ€.π΄ μμ§ λ°°μΈκ² λ§μ΄ λ¨μμ§λ§, μμΌλ‘ μμ λ―Έλ νλ‘μ νΈ, κ·Έλ¦¬κ³ λ§μ§λ§ μ΅μ’ νμ΄λ νλ‘μ νΈκΉμ§ μ§κΈμ μ΄μ μ΄ μλ€μ§ μκ³ μ μ΄μ΄κ° μ μλλ‘ λμμμ΄ λ Έλ ₯ν κ²μ΄λ€.π₯π₯