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