logo

MongoDB๋ž€? SotaTek์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์—์„œ MongoDB๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ฉ๋‹ˆ๊นŒ?

MongoDB๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ€์šฉ์„ฑ์ด ๋†’์€ ์ธํ„ฐ๋„ท ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฏผ์ฒฉํ•œ ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ ํŒ€์ด ์ˆ˜์šฉํ•˜๋Š” ์œ ์—ฐํ•œ ์Šคํ‚ค๋งˆ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ•ต์‹ฌ ๋งค๋ ฅ์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ง€์›ํ•˜๋Š” MongoDB๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ ์—†์ด๋„ ์‹ ์†ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ธ”๋กœ๊ทธ์—์„œ๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ํŠน์ง•์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ์†Œํƒ€ํ…์˜ ๊ฐœ๋ฐœ ํŒ€์ด MongoDB๋ฅผ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

1. MongoDB๋ž€?

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

What is MongoDB

MongoDB๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ NoSQL ๋ฌธ์„œ ์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ

MongoDB, Inc.์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ๊ด€๋ฆฌ๋˜๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” SSPL (Server Side Public License)๋กœ ์šด์˜๋˜๋ฉฐ 2009๋…„ 2์›”์— ์ฒ˜์Œ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. C, C++, C#, .Net, Go, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift ๋ฐ Mongoid์™€ ๊ฐ™์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๊ณต์‹ ๋“œ๋ผ์ด๋ฒ„ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Facebook, Nokia, eBay, Adobe ๋ฐ Google์„ ํฌํ•จํ•œ ๋งŽ์€ ์ €๋ช…ํ•œ ํšŒ์‚ฌ๋“ค์ด MongoDB๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

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

MongoDB์˜ ์ฃผ์š” ํŠน์ง•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? MongoDB๋Š” NoSQL ๋ฌธ์„œ ์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ๋ณ„๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • Document-Oriented(๋ฌธ์„œ ์ง€ํ–ฅ): MongoDB๋Š” JSON๊ณผ ๊ฐ™์€ BSON ๋ฌธ์„œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์œ ์—ฐํ•˜๊ณ  ๋™์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ‘œ์™€ ํ–‰์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์กด์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
  • ์Šคํ‚ค๋งˆ ์—†๋Š”: MongoDB๋Š” ์Šคํ‚ค๋งˆ๊ฐ€ ์—†์œผ๋ฉฐ, ์ด๋Š” ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฌธ์„œ๊ฐ€ ๋‹ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ์—ฐ์„ฑ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์ „ ์ •์˜๋œ ๊ตฌ์กฐ ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค: MongoDB์—์„œ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด์„œ ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. MongoDB๋Š” collection์ˆ˜์ค€์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  collection๋‚ด์— ์žˆ๋Š” ๋ฌธ์„œ์˜ ๋ชจ๋“  ํ•„๋“œ๋‚˜ ํ•˜์œ„ ํ•„๋“œ์— ๋Œ€ํ•ด ์ง€์›ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ๋ฑ์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ MongoDB๋Š” collection๋‚ด์˜ ๋ชจ๋“  document๋ฅผ ์Šค์บ”ํ•˜์—ฌ ์ฟผ๋ฆฌ ๋ฌธ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟผ๋ฆฌ๋ฌธ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  • ํ™•์žฅ์„ฑ: MongoDB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ƒค๋”ฉ์„ ์‚ฌ์šฉํ•ด์„œ ์ˆ˜ํ‰์  ํ™•์žฅ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š”๋ฐ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋‚˜๋ˆ„๊ณ  ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹จ์ง€ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™•์žฅํ•ด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ ์ƒค๋”ฉํ•  ๋•Œ MongoDB์˜ ๊ธฐ๋ณธ ํ•„๋“œ์ธ _id์ปฌ๋Ÿผ์ด ObjectId๋กœ ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž… ํ• ๋•Œ๋งˆ๋‹ค ๋‹จ์ผ ์ƒค๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด์‹œ ๋œ ์ƒค๋”ฉ์„ ์‚ฌ์šฉํ•˜์ž.
  • ๋ณต์ œ์™€ ๊ณ ๊ฐ€์šฉ์„ฑ: ์ƒค๋”ฉ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ์ด๋ผ๋ฉด ๋ณต์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ์„ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ์ €์žฅํ•˜๋ฉด์„œ ํ•œ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
  • ์ง‘๊ณ„: ๋ฐ์ดํ„ฐ ์ง‘๊ณ„๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๋ถ„์„ํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.(pipeline)

3. SotaTek์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์—์„œ MongoDB๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ฉ๋‹ˆ๊นŒ?

SotaTek์€ MongoDB์™€ ํ˜‘๋ ฅํ•˜์—ฌ Ubet ๋ฐ Super App for Drivers Project์˜ ๊ธฐ์ˆ  ์ปจ์„คํŒ…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.ย 

a. 'Ubet' Project

Mongo Atlas๋ฅผ ์ ์šฉํ•˜๋ฉด ๋ฏธ๋ž˜์— ์„ฑ์žฅํ•˜๋Š” ๊ณ ๊ฐ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™ธ์—๋„ Mongo Atlas๋Š” ๋‹ค์ค‘ ์ง€์—ญ, ๊ณ ๊ฐ€์šฉ์„ฑ, ์•„ํ‚คํ…์ฒ˜์˜ ๋‚ด๊ตฌ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  • MDB๋Š” ์–ด๋–ค ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๊นŒ?: BSON
  • MDB ํ™œ์šฉ ์‚ฌ๋ก€: Bets and Matches ์ •๋ณด ์ €์žฅ(Betting)

b. 'Super App for Drivers' Project

  • Super App for Drivers ๋‚ด์—์„œ MongoDB๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๊นŒ? Mongo Atlas๋Š” ์‚ฌ์šฉ์ž์˜ ํ™œ๋™ ๋ฐ ๋ฌธ์„œํ™” ์ฝ˜ํ…์ธ ์—์„œ ๋‚˜์˜ค๋Š” ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋…ธ๋ ฅ์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ œํ’ˆ ํŒ€์€ ๋กœ์ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.
  • MDB๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๊นŒ?: String
  • MDB ์‚ฌ์šฉ ์‚ฌ๋ก€: ์‚ฌ์šฉ์ž ํ™œ๋™ ๋ฐ์ดํ„ฐ ๋ฐ PDF ํŒŒ์ผ ์ฝ˜ํ…์ธ  ์ €์žฅ

ย 

Super App for Drivers

Super App for Drivers๋Š” ์†Œํƒ€ํ…์ด MongoDB๋ฅผ ํ™œ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค

4. ์š”์•ฝ

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

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์œผ๋กœ ๋ฐฉ๋ฌธํ•˜์‹ญ์‹œ์˜ค:

Website: https://staging.sotaasia.com/krย 

LinkedIn: https://www.linkedin.com/company/sota-tek/ย 

Contact: contact@sotatek.com

์ €์ž ์†Œ๊ฐœ