Skip to main content

14A. DynamoDB์˜ ๋ฐ์ดํ„ฐ

About 1 minAWScrashcoursepyrasisawsamazon-web-services

14A. DynamoDB์˜ ๋ฐ์ดํ„ฐ ๊ด€๋ จ

๋ชฉ์ฐจ

์•„๋งˆ์กด ์›น ์„œ๋น„์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ 

14์žฅ - 1. DynamoDB์˜ ๋ฐ์ดํ„ฐ

์•„๋งˆ์กด ์›น ์„œ๋น„์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ 

DynamoDB๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— DynamoDB์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋จผ์ € ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DynamoDB์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ…Œ์ด๋ธ”(Table): ํ…Œ์ด๋ธ”์€ ์•„์ดํ…œ๋“ค์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์•„์ดํ…œ์˜ ๊ฐœ์ˆ˜๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”์€ ๊ธฐ๋ณธ ํ‚ค(Primary Key)๋ฅผ ๋ฐ˜๋“œ์‹œ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „๋‹น ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ด๋ธ”์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋Š” 256๊ฐœ์ด๋ฉฐ AWS์— ์š”์ฒญํ•˜์—ฌ ๋” ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•„์ดํ…œ(Item): ์•„์ดํ…œ์€ ์†์„ฑ(Attribute)๋“ค์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์˜ ๊ฐœ์ˆ˜๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ ์•„์ดํ…œ์˜ ํฌ๊ธฐ๋Š” ์†์„ฑ ์ด๋ฆ„๊ณผ ๊ฐ’์„ ํฌํ•จํ•˜์—ฌ 64KB๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค๋Š” ํ•„์ˆ˜๋กœ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ๋ณตํ•ฉํ‚ค์™€ ๊ธฐํƒ€ ์†์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ์†์„ฑ(Attribute): ์†์„ฑ์€ ํ‚ค-๊ฐ’(Key-Value) ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํ‚ค๋Š” ๋ฌธ์ž์—ด์ด๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ์ด ์ง€์›ํ•˜๋Š” ๊ฐ’ ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์Šค์นผ๋ผ ๋ฐ์ดํ„ฐ ํ˜•์‹(Scalar data types): ์ˆซ์ž(Number), ๋ฌธ์ž์—ด(String), ๋ฐ”์ด๋„ˆ๋ฆฌ(Binary)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ˆซ์ž: ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์‹ค์ˆ˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜ 38์ž๋ฆฌ, 10-128์—์„œ 10+126๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ์ˆซ์ž๋Š” 0์„ ํŠธ๋ฆผ(Trim)ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ) 0.3 โ†’ .3, 00300 โ†’ 300
    • ๋ฌธ์ž์—ด: UTF8 ํ˜•์‹์ด๋ฉฐ ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ•  ๋•Œ์—๋Š” ์•„์Šคํ‚ค(ASCII) ์ฝ”๋“œ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐ”์ด๋„ˆ๋ฆฌ: ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋Š” BASE64 ํ˜•์‹์œผ๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์ €์žฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ•  ๋•Œ์—๋Š” ๊ฐ ๋ฐ”์ดํŠธ๋ฅผ ๋ถ€ํ˜ธ ์—†๋Š”(unsigned) ์ •์ˆ˜๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ๊ฐ’ ํ˜•์‹(Multi-valued types): ์Šค์นผ๋ผ ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ๋ฐฐ์—ด ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ˆซ์ž ์„ธํŠธ(Number Set), ๋ฌธ์ž์—ด ์„ธํŠธ(String Set), ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ธํŠธ(Binary Set)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๊ฐ’ ํ˜•์‹์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†์œผ๋ฉฐ ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’๋“ค์€ ์ •๋ ฌ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ •๋ ฌ ์ˆœ์„œ๋„ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๊ฐ’ ํ˜•์‹์€ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์†์„ฑ์˜ ๊ฐ’์— NULL์ด๋‚˜ ๋นˆ ๋ฌธ์ž์—ด์€ ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

DynamoDB์—์„œ ๊ฒ€์ƒ‰์„ ํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ ํ‚คPrimary Key๋กœ ์ธ๋ฑ์ŠคIndex๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋ณธ ํ‚ค๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ์ง€์ •ํ•ด์•ผ ํ•˜๋ฉฐ ์ด ๊ธฐ๋ณธ ํ‚ค๋กœ ์ƒ์„ฑ๋˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ…Œ์ด๋ธ” ์ธ๋ฑ์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. DynamoDB๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ธฐ๋ณธ ํ‚ค ํ˜•์‹์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

  • ํ•ด์‹œ(Hash) ํ˜•์‹ ๊ธฐ๋ณธ ํ‚ค: ์†์„ฑ ํ•˜๋‚˜๋ฅผ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค์˜ ๊ฐ’์€ ์Šค์นผ๋ผ ๋ฐ์ดํ„ฐ ํ˜•์‹๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๊ฐ’ ํ˜•์‹์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ•ด์‹œ์™€ ๋ฒ”์œ„(Range) ํ˜•์‹ ๊ธฐ๋ณธ ํ‚ค: ์†์„ฑ ๋‘ ๊ฐœ๋ฅผ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.(๋ณตํ•ฉํ‚ค) ์ฒซ ๋ฒˆ์งธ ์†์„ฑ์€ ํ•ด์‹œ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ ์†์„ฑ์€ ๋ฒ”์œ„ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ณตํ•ฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

ํ•ด์‹œ ๊ธฐ๋ณธ ํ‚ค๋Š” ์ผ์น˜Equal ๋ฐฉ์‹ ๊ฒ€์ƒ‰๋งŒ ์ง€์›ํ•˜๋ฉฐ ๋ฒ”์œ„ ๊ธฐ๋ณธ ํ‚ค๋Š” ์ผ์น˜, ๋ถ€๋“ฑํ˜ธ, ํฌํ•จ, ~๋กœ ์‹œ์ž‘ ๋“ฑ์˜ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด์‹œ ๊ธฐ๋ณธ ํ‚ค ์†์„ฑ ๊ฐ’์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” 2048 ๋ฐ”์ดํŠธ์ด๋ฉฐ ๋ฒ”์œ„ ๊ธฐ๋ณธ ํ‚ค ์†์„ฑ ๊ฐ’์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” 1024 ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค.

DynamoDB๋Š” ๊ธฐ๋ณธ ํ‚ค๋กœ ์ƒ์„ฑํ•˜๋Š” ํ…Œ์ด๋ธ” ์ธ๋ฑ์Šค ์ด์™ธ์—๋„ ๋ณด์กฐ ์ธ๋ฑ์ŠคSecondary Index๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค๋กœ ์ƒ์„ฑํ•œ ์ธ๋ฑ์Šค ํ•˜๋‚˜๋งŒ์œผ๋กœ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์†์„ฑ์œผ๋กœ ๋ณด์กฐ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฒ€์ƒ‰์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š” ์‚ฌ์šฉ์ด ๋นˆ๋ฒˆํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ฝ๊ธฐ/์“ฐ๊ธฐ ์šฉ๋Ÿ‰ ์œ ๋‹›์„ ๋”ฐ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๋ณด์กฐ ์ธ๋ฑ์Šค(Local Secondary Index): ํ•ด์‹œ ํ‚ค๋Š” ํ…Œ์ด๋ธ” ์ธ๋ฑ์Šค์˜ ํ•ด์‹œ ๊ธฐ๋ณธ ํ‚ค์™€ ๊ฐ™๊ณ , ๋ฒ”์œ„ ํ‚ค๋Š” ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”๋‹น 5๊ฐœ๊นŒ์ง€ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ํ•จ๊ป˜ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋œ ์ดํ›„์—๋Š” ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(๋กœ์ปฌ ๋ณด์กฐ ์ธ๋ฑ์Šค ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถœ์‹œ ์˜ˆ์ •). ๋˜ํ•œ, ๋กœ์ปฌ ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์—์„œ ํ•ด์‹œ ๊ธฐ๋ณธ ํ‚ค์™€ ๋ฒ”์œ„ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธ€๋กœ๋ฒŒ ๋ณด์กฐ ์ธ๋ฑ์Šค(Global Secondary Index): ํ•ด์‹œ ํ‚ค์™€ ๋ฒ”์œ„ ํ‚ค ๋ชจ๋‘ ํ…Œ์ด๋ธ” ์ธ๋ฑ์Šค์™€ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ”์œ„ ํ‚ค๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”๋‹น 5๊ฐœ๊นŒ์ง€ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ€๋กœ๋ฒŒ ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ํ•จ๊ป˜ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋œ ์ดํ›„์—๋Š” ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

DynamoDB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ Eventually Consistent Read์™€ Strongly Consistent Read๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Eventually Consistent Read(๊ธฐ๋ณธ): ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰(Read Throughput)์„ ์ตœ๋Œ€ํ™”ํ•˜์ง€๋งŒ ์ฝ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ตœ๊ทผ ์™„๋ฃŒ๋œ ์“ฐ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์“ฐ๊ธฐ๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ๋ณต์‚ฌ๋ณธ์— ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์€ 1์ดˆ๋‚ด์— ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์œผ๋ ค๋ฉด ์งง์€ ์‹œ๊ฐ„ ๋‚ด์— ์ฝ๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Strongly Consistent Read: ์ตœ๊ทผ ์™„๋ฃŒ๋œ ์“ฐ๊ธฐ ๊ฒฐ๊ณผ๊ฐ€ ๋ชจ๋‘ ๋ฐ˜์˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

ํ”„๋กœ๋น„์ €๋‹๋œ ์ฒ˜๋ฆฌ๋Ÿ‰Provisioned Throughput์€ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ˆ˜์น˜๋ฅผ ์ง€์ •ํ•˜๋ฉด DynamoDB๊ฐ€ ์•Œ์•„์„œ ์ง€์ •๋œ ์ˆ˜์น˜๋งŒํผ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ํ•„์š”ํ•œ ์ฝ๊ธฐ ์šฉ๋Ÿ‰ ์œ ๋‹›(Read Capacity Units): ์ดˆ๋‹น ์ฝ์€ ์•„์ดํ…œ ์ˆ˜ x KB ๋‹จ์œ„ ์•„์ดํ…œ ํฌ๊ธฐ(๊ทผ์‚ฌ์น˜ ๋ฐ˜์˜ฌ๋ฆผ) (Eventually Consistent Read๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ดˆ๋‹น ์ฝ์€ ์•„์ดํ…œ ์šฉ๋Ÿ‰์€ ๋‘ ๋ฐฐ๊ฐ€๋ฉ๋‹ˆ๋‹ค.)
  • ํ•„์š”ํ•œ ์“ฐ๊ธฐ ์šฉ๋Ÿ‰ ์œ ๋‹›(Write Capacity Units): ์ดˆ๋‹น ์“ด ์•„์ดํ…œ ์ˆ˜ x KB ๋‹จ์œ„ ์•„์ดํ…œ ํฌ๊ธฐ(๊ทผ์‚ฌ์น˜ ๋ฐ˜์˜ฌ๋ฆผ)

์˜ˆ

  • 512๋ฐ”์ดํŠธ(1KB๋กœ ๋ฐ˜์˜ฌ๋ฆผ ๋จ)๋ฅผ ์ดˆ๋‹น 200200๊ฐœ ํ•ญ๋ชฉ์„ ์ฝ์œผ๋ฉด(์“ฐ๋ฉด), 1KBร—200=200์œ ๋‹›1\text{KB}\times{200}=200\text{์œ ๋‹›}
  • 1.5KB(2KB๋กœ ๋ฐ˜์˜ฌ๋ฆผ ๋จ)๋ฅผ ์ดˆ๋‹น 200200๊ฐœ ํ•ญ๋ชฉ์„ ์ฝ์œผ๋ฉด(์“ฐ๋ฉด), 2KBร—200=400์œ ๋‹›2\text{KB}\times{200}=400\text{์œ ๋‹›}

Strongly Consistent Read๋Š” 1000 ์ฝ๊ธฐ ์šฉ๋Ÿ‰ ์œ ๋‹›์œผ๋กœ 1KB ์งœ๋ฆฌ ์•„์ดํ…œ์„ ์ดˆ๋‹น 1000๋ฒˆ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ Eventually Consistent Read๋Š” 500 ์ฝ๊ธฐ ์šฉ๋Ÿ‰ ์œ ๋‹›์œผ๋กœ 1KB ์งœ๋ฆฌ ์•„์ดํ…œ์„ 1000๋ฒˆ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฝ๊ธฐ ์šฉ๋Ÿ‰์˜ ์œ ๋‹› ์ˆ˜๋Š” API ํ˜ธ์ถœ ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ดˆ๋‹น ์ฝ์€ ์•„์ดํ…œ ์ˆ˜๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. 500 ์œ ๋‹›์„ ์ฝ๋Š”๋‹ค๊ณ  ํ•˜๋ฉด 1KB ์งœ๋ฆฌ ์•„์ดํ…œ์„ GetItem์œผ๋กœ 500๋ฒˆ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๊ณผ, BatchGetItem์œผ๋กœ ์•„์ดํ…œ 10๊ฐœ์”ฉ 50๋ฒˆ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

DynamoDB์˜ ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ํ•œ ๋ฒˆ์— ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๋Ÿ‰์€ 1MB์ž…๋‹ˆ๋‹ค.

  • Scan: ์กฐ๊ฑด ์—†์ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • Query: ํ•ด์‹œ (๊ธฐ๋ณธ)ํ‚ค์— ํŠน์ • ๊ฐ’์„ ์ง€์ •ํ•˜๊ณ , ๋ฒ”์œ„ (๊ธฐ๋ณธ)ํ‚ค์— ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋ฒ”์œ„ (๊ธฐ๋ณธ)ํ‚ค์— ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DynamoDB์˜ ์ œ์•ฝ ์กฐ๊ฑด

DynamoDB์˜ ๊ธฐ์ˆ ์  ์ œ์•ฝ ๋ฐ ํ•œ๊ณ„(Limit)์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Service, account, and table quotas in Amazon DynamoDB - Amazon DynamoDB

Examine the service, account, and table level quotas in place with DynamoDB, and learn which are default values and which can be tuned for your workloads.

์ด์ฐฌํฌ (MarkiiimarK)
Never Stop Learning.