4.2 Partitioning

4.2 Partitioning

λ°μ΄ν„°μ˜ 규λͺ¨κ°€ 점점 컀짐에 따라, 데이터λ₯Ό λ™μ μœΌλ‘œ λΆ„ν• ν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€.

  • Dynamo λŠ” 데이터λ₯Ό νŒŒν‹°μ…˜μ— μ €μž₯ν•©λ‹ˆλ‹€.

  • Dynamo 의 λΆ„ν•  ꡬ성은 'Consistent Hashing' 을 μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ μ €μž₯μ†Œ ν˜ΈμŠ€νŠΈμ— λΆ€ν•˜λ₯Ό λΆ„μ‚°μ‹œν‚΅λ‹ˆλ‹€.

DynamoDB λŠ” λ‹€μŒκ³Ό 같은 μƒν™©μ—μ„œ ν…Œμ΄λΈ”μ— μΆ”κ°€ νŒŒν‹°μ…˜μ„ ν• λ‹Ήν•©λ‹ˆλ‹€.

  • κΈ°μ‘΄ νŒŒν‹°μ…˜μ΄ 지원할 수 μžˆλŠ” ν•œλ„λ₯Ό μ΄ˆκ³Όν•˜μ—¬ ν…Œμ΄λΈ”μ˜ ν• λ‹Ήλœ μ²˜λ¦¬λŸ‰ 섀정을 λŠ˜λ¦¬λŠ” 경우.

  • κΈ°μ‘΄ νŒŒν‹°μ…˜ μš©λŸ‰μ΄ λ‹€ μ°¨μ„œ μΆ”κ°€ μŠ€ν† λ¦¬μ§€ 곡간이 ν•„μš”ν•œ 경우.

방법

  • κ°€μž₯ 큰 ν•΄μ‹œκ°’μ΄ κ°€μž₯ μž‘μ€ ν•΄μ‹œκ°’μœΌλ‘œ 쀄 λ°”κΏˆλ©λ‹ˆλ‹€.

  • ν‚€λ‘œ μ‹λ³„λœ 각 데이터 ν•­λͺ©μ€ λ°μ΄ν„°μ˜ ν‚€λ₯Ό ν•΄μ‹±ν•˜μ—¬ λ§μ—μ„œ ν•΄λ‹Ή μœ„μΉ˜λ₯Ό μ‚°μΆœν•œ λ‹€μŒ, μ‹œκ³„ λ°©ν–₯으둜 κ±·λŠ” λ°©μ‹μœΌλ‘œ ν•­λͺ©μ˜ μœ„μΉ˜λ³΄λ‹€ 큰 μœ„μΉ˜μ˜ 첫번째 λ…Έλ“œλ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€.

Virtual Nodes μ‚¬μš© 이점

  • Node κ°€ μž₯μ• λ‚˜ μœ μ§€κ΄€λ¦¬ 둜 인해 μ‚¬μš©ν• μˆ˜ μ—†κ²Œλ˜λ©΄, 이 λ…Έλ“œμ— μ˜ν•΄ κ΄€λ¦¬λ˜λŠ” load λŠ” λ‚¨μ•„μžˆλŠ” μ‚¬μš©κ°€λŠ₯ν•œ Nodes 둜 κ³ λ₯΄κ²Œ λΆ„μ‚°λ©λ‹ˆλ‹€.

  • Node κ°€ 이후 λ‹€μ‹œ μ‚¬μš©κ°€λŠ₯ν•˜κ²Œ λ˜κ±°λ‚˜ μƒˆλ‘œμš΄ λ…Έλ“œκ°€ μΆ”κ°€λ˜λ©΄, μƒˆλ‘­κ²Œ μ‚¬μš©κ°€λŠ₯해진 λ…Έλ“œλŠ” λ‹€λ₯Έ λ…Έλ“œλ“€λ‘œλΆ€ν„° load λ₯Ό κ· λ“±ν•˜κ²Œ 받아와 μˆ˜μš©ν•©λ‹ˆλ‹€.

  • λ…Έλ“œκ°€ μ±…μž„μ§€λŠ” Virtual Nodes 의 μˆ˜λŠ” Capacity 에 κΈ°λ°˜ν•˜μ—¬ 결정될 수 있으며, 물리적 인프라 μ•ˆμ—μ„œ heterogeneity λ₯Ό κ³ λ €ν•©λ‹ˆλ‹€.

https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html

Last updated