๐ŸŒฟ

1. Mongo DB๋ž€?

ย 

1. MongoDB

MongoDB๋Š” C++๋กœ ์ž‘์„ฑ๋œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ž‘์—…์— ํšจ์œจ์ ์ธ NoSQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ํ•„๋“œ์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฌธ์„œ(Document) ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์ž˜ ๋งž์œผ๋ฉฐ, JSON์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ JavaScript๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Node.js์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.
notion imagenotion image
ย 

2. MongoDB์˜ ํŠน์ง•

MongoDB๋Š”ย ๋‹ค๋ชฉ์ ์šฉ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ณ ๊ฐ€์šฉ์„ฑ, ์ˆ˜ํ‰ ํ™•์žฅ์„ฑ ๋ฐ ์ง€๋ฆฌ์  ๋ถ„ํฌ๊ฐ€ ๋‚ด์žฅ๋œ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.
  • ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€, ์ œ๊ฑฐ๊ฐ€ ์‰ฌ์›Œ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ๊ฐœ์ฒด์˜ ๊ตฌ์กฐ๊ฐ€ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ํ•„๋“œ๋Š” ๋ฌธ์„œ๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณต์žกํ•œ ์กฐ์ธ์ด ์—†์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ฟผ๋ฆฌ๋ฌธ์„ ์ง€์›(ํ•„ํ„ฐ๋ง, ์ˆ˜์ง‘, ์ •๋ ฌ, ์ •๊ทœํ‘œํ˜„์‹ ๋“ฑ)
ย 

3. NoSQL(Not Only SQL)

์ตœ๊ทผ์— ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๊ฐ€ ๋‹จ์ˆœํ•ด์ง€๊ณ  ๊ทœ๋ชจ๋กœ ์ปค์ง€๊ฒŒ๋˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅธ ์†๋„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. RDBMS๋ฅผ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค์— ์ด์šฉํ•˜๊ธฐ์—๋Š” ๋น„์šฉ์ ์ธ ๋ฌธ์ œ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์‹ญ, ์ˆ˜๋ฐฑ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐ์‹œ์ผœ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ๋Š” ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— NoSQL์„ ๋งŽ์ด ์ด์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
NoSQL(Not Only SQL) ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. NoSQL์˜ ๋Œ€ํ‘œ์ ์ธ ์ œํ’ˆ์€ ๊ตฌ๊ธ€์˜ ๋น…ํ…Œ์ด๋ธ”, ๊ทธ๋ฆฌ๊ณ  mongoDB ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜๋Š” 4๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ‚ค-๊ฐ’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • ๋„ํ๋จผํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ํ•„๋“œ์™€ ๊ฐ’์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ JSON ํฌ๋งท์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค.
  • ์ปฌ๋Ÿผ ํŒจ๋ฐ€๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ์ปฌ๋Ÿผ๊ณผ ๋กœ์šฐ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์นผ๋Ÿผ์€ ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ณ  ๋กœ์šฐ๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์นผ๋Ÿผ์œผ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ๋…ธ๋“œ์™€ ๊ด€๊ณ„๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ทผ์ ‘ํ•œ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ๋งํ•  ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ย 
NoSQL DB ํŠน์ง•
  • ์œ ์—ฐ์„ฑ : ์Šคํ‚ค๋งˆ ์„ ์–ธ ์—†์ด ํ•„๋“œ์˜ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ๊ฐ€ ์ž์œ ๋กœ์šด Schema-less ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • ํ™•์žฅ์„ฑ : ์Šค์ผ€์ผ ์•„์›ƒ์— ์˜ํ•œ ์„œ๋ฒ„ ํ™•์žฅ์ด ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์„ฑ๋Šฅ : ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€์šฉ์„ฑ : ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋ฐฑ์—… ์„œ๋ฒ„ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ์žฅ์•  ๋ฐœ์ƒ ์‹œ์—๋„ ๋ฌด์ค‘๋‹จ ์„œ๋น„์Šค๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
ย 
RDBMS์™€ NoSQL๋Š” ๊ฐ์ฒด์˜ ์ด๋ฆ„์ด ์กฐ๊ธˆ ๋‹ค๋ฅผ ๋ฟ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
MongoDB vs RDBMS
MongoDB
RDBMS
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database)
ํ…Œ์ด๋ธ”(Table)
๋ ˆ์ฝ”๋“œ(Record OR Row)
์ปฌ๋Ÿผ(Column)
์ธ๋ฑ์Šค(Index)
ย 
ย 
ย 
ย