FrontEnd

NOSQL vs SQL

o๋Š˜do 2020. 12. 19. 18:12

๐ŸŒŸMongoDB๋ฅผ ์‚ฌ์šฉํ•œ ์ด์œ 

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ NOSQL์— ํ•ด๋‹นํ•˜๋Š” MongoDB ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์ด ๋งŽ์•„์„œ ๋น ๋ฅธ Data ์กฐํšŒ ์†๋„๊ฐ€ ํ•„์š”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ MongoDB ๋Š” ์œ„์น˜๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๊ด€๋ จ ์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ธ ์šฐ๋ฆฌ ์•ฑ์— ์ ํ•ฉํ•˜๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด SQL๊ณผ NOSQL์˜ ํŠน์ง•๊ณผ ์ฐจ์ด์ ์„ ๋ฌด์—‡์ผ๊นŒ?

โ‰๏ธ SQL?

๊ตฌ์กฐํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด (Structured Query Language) ๋กœ์„œ ํŠน์ • ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฟผ๋ฆฌ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

SQL์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ •ํ•ด์ง„ ์Šคํ‚ค๋งˆ(๊ตฌ์กฐ)์— ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ํ…Œ์ด๋ธ”์— ์ €์žฅ
  • ๋ฐ์ดํ„ฐ๋Š” ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๊ฒฐ๋˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์— ๋ถ„์‚ฐ๋˜์–ด ์ €์žฅ

์ฒซ ๋ฒˆ์งธ๋Š” ์—„๊ฒฉํ•œ ์Šคํ‚ค๋งˆ์ธ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์— ๋ ˆ์ฝ”๋“œ ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๊ณ  ํ…Œ์ด๋ธ”์€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ๊ตฌ์กฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์—์„œ๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โ‰๏ธ์Šคํ‚ค๋งˆ๋ž€? ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•ด ์ „๋ฐ˜์ ์ธ ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ฐœ์ฒด์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ๊ณผ, ์†์„ฑ์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐœ์ฒด, ๊ฐœ์ฒด ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ด€๊ณ„, ์ด๋“ค์ด ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด์„ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ด์ฃ .

๋‘ ๋ฒˆ์งธ๋Š” ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. ๊ด€๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์— ๋‚˜๋ˆ„์–ด์„œ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ค‘๋ณต์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—์„œ ์ค‘๋ณต ์—†์ด ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ด๋ธ”์—์„œ ๋ถ€์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์œ„ํ—˜์ด ์—†์–ด์ง€๋Š” ๊ฑฐ์ฃ .

โ‰๏ธ NoSQL?

NoSQL ์€ ๋น„ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋กœ SQL ๊ณผ๋Š” ๋ฐ˜๋Œ€๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋”ฐ๋ฅธ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

monggose ๊ฐ™์€ ORM์„ ์‚ฌ์šฉํ•˜๋ฉด ์Šคํ‚ค๋งˆ๋‚˜ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ NoSQL์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • ๊ด€๊ณ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

SQL ๊ฐ€ ์ •ํ•ด์ง„ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๋ฉด NoSQL ์€ ๋‹ค๋ฅธ ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ™์€ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ปฌ๋ Œ์…˜์€ SQL ์˜ ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ SQL ์˜ ๋ ˆ์ฝ”๋“œ(ํŠœํ”Œ) ์€ NoSQL ์—์„œ Document ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์œ ์—ฐํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ •ํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ•„๋“œ๊ฐ€ ์ถ”๊ฐ€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ผํ•œ ์ปฌ๋ ‰์…˜์— ๋„ฃ๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ์กฐ์ธํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ NoSQL ์—๋Š” ์กฐ์ธ์ด๋ผ๋Š” ๊ฐœ๋…์ด ์กด์žฌํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์–ด ๋ถˆ์•ˆ์ •ํ•œ ์ธก๋ฉด์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ปฌ๋ ‰์…˜์—์„œ ๋˜‘๊ฐ™์€ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•ด์•ผ ํ•˜์ฃ . ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ NoSQL์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

โ‰๏ธ์ˆ˜์ง์  ํ™•์žฅ๊ณผ ์ˆ˜ํ‰์  ํ™•์žฅ

์ˆ˜์ง ํ™•์žฅ์ด๋ž€?

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. CPU, RAM์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด์ฃ . ๊ฑฐ๋Œ€ํ•œ ํ—ํฌ ํ˜ผ์ž์„œ ์ผ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ˆ˜ํ‰ ํ™•์žฅ์ด๋ž€?

๋” ๋งŽ์€ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ˆ˜์˜ ์ž‘์€ ๋ฏธ๋‹ˆ์–ธ์ด ์ผ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

SQL ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์Šคํ‚ค๋งˆ, ๊ด€๊ณ„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ง์  ํ™•์žฅ๋งŒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ‰์  ํ™•์žฅ์€ NoSQL์—์„œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. NoSQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” ์ƒค๋”ฉ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๋ฏ€๋กœ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ‰ ํ™•์žฅ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

โ‰๏ธ์ƒค๋”ฉ?

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒํ‹ฐ์…”๋‹ ํ•˜๋Š” ๊ธฐ์ˆ ์ธ๋ฐ์š”. ์ƒค๋”ฉ์€ DBMS ๋ ˆ๋ฒจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ˆ๋ฅผ ๋“ค๋ฉด, ํ˜„์žฌ ์šด์˜ ์ค‘์ธ ์„œ๋น„์Šค๊ฐ€ ํ•ด์™ธ๋กœ๋„ ์ง„์ถœ์„ ํ•˜๊ฒŒ ๋˜์–ด์„œ ๋” ํฐ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋•Œ ํ•œ๊ตญ ์œ ์ €์˜ ์ •๋ณด๋Š” A ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•˜๊ณ  ์œ ๋Ÿฝ ์ชฝ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” B ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด์ฃ .

โ‰๏ธ์†๋„

NOSQL ์€ SQL๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ™์ด ์ €์žฅํ•˜๋ฏ€๋กœ ์กฐ์ธ์ด ํ•„์š” ์—†๊ณ  ACID๋ฅผ ๋ณด์žฅํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์†๋„๋ฉด์—์„œ ๋น ๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

โœ๏ธ์š”์•ฝ

SQL์˜ ์žฅ์ ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์ •์„ ๋ณด์žฅํ•˜๊ณ  ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์—†์ด ์ €์žฅํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— SQL ์˜ ๋‹จ์ ์€ ๊ตฌ์กฐํ™”๋œ ์Šคํ‚ค๋งˆ์˜ ํ•„์š”์„ฑ์œผ๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๋œ ์œ ์—ฐํ•˜๊ณ  ์žฆ์€ JOIN์€ ๋ฐ์ดํ…Œ ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ ์ˆ˜ํ‰์  ํ™•์žฅ์ด ์–ด๋ ต๊ณ  ์ˆ˜์งํ™•์žฅ๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ํ•  ์ˆ˜ ์—†๋Š” ํ•œ๊ณ„์— ์ง๋ฉดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

NOSQL ์€ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ, ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ ์ž์œ ๋กญ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”๋กœ ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์ˆ˜์ง/์ˆ˜ํ‰ ํ™•์žฅ ๋‘˜ ๋‹ค ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— NOSQL์— ๋‹จ์ ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ ์‹œ ์ค‘๋ณต๋˜์–ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋˜‘๊ฐ™์ด ์—…๋ฐ์ดํŠธํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒŸ๊ฒฐ๋ก 

์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ์—๊ฒŒ ๋ช…ํ™•ํ•œ ์Šคํ‚ค๋งˆ๊ฐ€ ์ค‘์š”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ์—ฌ์ง€๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ, ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” SQL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ, ํ™•์žฅ์— ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •๋ณด๋‹ค๋Š” ์ฝ๊ธฐ ์ž‘์—…์ด ๋งŽ์ด ์ผ์–ด๋‚˜๊ณ  ๋ง‰๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ค„์•ผ ํ•ด ์ˆ˜ํ‰ ํ™•์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” NOSQL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋ฉ๋‹ˆ๋‹ค.

'FrontEnd' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฆฌ์—‘ํŠธ Virtual DOM  (0) 2020.12.31
Apollo Client ์บ์‹œ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•  (0) 2020.12.23