Home > Backend > DB > πŸ’Ύ[Database] νŠΈλžœμž­μ…˜μ˜ μ˜λ―Έμ™€ μ—­ν• .

πŸ’Ύ[Database] νŠΈλžœμž­μ…˜μ˜ μ˜λ―Έμ™€ μ—­ν• .
Database

πŸ’Ύ[Database] νŠΈλžœμž­μ…˜μ˜ μ˜λ―Έμ™€ μ—­ν• .

  • νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(DBMS)μ—μ„œ λ°μ΄ν„°μ˜ 일관성과 정확성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” κΈ°λ³Έ λ‹¨μœ„μž…λ‹ˆλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…λ“€μ„ μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰ν•˜μ—¬, μ—¬λŸ¬ μž‘μ—…μ΄ λͺ¨λ‘ μ„±κ³΅ν•˜κ±°λ‚˜ λͺ¨λ‘ μ‹€νŒ¨ν•˜λ„λ‘ 보μž₯ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.

1️⃣ νŠΈλžœμž­μ…˜μ˜ μ£Όμš” νŠΉμ§•(ACID).

  • 1. μ›μžμ„±(Atomicity)
    • νŠΈλžœμž­μ…˜ λ‚΄μ˜ λͺ¨λ“  연산은 μ›μžμ μœΌλ‘œ μ²˜λ¦¬λ©λ‹ˆλ‹€. 즉, 연산듀은 λͺ¨λ‘ μ™„λ²½ν•˜κ²Œ μˆ˜ν–‰λ˜κ±°λ‚˜ μ•„μ˜ˆ μˆ˜ν–‰λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.
    • νŠΈλžœμž­μ…˜ 쀑 ν•˜λ‚˜λΌλ„ μ‹€νŒ¨ν•˜λ©΄ 전체 νŠΈλžœμž­μ…˜μ€ λ‘€λ°±(μ·¨μ†Œ)λ˜μ–΄ μ›λž˜ μƒνƒœλ‘œ λ³΅κ΅¬λ©λ‹ˆλ‹€.
  • 2. 일관성(Consistency)
    • νŠΈλžœμž­μ…˜μ΄ μ‹€ν–‰λ˜μ§€ μ „κ³Ό 후에 λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλŠ” μΌκ΄€λœ μƒνƒœλ₯Ό μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μΌκ΄€λœ μƒνƒœλ₯Ό λ°›μ•„ λ³€κ²½ 후에도 κ·Έ 일관성을 μœ μ§€ν•˜λŠ” λ³€κ²½λ§Œμ„ μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.
      • μ΄λŠ” λ°μ΄ν„°μ˜ 무결성 μ œμ•½ 쑰건듀을 μ€€μˆ˜ν•¨μ„ μ˜λ―Έν•©λ‹ˆλ‹€.
  • 3. 독립성(Isolation)
    • λ™μ‹œμ— μ—¬λŸ¬ νŠΈλžœμž­μ…˜μ΄ 싀행될 λ•Œ, 각 νŠΈλžœμž­μ…˜μ΄ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ 연산에 영ν–₯을 받지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ•ˆμ •μ„±μ„ 보μž₯ν•©λ‹ˆλ‹€.
    • DBMSλŠ” μ΄λŸ¬ν•œ 독립성을 보μž₯ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ 격리 μˆ˜μ€€(Isolation Level)을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • 4. 지속성(Durability)
    • νŠΈλžœμž­μ…˜μ΄ μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλ˜λ©΄, κ·Έ κ²°κ³ΌλŠ” 영ꡬ적으둜 λ°μ΄ν„°λ² μ΄μŠ€μ— λ°˜μ˜λ„μ–΄μ•Ό ν•©λ‹ˆλ‹€.
    • μ‹œμŠ€ν…œ μž₯μ• κ°€ λ°œμƒν•΄λ„ μ΄λŸ¬ν•œ νŠΈλžœμž­μ…˜ κ²°κ³ΌλŠ” μ†μ‹€λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

2️⃣ νŠΈλžœμž­μ…˜μ˜ μ—­ν• .

  • 데이터 무결성 μœ μ§€
    • νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°μ˜ μ •ν™•μ„±κ³Ό 일관성을 μœ μ§€ν•˜λ©° λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ˜ 신뒰성을 보μž₯ν•©λ‹ˆλ‹€.
  • μ‹œμŠ€ν…œ μž₯μ•  λŒ€μ‘
    • μ‹œμŠ€ν…œ 였λ₯˜λ‚˜ μž₯μ•  λ°œμƒ μ‹œ, νŠΈλžœμž­μ…˜μ€ 둀백을 톡해 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ•ˆμ •μ μΈ μƒνƒœλ‘œ 볡ꡬ할 수 있게 λ•μŠ΅λ‹ˆλ‹€.
  • λ™μ‹œμ„± μ œμ–΄
    • λ‹€μˆ˜μ˜ μ‚¬μš©μžκ°€ λ°μ΄ν„°λ² μ΄μŠ€μ— λ™μ‹œμ— μ ‘κ·Όν•  λ•Œ, νŠΈλžœμž­μ…˜μ€ 각각의 μ‚¬μš©μžκ°€ 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ 읽고, μ“Έ 수 μžˆλ„λ‘ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ—μ„œ κΌ­ ν•„μš”ν•œ κΈ°λŠ₯으둜, λ°μ΄ν„°μ˜ 일관성과 μ•ˆμ •μ„±μ„ 보μž₯ν•˜λŠ” μ€‘μš”ν•œ λ©”μ»€λ‹ˆμ¦˜ μž…λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‚¬μš©μžλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ‹ λ’°μ„± μžˆλŠ” λ™μž‘μ„ κΈ°λŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.