Skip to main content

14D. DynamoDB ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

2024๋…„ 4์›” 8์ผAbout 1 minAWScrashcoursepyrasisawsamazon-web-services

14D. DynamoDB ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ ๊ด€๋ จ

๋ชฉ์ฐจ

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

14์žฅ - 4. DynamoDB ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

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

์•ž์„œ UsersLeaderboard ํ…Œ์ด๋ธ”๊ณผ FriendsLeaderboard ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ฟผ๋ฆฌ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋‘ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DynamoDB ํ…Œ์ด๋ธ” ๋ชฉ๋ก์—์„œ  ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ  ์œ„์ชฝ <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
DynamoDB ํ…Œ์ด๋ธ” ๋ชฉ๋ก์—์„œ UsersLeaderboard ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ  ์œ„์ชฝ [Explore Table] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

UsersLeaderboard ํ…Œ์ด๋ธ” ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์•„์ดํ…œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ๋นˆ ํ…Œ์ด๋ธ”์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

<FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
[New Item] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

UsersLeaderboard ํ…Œ์ด๋ธ”์— ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ํ•  ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์€ ์•„๋ž˜์— ํ‘œ๋กœ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ [Put Item] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์•„์ดํ…œ ์ถ”๊ฐ€๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์ฐฝ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

<FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ณ„์† ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[OK] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ณ„์† ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ํ‘œ์— ๋‚˜์™€์žˆ๋Š” ๋Œ€๋กœ ์œ ์ € 3๋ช…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

IdWeekTopScoreName
12014-05-09,2014-05-1532847John
22014-05-09,2014-05-1542710Maria
32014-05-09,2014-05-1519202Andrew
12014-05-02,2014-05-0824209John
๋งจ ์œ„์ชฝ <FontIcon icon="iconfont icon-select"/> ํƒญ์„ ํด๋ฆญํ•œ ๋’ค <FontIcon icon="iconfont icon-select"/>์„ ์„ ํƒํ•˜๊ณ  <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
๋งจ ์œ„์ชฝ [Browse Items] ํƒญ์„ ํด๋ฆญํ•œ ๋’ค [Scan]์„ ์„ ํƒํ•˜๊ณ  [Go] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ๋งจ ์œ„์ชฝ <FontIcon icon="iconfont icon-select"/> ํƒญ์„ ํด๋ฆญํ•˜์—ฌ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.
์ด์ œ ๋งจ ์œ„์ชฝ [List Tables] ํƒญ์„ ํด๋ฆญํ•˜์—ฌ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.
DynamoDB ํ…Œ์ด๋ธ” ๋ชฉ๋ก์—์„œ  ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ  ์œ„์ชฝ <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
DynamoDB ํ…Œ์ด๋ธ” ๋ชฉ๋ก์—์„œ FriendsLeaderboard ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ  ์œ„์ชฝ [Explore Table] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

FriendsLeaderboard ํ…Œ์ด๋ธ” ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์•„์ดํ…œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ๋นˆ ํ…Œ์ด๋ธ”์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

<FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
[New Item] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

FriendsLeaderboard ํ…Œ์ด๋ธ”์— ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ํ•  ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์€ ์•„๋ž˜์— ํ‘œ๋กœ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ [Put Item] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์•„์ดํ…œ ์ถ”๊ฐ€๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์ฐฝ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

<FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ณ„์† ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[OK] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ณ„์† ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œ์— ๋‚˜์™€์žˆ๋Š” ๋ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋กœ ์นœ๊ตฌ์ธ ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

IdFriendIdAndWeekScoreName
11,2014-05-09,2014-05-1532847John
12,2014-05-09,2014-05-1532847John
21,2014-05-09,2014-05-1542710Maria
22,2014-05-09,2014-05-1542710Maria
23,2014-05-09,2014-05-1542710Maria
32,2014-05-09,2014-05-1519202Andrew
33,2014-05-09,2014-05-1519202Andrew
๋งจ ์œ„์ชฝ <FontIcon icon="iconfont icon-select"/> ํƒญ์„ ํด๋ฆญํ•œ ๋’ค <FontIcon icon="iconfont icon-select"/>์„ ์„ ํƒํ•˜๊ณ  <FontIcon icon="iconfont icon-select"/> ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
๋งจ ์œ„์ชฝ [Browse Items] ํƒญ์„ ํด๋ฆญํ•œ ๋’ค [Scan]์„ ์„ ํƒํ•˜๊ณ  [Go] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.