Get vs Query vs Scan

Get

  • ๋‹จ์ผ ์กฐํšŒ

Query

  • ์ถ”์ฒœํ•˜๋Š” ์‚ฌ์šฉ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • ํŠน์ • ํŒŒํ‹ฐ์…˜ ํ‚ค๊ฐ€ (์ธ๋ฑ์Šค) ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์กฐํšŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    • ์ฆ‰ ํ•œ์ •์ ์ธ ์กฐ๊ฑด๋งŒ ์„ค์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • query ํ›„ ํ‚ค๋ฅผ ์ •๋ ฌํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ๊ฐ€์ ธ์˜ค๋„๋ก ์กฐ๊ฑด์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • subquery ๊ฐ™์€ ๊ฐœ๋…์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Scan

  • ๊ฐ€์žฅ ํ’๋ถ€ํ•œ ์กฐ๊ฑด ์„ค์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    • ํ•˜์ง€๋งŒ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋กœ๋“œ๋˜๊ธฐ์— ๋ฆฌ์†Œ์Šค ๋ถ€๋‹ด์ด ํฝ๋‹ˆ๋‹ค.

    • DynamoDB๋Š” ๋ฐ์ดํ„ฐ ๋กœ๋“œ๋Ÿ‰์— ๋”ฐ๋ผ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค.

    • ๋”ฐ๋ผ์„œ ์ถฉ๋ถ„ํžˆ ์ž‘์€ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์ •๋ฐ€ํ•œ ์กฐ๊ฑด ๋“ฑ ์„ ๋ณ„์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์…‹์งธ, ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์›Œํฌ๋กœ๋“œ๋Š” ์ˆœ์‹๊ฐ„์— ์—„์ฒญ๋‚œ ๋น„์šฉ์ด ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” read capacity unit ์ด ์‹ค์ œ๋กœ ์ฝ์€ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜๊ธฐ ๋•Œ๋ฌธ

Query ์‹ฌํ™”

  • rdb์—์„œ ํ†ต์šฉ๋˜๋Š” like ๊ฒ€์ƒ‰์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ํ•˜์ง€๋งŒ between ์ ˆ์ด๋‚˜ % ๊ฐ€ ๋’ค์— ๋ถ™๋Š” ํ˜•ํƒœ๋Š” begins_with ์ ˆ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๊ณตํ†ต

  • query์™€ scan์€ ์ตœ๋Œ€ 1๋ฉ”๊ฐ€๊นŒ์ง€๋งŒ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.

์Šค์บ”ํ•œ ํ•ญ๋ชฉ์˜ ์ด ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ ์„ธํŠธ ํฌ๊ธฐ ์ œํ•œ์ธ 1MB๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์Šค์บ”์ด ์ค‘์ง€๋˜๊ณ  ๊ฒฐ๊ณผ๋Š” LastEvaluatedKey ํ›„์† ์ž‘์—…์—์„œ ์Šค์บ”์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์—๋Š” ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ํ•ญ๋ชฉ ์ˆ˜๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ํ•„ํ„ฐ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜๋Š” ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ „์ฒด ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ scan ์กฐํšŒ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ์— ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํŽ˜์ด์ง€๋„ค์ด์…˜

    • LastEvaluatedKey๋ฅผ ํ†ตํ•ด ์ปค์„œ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Last updated

Was this helpful?