๐Ÿ—ƒ๏ธ Database

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

jobey 2024. 3. 7. 21:31
๋ฐ˜์‘ํ˜•

DB๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๋ถ€ํ•˜์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

https://www.voxels.com/play

 

In-world | Voxels

Visit this Voxels Parcel!

www.voxels.com

์œ„ ๋งํฌ๋Š” ์˜จ๋ผ์ธ ๊ธฐ๋ฐ˜์˜ ๊ฑด์ถ• ๊ฒŒ์ž„ ์‚ฌ์ดํŠธ์˜ ๋งํฌ ์ž…๋‹ˆ๋‹ค.

๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ธ”๋ก๋“ค์„ ๋ฐฐ์น˜ํ•˜๊ณ  ๋””์ž์ธ ํ•˜๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค.

 

์œ„ ๊ฒŒ์ž„์„ ๋‘˜๋Ÿฌ๋ณด๋˜ ์ค‘ ๊ถ๊ธˆํ•œ ์ ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
๊ฒŒ์ž„๋‚ด ์›”๋“œ์—๋Š” ์ˆ˜๋งŽ์€ ๋ธ”๋ก๋“ค์ด ์žˆ์„ ํ…๋ฐ ์ด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์–ด๋–ป๊ฒŒ ์ €์žฅํ•˜๊ณ  ์žˆ์„๊นŒ ํ•˜๋Š” ๊ถ๊ธˆ์ฆ ์ด์˜€์Šต๋‹ˆ๋‹ค.

 

 

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ธ”๋กํ•˜๋‚˜๋ฅผ ํ•˜๋‚˜์˜ ROW๋กœ ์ฒ˜๋ฆฌ

์šฐ์„  ํ”ํžˆ๋“ค ์‚ฌ์šฉํ•˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ž…์žฅ์—์„œ ์ƒ๊ฐ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑํ•œ ๋ธ”๋ก ํ•˜๋‚˜๋‹น ํ•˜๋‚˜์˜ Row๋ฅผ ๊ฐ€์ง€๊ณ , ํ•ด๋‹น ๋ธ”๋ก์˜ xyz ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

 

| ๋ธ”๋กA | 6 | -5 | -1 | 
๊ฐ™์€ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. 
๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ  ์ถ”ํ›„ ์กฐํšŒํ•  ๋•Œ ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์—ผ๋ ค๋„ ์—†์–ด๋ณด์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋กœ ๊ธฐ๋ณธ๋ธ”๋ก ์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด์„œ ๊ธฐ๋ณธ ๊ฐ’์„ ์ •์˜ํ•˜๊ณ  ํ•ด๋‹น ๋ธ”๋ก์˜ id๋งŒ ์ฐธ์กฐํ•˜๋Š” ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ

์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ œ

์œ„ ๋ฐฉ์‹์€ ๋ณ„ ๊ณ ๋ฏผ ์—†์ด ์‰ฝ๊ฒŒ ์‰ฝ๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก ํ•˜๋‚˜๋‹น Row๊ฐ€ ํ•˜๋‚˜์”ฉ ์ƒ๊ธด๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณผํ•˜๊ฒŒ ๋งŽ์ด ์Œ“์ผ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.

 

์•„๋ž˜ ์˜์ƒ์—์„œ๋Š” ๋Œ€๋žต 100๋งŒ ๋ธ”๋ก์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ

๊ทน๋‹จ์ ์ธ ์˜ˆ์‹œ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฑด์ถ•๋ฌผ ํ•˜๋‚˜๋•Œ๋ฌธ์— row๊ฐ€ 100๋งŒ๊ฐœ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

 

๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์ž‘์œ„๋กœ ์„ž์—ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐํšŒํ•  ๋•Œ๋„ ๋ถ€ํ•˜๊ฐ€ ์ƒ๋‹นํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

user_id ํ˜น์€ block_id ๋“ฑ์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ์–ด ๋‚˜๋ฆ„๋Œ€๋กœ ์„ฑ๋Šฅ ์ด์Šˆ๋ฅผ ํ”ผํ•ด๊ฐˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

https://www.youtube.com/watch?v=CrdjKuedDs0

 

๋ธ”๋ก ์ƒ์„ฑ์‹œ์—๋Š” ๋ธ”๋ก ๊ฐฏ์ˆ˜์ œํ•œ ๋“ฑ์œผ๋กœ ์–ด๋А์ •๋„ ์˜ˆ๋ฐฉ์ด ๊ฐ€๋Šฅํ•˜๊ธด ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ Object์—๋Š” ๋ธ”๋ก์„ n๊ฐœ ๊นŒ์ง€๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•˜๋‹ค๋Š” ์กฐ๊ฑด์„ ๊ฑธ์–ด๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๊ฐฏ์ˆ˜์ œํ•œ์œผ๋กœ ์˜ˆ๋ฐฉ์„ ํ–ˆ๋‹ค๊ณ  ํ•œ๋“ค, ๋ธ”๋ก์„ ์‚ญ์ œํ•  ๋•Œ๋Š” ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

๋…ผ๋ฆฌ์ ์œผ๋กœ ์‚ญ์ œ์ฒ˜๋ฆฌ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ด๋•Œ๋„ ๊ฒฐ๊ตญ์—” ๋ชจ๋“  Row์— ๋Œ€ํ•ด์„œ isDelete๋ฅผ Update ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

 

๋ฌผ๋ก  Asset ์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ๋ธ”๋ก๋“ค์˜ ์ง‘ํ•ฉ ์—ญํ• ์„ ํ•˜๊ณ  Asset ํ…Œ์ด๋ธ”์—์„œ isDelete true ์ฒ˜๋ฆฌ ํ•ด๋„ ํฐ ๋ฌธ์ œ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ธ”๋ก ๊ฐฏ์ˆ˜์™€ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š” API๊ฐ€ ์žˆ๋‹ค๋ฉด,

Asset์ด ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‚ญ์ œ๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ์—์…‹์—์„œ ์‚ฌ์šฉํ•œ ๋ธ”๋ก์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋”ํ•ด์ค€๋‹ค. 

๋ผ๋Š” ๋ถˆํ•„์š”ํ•œ ๋กœ์ง์ด ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์‹ค์ œ ๋ชจ๋“  ๋ธ”๋ก์ด isDelete true๋กœ Update๋˜์–ด์žˆ์—ˆ๋‹ค๋ฉด ๋‹จ์ˆœํžˆ isDelete true์ธ ๊ฐ’์„ ๋ณด์œ ๋Ÿ‰์—์„œ ๋นผ์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜๋Š” ์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•„ ์—ฌ์ „ํžˆ ์ฐ์ฐํ•ฉ๋‹ˆ๋‹ค.

 

๋ธ”๋ก๋“ค์˜ ์œ„์น˜์™€ ์ •๋ณด๋ฅผ ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์ฒ˜๋ฆฌ

์ด์ „์— ํ•˜๋‚˜์˜ Row๋กœ ๋ธ”๋กํ•˜๋‚˜๋ฅผ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๋ฉด ์ด๋ฒˆ์—” ํ•˜๋‚˜์˜ Row๋Š” ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ Object๋ฅผ ์˜๋ฏธํ•˜๋„๋ก ์„ค๊ณ„ํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก 100๋งŒ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฑด์ถ•๋ฌผ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์ด๋Š” user_object ๋ผ๋Š” ํ…Œ์ด๋ธ”์— Row๊ฐ€ ํ•˜๋‚˜ ์ƒ๊ธฐ๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

 

์œ„ ์˜ˆ์‹œ์˜ position ์ด๋ผ๋Š” ์ปฌ๋Ÿผ์ด ๋ธ”๋ก๋“ค์˜ ์œ„์น˜์™€ ์ •๋ณด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ปฌ๋Ÿผ์ž…๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ์ •ํ•ด๋‘” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ์ง๋ ฌํ™”ํ•˜์—ฌ String ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

์œ ์ €๋“ค์ด ์ƒ์„ฑํ•œ user_object ํ…Œ์ด๋ธ”์— ํ•˜๋‚˜์˜ Row๊ฐ€ ์ƒ๊ธธ ๋•Œ ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ๊ฑด์ถ•๋ฌผ์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์ด๋‹ˆ ์ง๊ด€์ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ object ์‚ญ์ œ์‹œ์—๋„ ํ•ด๋‹น Rowํ•˜๋‚˜๋งŒ ์‚ญ์ œ์ฒ˜๋ฆฌ ํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ์ด๊ธฐ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ฑธ๋ฆฌ๋Š” ๋ถ€ํ•˜๋„ ํฌ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ œ

์œ„ ๋ฐฉ๋ฒ•๋„ ๋ฌธ์ œ๋Š” ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ์„  ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ’๋“ค์„ JSON์œผ๋กœ ํ†ต์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ์–ด์„œ Join์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

 

x,y,z ๊ฐ’๋“ค์ด์•ผ Joinํ•  ์ผ์ด ๋งŽ์ด ์—†์„ ๊ฒƒ ๊ฐ™์•„์„œ ๋ฌธ์ œ๊ฐ€ ์•ˆ๋˜๊ฒ ์ง€๋งŒ,color, type ๋“ฑ ๋ธ”๋ก๋“ค์˜ ์ •๋ณด ๊ด€๋ จ ๋ถ€๋ถ„์€ ์กฐ์ธ์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์œ„ ์˜ˆ์‹œ์—์„œ๋Š” color๋ผ๋Š” ํ•„๋“œ๋ฅผ ๋”ฐ๋กœ ๋‘์—ˆ์ง€๋งŒ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•ด "๊ธฐ๋ณธ๋ธ”๋ก" ์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด๋‘์—ˆ๋‹ค๋ฉด id๊ฐ’๋งŒ ์ฐธ์กฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

์ด๋•Œ ์ด๋ฏธ JSON์œผ๋กœ ๋˜์–ด์žˆ๋Š” position ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ์—ญ์ง๋ ฌํ™” ํ•˜๊ณ  ์ด ๊ฐ’์„ for๋ฌธ์œผ๋กœ ๋Œ๋ ค ๋ธ”๋ก ์ •๋ณด๋ฅผ ๊ฐ ์ธ๋ฑ์Šค์˜ ๊ฐ์ฒด๋งˆ๋‹ค ์ง‘์–ด๋„ฃ์–ด์ค˜์•ผํ•˜๋Š” ๊ฐ€๊ณต์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๊ธฐ๋ณธ๋ธ”๋ก ํ…Œ์ด๋ธ”์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๊ณผ ๊ด€๊ณ„๊ฐ€ ๋งบ์–ด์ ธ ์žˆ๋‹ค๋ฉด ์œ„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์œ„์—์„œ๋„ ๋งํ–ˆ๋˜ ๋‚ด์šฉ์ด์ง€๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ˆ˜๋Ÿ‰ ์กฐํšŒ ๊ฐ™์€ API๊ฐ€ ์žˆ๋‹ค๋ฉด JSON์œผ๋กœ ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ ํŠน์„ฑ์ƒ Sql๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

๋˜ํ•œ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”๋Š” ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ๊ฐ€ ํฐํŽธ์ด๋ผ๊ณ  ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ณต ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋Š” ์บ์‹ฑ์ฒ˜๋ฆฌ ํ•ด์„œ ์†Œ๋ชจ๋ฅผ ์กฐ๊ธˆ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๊ทผ๋ณธ ์ ์ธ ํ•ด๊ฒฐ์ฑ…์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.

 

 

NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์ด ๊ฒฝ์šฐ์—๋Š” RDBMS ๋ณด๋‹ค๋Š” ๋‚˜์€ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

์ •ํ˜•ํ™”๋œ ๊ตฌ์กฐ๊ฐ€ ์—†์œผ๋‹ˆ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธธ์ด์ œํ•œ ์—†์ด ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜๋Š” NBT ( Named Binary Tag )๋ผ๋Š” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ด๊ณ , ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๋‚ด์˜ ๊ฐ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ ์“ฐ์ด๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค.

{
  "Chunk": {
    "x": 0, "y": 0, "z": 1,
    "Blocks": [
      {
        "Position": { "x": 0, "y": 0, "z": 1 },
        "Type": "Stone",
        "State": "Intact"
      }
      // ๊ธฐํƒ€ ๋ธ”๋ก ์ •๋ณด
    ]
  }
}

 

Chunk๋ผ๋Š” ๋ธ”๋ก๋“ค์˜ ์ง‘ํ•ฉ์— ๋ธ”๋ก๋“ค์„ ๋ฐฐ์น˜ํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. Blocks๋ผ๋Š” ๋ฐฐ์—ด์— ๋ชจ๋“  ๋ธ”๋ก๋“ค์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
ํ•˜๋‚˜์˜ Object๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด ํ•˜๋‚˜์˜ ๋„ํ๋จผํŠธ( RDBMS ๋ ˆ์ฝ”๋“œ )๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

JSON ํ˜•ํƒœ์ด๋ฉฐ ๋ฐฐ์—ด ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ž์œ ๋กœ์šด ๋ฉด์—์„œ ๋ณด๋ฉด ํ˜„์žฌ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ์•ˆ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™” ํ•˜์ง€ ๋ชปํ•ด์„œ ์ค‘๋ณต๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ทธ๋ž˜์„œ RDBMS์™€ NoSQL์„ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–จ๊นŒ ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
NoSQL์—๋Š” Blocks ์™€ ๊ฐ™์€ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  user_uuid, block_uuid ์™€ ๊ฐ™์ด ์ฐธ์กฐ๋ฐ์ดํ„ฐ๋ฅผ uuid ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด๋‘๋ฉด ๋‘๊ฐ€์ง€ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด์ ์„ ๋ชจ๋‘ ์ฑ™๊ธธ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

 

๋‹ค๋งŒ, RDBMS๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•ด์ง€๋ฉด DB์— ์ฟผ๋ฆฌ๋ฅผ ๊ทธ๋งŒํผ ์—ฌ๋Ÿฌ๋ฒˆ ๋‚ ๋ ค์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.

 

ํ•ด๊ฒฐ๋ฐฉ์•ˆ

 

1. ์บ์‹ฑ

๊ธฐ๋ณธ ๋ธ”๋Ÿญ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์กฐํšŒ๊ฐ€ ์ƒ๋‹นํžˆ ์žฆ๊ณ  ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์ด ํ˜„์ €ํžˆ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹ฑ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์ ˆ์•ฝ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

2. Sql IN์ ˆ

SELECT * FROM table WHERE block_id IN (1, 2, ..., N);

IN ์ ˆ์€ Row์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JOIN๋ฌธ์ด ๋งŽ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์„ ํ–‰ ํ…Œ์ด๋ธ”์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ณ ๋ คํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

์‚ฌ์‹ค ๋Œ€๋ถ€๋ถ„์˜ ํ† ์ดํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ๋Š” ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ธ์ง€ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์‹ค์ œ ๊ทœ๋ชจ๊ฐ€ ์ปค์ ธ ์„ฑ๋Šฅ์ด์Šˆ๊ฐ€ ์กฐ๊ธˆ์”ฉ ์ƒ๊ธฐ๋ฉด ์ตœ์ ํ™” ํ•˜๋ฉด ๋˜๋Š” ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

๋งˆ์น˜๋ฉฐ

์ด๋Ÿฐ์ €๋Ÿฐ ์ƒํ™ฉ์„ ๋ฏธ๋ฆฌ ๋Œ€์‘ํ•ด๋‘๋Š” ๊ฒƒ๋„ ์ข‹์ง€๋งŒ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒƒ์„ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋ฉด

์ž์นซ ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์„ธํŒ… ํ•˜๊ฑฐ๋‚˜, ๊ธฐํš ํ•˜๋‹ค๋ณด๋ฉด ์ด๊ฒƒ๋„ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๊ณ  ์ €๊ฒƒ๋„ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ?

๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค.

 

์ด๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค๋•Œ๋ฉด ๋ณธ์ธ์—๊ฒŒ ๋‹ค์‹œํ•œ๋ฒˆ ๋ฌผ์–ด๋ณด์„ธ์š”.

๊ทธ๊ฒŒ ์ง€๊ธˆ ์ง„์งœ๋กœ ํ•„์š”ํ•ด?

 

 

 

 

๋ฐ˜์‘ํ˜•