ν‚€-κ°’ μ €μž₯μ†Œ 섀계

2026. 6. 20. 22:34Β·πŸ‘©‍πŸ’»Developer πŸ’‘

 

- put (key, value) : ν‚€-κ°’ μŒμ„ μ €μž₯μ†Œλ‘œ μ €μž₯ν•œλ‹€.

- get (key) : 인자둜 μ£Όμ–΄μ§„ 킀에 맀달린 값을 κΊΌλ‚Έλ‹€. 

 

문제 이해 및 섀계 λ²”μœ„ ν™•μ • 

ν‚€-κ°’ 쌍 ν¬κΈ°λŠ” 10kb μ΄ν•˜

큰 데이터λ₯Ό μ €μž₯ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. 

μ‹œμŠ€ν…œμ— μž₯μ• κ°€ 생긴닀고해도, 빨리 응닡해야 ν•œλ‹€.

νŠΈλž˜ν”½ 양에 λ”°λΌμ„œ μžλ™μ μœΌλ‘œ μ„œλ²„ 증섀/μ‚­μ œκ°€ 이루어지며 규λͺ¨ ν™•μž₯성이 μš©μ΄ν•΄μ•Όν•œλ‹€. 

데이터 응닡 μ§€μ—°μ‹œκ°„μ€ μ§§μ•„μ•Ό ν•œλ‹€. 

 

단일 μ„œλ²„ ν‚€-κ°’ μ €μž₯μ†Œ

ν•œ λŒ€ μ„œλ²„λ§Œ μ‚¬μš©ν•˜λŠ” ν‚€-κ°’ μ €μž₯μ†Œ μ„€κ³„λŠ” 쉽닀. λͺ¨λ‘ ν•΄μ‹œν…Œμ΄λΈ”λ‘œ μ €μž₯ν•˜λŠ” 직관적인 방법도 μžˆλ‹€. 

- 데이터 μ••μΆ• 

- μžμ£Όμ“°λŠ” λ°μ΄ν„°λ§Œ λ©”λͺ¨λ¦¬λ§Œ 두고 λ‚˜λ¨Έμ§€λŠ” λ””μŠ€ν¬μ— μ €μž₯ ν•œλ‹€. 

 

λΆ„μ‚° ν‚€-κ°’ μ €μž₯μ†Œ

λΆ„μ‚° ν‚€-κ°’ μ €μž₯μ†ŒλŠ” λΆ„μ‚° ν•΄μ‹œ ν…Œμ΄λΈ”μ΄λΌκ³ λ„ ν•œλ‹€. ν‚€-κ°’ μŒμ„ μ—¬λŸ¬ μ„œλ²„μ— λΆ„μ‚°μ‹œν‚€λŠ” 것이닀. 

λΆ„μ‚° μ‹œμŠ€ν…œμ„ μ΄ν•΄ν•˜λ €λ©΄ CAP을 μ΄ν•΄ν•΄μ•Όν•œλ‹€.

1. Consistency 

λΆ„μ‚° μ‹œμŠ€ν…œμ— μ ‘μ†ν•˜λŠ” λͺ¨λ“  ν΄λΌμ΄μ–ΈνŠΈλŠ” μ–΄λŠ λ…Έλ“œμ— μ ‘μ†ν–ˆλŠλƒ 상관없이 μ–Έμ œλ‚˜ λ™μΌν•œ 데이터λ₯Ό λ³Έλ‹€.

2. Availiability

λΆ„μ‚° μ‹œμŠ€ν…œμ— μ ‘μ†ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈλŠ” 일뢀 λ…Έλ“œμ— μž₯μ• κ°€ λ°œμƒν•΄λ„ 항상 같은 응닡을 λ°›λŠ”λ‹€. 

3. Partiition Tolerance theorem 

νŒŒν‹°μ…˜ 감내. νŒŒν‹°μ…˜μ€ 두 λ…Έλ“œ 사이에 μž₯μ• κ°€ λ°œμƒν•œκ±Έ μ˜λ―Έν•œλ‹€. λ„€νŠΈμ›Œν¬ νŒŒν‹°μ…˜μ΄ 생겨도 μ‹œμŠ€ν…œμ΄ 계속 λ™μž‘ν•΄μ•Ό ν•œλ‹€. 

 

 

λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ λ°μ΄ν„°λŠ” μ—¬λŸ¬ λ…Έλ“œμ— λ³΅μ œλ˜μ–΄ λ³΄κ΄€λœλ‹€. λ…Έλ“œ 3λŒ€, n1, n2, n3λŠ” 데이터λ₯Ό λ³΅μ œν•˜μ—¬ λ³΄κ΄€ν•˜λŠ” 상황이닀. 6-2그림은 이상적인 λ„€νŠΈμ›Œν¬ νŒŒν‹°μ…˜ 상황을 보여쀀닀. 데이터 일관성과 κ°€μš©μ„±λ„ λ§Œμ‘±λœλ‹€. νŒŒν‹°μ…˜λ˜λŠ” λ„€νŠΈμ›Œν¬ 상황은 μ ˆλŒ€λ‘œ λ°œμƒλ˜μ§€ μ•ŠλŠ”λ‹€. 

 

κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œλŠ”, λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ νŒŒν‹°μ…˜ λ¬Έμ œλŠ” ν”Όν•  수 μ—†λ‹€. 

νŒŒν‹°μ…˜ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ 일관성과 κ°€μš©μ„± 쀑에 ν•˜λ‚˜λ₯Ό μ„ νƒν•΄μ•Όν•œλ‹€. 

n3μ—λŠ” κΈ°λ‘λ˜μ—ˆμœΌλ‚˜ 아직 n1, n2μ—λŠ” μ „λ‹¬λ˜μ§€ μ•Šμ€ 데이터가 있으면 n1,n2λŠ” 였래된 사본을 κ°–κ³  μžˆλŠ”λ‹€.

예λ₯Ό λ“€μ–΄ μ€ν–‰κΆŒ μ‹œμŠ€ν…œμ€ 보톡 데이터 일관성을 μ ˆλŒ€ μ–‘λ³΄ν•˜μ§€ μ•ŠλŠ”λ‹€. 

μΌκ΄€μ„±λŒ€μ‹  κ°€μš©μ„±μ„ μ„ νƒν•œ APμ‹œμŠ€ν…œμ΄λ©΄, 섀사 낑은 사본 μœ„λΌλ„, 계속 읽기, μ“°κΈ° 연산을 ν—ˆμš©ν•˜λŠ” 것이닀. 

νŒŒν‹°μ…˜μ΄ ν•΄κ²°λ˜λ©΄ κ·Έ 이후에 μƒˆ 데이터λ₯Ό n3에 μ „μ†‘ν•˜κ²Œ 될것이닀. 

λ”°λΌμ„œ, λΆ„μ‚³ γ…‹-κ°’ μ €μž₯μ†Œλ₯Ό λ§Œλ“€λ•Œμ—λŠ” 상황에 λ§žμΆ°μ„œ CAP정리λ₯Ό μ μš©ν•΄μ•Ό ν•œλ‹€. 

 

μ‹œμŠ€ν…œ μ»΄ν¬λ„ŒνŠΈ 

-데이터 νŒŒν‹°μ…˜

-데이터 닀쀑화

-일관성

-일관성 뢈일치 ν•΄μ†Œ

-μž₯μ•  처리

-μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ λ‹€μ΄μ–΄κ·Έλž¨

-μ“°κΈ° 경둜

-읽기 경둜

널리 μ‚¬μš©λ˜κ³  μžˆλŠ” 3κ°€μ§€ ν‚€-κ°’μ €μž₯μ†Œ λ‹€μ΄λ‚˜λͺ¨(Dynamo)[4], μΉ΄μ‚°λ“œλΌ(Cassandra)[5], λΉ…ν…Œμ΄λΈ”(BigTable)[6]μ„μ°Έμ‘°ν•œλ‹€.   

'πŸ‘©β€πŸ’»Developer πŸ’‘' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ•ŒλžŒ μ‹œμŠ€ν…œ 섀계  (0) 2026.06.20
AWS 배포 A-Z 배포 μ—¬μ • β€” 처음 λ°°μš°λŠ” μ‚¬λžŒμ„ μœ„ν•œ 전체 정리  (0) 2026.06.03
ah/backend  (0) 2026.06.02
ν”„λ‘œμ νŠΈ2 재λŠ₯ 및 ν”„λ¦¬λžœμ„œ λ§€μΉ­ ν”Œλž«νΌ κΈ°νšλΆ€ν„° 섀계 및 개발  (0) 2026.03.08
ν˜„μ‹€μ μœΌλ‘œ 이직 κ°€λŠ₯ν•΄.  (0) 2026.02.02
'πŸ‘©‍πŸ’»Developer πŸ’‘' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • μ•ŒλžŒ μ‹œμŠ€ν…œ 섀계
  • AWS 배포 A-Z 배포 μ—¬μ • — 처음 λ°°μš°λŠ” μ‚¬λžŒμ„ μœ„ν•œ 전체 정리
  • ah/backend
  • ν”„λ‘œμ νŠΈ2 재λŠ₯ 및 ν”„λ¦¬λžœμ„œ λ§€μΉ­ ν”Œλž«νΌ κΈ°νšλΆ€ν„° 섀계 및 개발
fulfilling_enjoyable yeona🐢🦫
fulfilling_enjoyable yeona🐢🦫
Quantitative Research Engineer & Quantitative Strategist | Multimodal Alpha (Price/News/On-chain) | Regime-aware, Cost-included Backtests | Remote-first μ—°λ¦¬μ˜ λ‚œ λ¨Έλ‹ˆπŸ’°κ°€ μ’‹μ•„πŸ’™πŸ₯³ μΆ©λ§Œν•˜κ²Œ 그리고 즐겁게 🐢 🦫 πŸ’›
  • Elina Yeon Lee
    Product & AI Engineer
    AboutMe λͺ©ν‘œ GitHub _yeonlee___ Elina_Eden
  • 전체
    였늘
    μ–΄μ œ
    • 🀍 😎 μ•ˆλ…•β˜ƒοΈπŸ’ž (125)
      • πŸ’™ 🀍 Diary🐰 πŸŽ€ 🧸 (37)
        • πŸ—½λ―Έκ΅­ DS & CS 박사 μ΄λ―ΌπŸ‹ (26)
        • πŸ›«μ—¬ν–‰ 이야기 (1)
        • πŸ“’μ˜€λŠ˜ μ΄μ•ΌκΈ°πŸ’’πŸ«§πŸŒ€οΈ (6)
        • 🐰☘️🐻‍❄️강아지 μœ‘μ•„ (0)
      • 🐬Actuary🀸‍β™€οΈβœ¨ (1)
      • πŸ‘©‍πŸ’»Developer πŸ’‘ (65)
        • βš’οΈμ‚½μ§ˆ κΈ°λ‘κΈ°πŸ“[TIL] (6)
        • πŸ–ΌοΈFront-end🎨 (3)
        • πŸ’ΎBack-endπŸ•ŠοΈ (29)
        • 🀹‍♀️Algorithm & Coding TestπŸ’ƒ (9)
        • πŸ—»DataπŸ”οΈ (1)
        • πŸ“ProjectπŸ• (9)
      • πŸ’°κ²½μ œμ  자유 λ‹¬μ„±βœŒοΈπŸ€Ÿ (9)
        • πŸ“ŠQuantπŸ“ˆπŸ‘ (5)
        • πŸ°πŸ›’πŸ₯‡ (1)
        • πŸ’Ž 투자 μ‹€μ „ κ²½ν—˜ ☺️ (1)
        • πŸ… Bitcoin 15개 λͺ¨μœΌκΈ° : 2040λ…„ 200μ–΅+ (0)
        • 🌎미ꡭ μ‹œμž₯🏦 (0)
      • 🌀️Cloud🌀️☁️ (2)
        • AWS (1)
        • Kubernetes (0)
        • Google Cloud Professional (0)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • git
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    λ―Έκ΅­μœ ν•™
    가을학기
    CS
    ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
    μ‹œμΉ΄κ³ λŒ€
    μ‹œμΉ΄κ³ 
    AWS
    Java
    μ‹œμΉ΄κ³ λŒ€ν•™κ΅
    λ―Έκ΅­λΉ„μž
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.5
fulfilling_enjoyable yeona🐢🦫
ν‚€-κ°’ μ €μž₯μ†Œ 섀계
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”