๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

mongoDB ์ด๋ž€?

  • ๋Œ€ํ‘œ์ ์ธ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค.
  • mongo(humongous, extremely large)๋Š” Humongous ์—์„œ ๋”ฐ์˜จ ๋ง๋กœ, ์—„์ฒญ๋‚˜๊ฒŒ ํฐ DB ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ข‹๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

 

 

 

vs SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • Relational Database ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž๋ฃŒ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ์ฃผ์š”ํ•˜๊ฒŒ ๋‹ค๋ฃธ. SQL ์งˆ์˜์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•ด์•ผ ํ•จ
  • Non SQL ๋˜๋Š” Not Only SQL ๊ตฌ์กฐํ™”๋œ ์งˆ์˜์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž๋ฃŒ ๊ฐ„์˜ ๊ด€๊ณ„์— ์ดˆ์ ์„ ๋‘์ง€ ์•Š์Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์ง€ ์•Š๊ณ , ์œ ์—ฐํ•˜๊ฒŒ ์ €์žฅํ•จ
  • SQL์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜(DDL)๋ผ, ์Šคํ‚ค๋งˆ์— ์ •์˜๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ฉด ์ €์žฅํ•  ์ˆ˜ ์—†๋Š” ์ œ์•ฝ์ด ๋”ฐ๋ฆ„
  • ํ•˜์ง€๋งŒ NoSQL์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์ „์ž‘์—… ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ → ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์— ํฌ๊ฒŒ ๊ด€์—ฌํ•˜์ง€ ์•Š๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
  • NoSQL์€ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ, ๋Œ€ํ‘œ์ ์œผ๋กœ ์ž๋ฃŒ๋ฅผ Document(๋ฌธ์„œ) ๋กœ ์ €์žฅํ•˜๋Š” Document DB๊ฐ€ ์ผ๋ฐ˜์  ์ด ์™ธ์—, key-value, Graph, large collection ๋“ฑ์˜ NoSQL DB๊ฐ€ ์กด์žฌ

 

 

 

mongoDB ๊ตฌ์กฐ

  • Database > Collection > Document
  1. Database: ํ•˜๋‚˜ ์ด์ƒ์˜ collection์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ
  2. Collection: ํ•˜๋‚˜ ์ด์ƒ์˜ Document๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„ SQL๊ณผ ๋‹ค๋ฅด๊ฒŒ collection ์ด document์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์Œ
  3. Document: MongoDB์— ์ €์žฅ๋˜๋Š” ์ž๋ฃŒ, SQL์—์„œ row์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๊ตฌ์กฐ์ œ์•ฝ ์—†์ด ์œ ์—ฐํ•˜๊ฒŒ ์ €์žฅ ๊ฐ€๋Šฅ JSON๊ณผ ์œ ์‚ฌํ•œ, BSON์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์„ ์ง€์›
    1. objectID: _id:
      1. ๊ฐ document์˜ ์œ ์ผํ•œ ํ‚ค ๊ฐ’, SQL ์˜ primary key์™€ ์œ ์‚ฌ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ’์ด ์•„๋‹Œ document๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” 
      2. ex) timestamp + random value + auto increament

 

 

 

์ •๋ฆฌ

  • NOSQL(=schemaless)
  • SQL๋ณด๋‹ค ๋” ์ ์€ ๊ทœ์น™์„ ๊ฐ–๊ณ  ๋” ๊ฐ€๋ณ๋‹ค.
  • ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ์ง๊ด€์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.
  • Mongo stores JSON Documents
  • ์ €์žฅํ•ด์•ผ ํ•  JSONํŒŒ์ผ์„ ์ค„์—ฌ์ค€๋‹ค.

 

๋ฐ˜์‘ํ˜•