Get vs Query vs Scan
Last updated
Last updated
๋จ์ผ ์กฐํ
์ถ์ฒํ๋ ์ฌ์ฉ ๋ฐฉ์์ ๋๋ค.
ํน์ ํํฐ์ ํค๊ฐ (์ธ๋ฑ์ค) ์๋ ํญ๋ชฉ์ ์กฐํ ๊ฐ๋ฅํฉ๋๋ค.
์ฆ ํ์ ์ ์ธ ์กฐ๊ฑด๋ง ์ค์ ๊ฐ๋ฅํฉ๋๋ค.
query ํ ํค๋ฅผ ์ ๋ ฌํ๊ณ ๋ฐ์ดํฐ์ ํ์ ์งํฉ๋ง ๊ฐ์ ธ์ค๋๋ก ์กฐ๊ฑด์ ์ ์ฉํ ์ ์์ต๋๋ค.
subquery ๊ฐ์ ๊ฐ๋ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฅ ํ๋ถํ ์กฐ๊ฑด ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
ํ์ง๋ง ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ก๋๋๊ธฐ์ ๋ฆฌ์์ค ๋ถ๋ด์ด ํฝ๋๋ค.
DynamoDB๋ ๋ฐ์ดํฐ ๋ก๋๋์ ๋ฐ๋ผ ๋น์ฉ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ถฉ๋ถํ ์์ ํ ์ด๋ธ์ ๋ํด ์ ๋ฐํ ์กฐ๊ฑด ๋ฑ ์ ๋ณ์ ์ผ๋ก ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค.
์ ์งธ, ์ค์บ์ ์ํํ๋ ์ํฌ๋ก๋๋ ์์๊ฐ์ ์์ฒญ๋ ๋น์ฉ์ด ๋ค ์ ์๋ค. ์ด๋ read capacity unit ์ด ์ค์ ๋ก ์ฝ์ ๋ฐ์ดํธ ์๋ฅผ ๊ณ ๋ คํ๊ธฐ ๋๋ฌธ
rdb์์ ํต์ฉ๋๋ like ๊ฒ์์ด ๋์ง ์์ต๋๋ค.
ํ์ง๋ง between ์ ์ด๋ %
๊ฐ ๋ค์ ๋ถ๋ ํํ๋ begins_with
์ ์ด ์ง์๋ฉ๋๋ค.
query์ scan์ ์ต๋ 1๋ฉ๊ฐ๊น์ง๋ง ์กฐํ๋ฉ๋๋ค.
์ค์บํ ํญ๋ชฉ์ ์ด ๊ฐ์๊ฐ ์ต๋ ๋ฐ์ดํฐ ์ธํธ ํฌ๊ธฐ ์ ํ์ธ 1MB๋ฅผ ์ด๊ณผํ๋ฉด ์ค์บ์ด ์ค์ง๋๊ณ ๊ฒฐ๊ณผ๋ LastEvaluatedKey ํ์ ์์ ์์ ์ค์บ์ ๊ณ์ํ ์ ์๋ ๊ฐ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ฐํ๋ฉ๋๋ค. ๊ฒฐ๊ณผ์๋ ํ๋๋ฅผ ์ด๊ณผํ๋ ํญ๋ชฉ ์๋ ํฌํจ๋ฉ๋๋ค. ๊ฒ์ ๊ฒฐ๊ณผ ํํฐ ๊ธฐ์ค์ ์ถฉ์กฑํ๋ ํ ์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์์ ์ ์์ต๋๋ค.
์ ์ฒด ๊ฐ์๋ฅผ ๊ตฌํ๋ ๊ฒ์ scan ์กฐํ๊ฐ ํ์ํ๊ธฐ์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
ํ์ด์ง๋ค์ด์
LastEvaluatedKey
๋ฅผ ํตํด ์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์
์ ๊ตฌํํฉ๋๋ค.