๐Ÿ” ๊ด€๊ณ„ํ˜• vs ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฐจ์ด ์™„๋ฒฝ ์ •๋ฆฌ

์—…๋ฐ์ดํŠธ:
1 ๋ถ„ ์†Œ์š”

โœ… ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (RDBMS)

ํ–‰(row)๊ณผ ์—ด(column)๋กœ ์ด๋ฃจ์–ด์ง„ ์ •ํ˜•ํ™”๋œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๐Ÿ“Œ ํŠน์ง•

  • ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ (์ •ํ•ด์ง„ ์Šคํ‚ค๋งˆ)
  • SQL ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ ์กฐ์ž‘
  • ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์กฐ์ธ(Join) ์œผ๋กœ ํ‘œํ˜„
  • ACID ํŠธ๋žœ์žญ์…˜ ๋ณด์žฅ โ†’ ๋ฌด๊ฒฐ์„ฑ/์ผ๊ด€์„ฑ โ†‘
  • ์Šค์ผ€์ผ ์—…(Scale-Up) ์ค‘์‹ฌ ํ™•์žฅ

๐Ÿ’ก ๋Œ€ํ‘œ DB

  • MySQL, PostgreSQL, Oracle, MariaDB, MS SQL Server ๋“ฑ

โœ… ์žฅ์ 

  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅ
  • ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์— ๊ฐ•ํ•จ
  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ

โŒ ๋‹จ์ 

  • ์Šคํ‚ค๋งˆ๊ฐ€ ๊ณ ์ •์  โ†’ ์œ ์—ฐํ•œ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์–ด๋ ค์›€
  • ์ˆ˜ํ‰ ํ™•์žฅ ์–ด๋ ค์›€ โ†’ ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ๋Œ€์‘ ํ•œ๊ณ„
  • ๋ณต์žกํ•œ ์กฐ์ธ ์ฟผ๋ฆฌ โ†’ ์„ฑ๋Šฅ ์ €ํ•˜ ๊ฐ€๋Šฅ์„ฑ

โœ… ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (NoSQL)

๊ณ ์ •๋œ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ณ , ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๐Ÿ“Œ ์œ ํ˜•

์œ ํ˜• ์„ค๋ช… ์˜ˆ์‹œ
๋ฌธ์„œํ˜•(Document) JSON/BSON ๋ฌธ์„œ ๋‹จ์œ„ ์ €์žฅ MongoDB, CouchDB
ํ‚ค-๊ฐ’(Key-Value) ๋น ๋ฅธ ์กฐํšŒ๋ฅผ ์œ„ํ•œ ๋‹จ์ˆœ ๊ตฌ์กฐ Redis, DynamoDB
์ปฌ๋Ÿผํ˜•(Column-Family) ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ์— ์œ ๋ฆฌ Cassandra, HBase
๊ทธ๋ž˜ํ”„ํ˜•(Graph) ๊ด€๊ณ„ ์ค‘์‹ฌ์˜ ๊ตฌ์กฐ Neo4j, ArangoDB

โœ… ์žฅ์ 

  • ์Šคํ‚ค๋งˆ ์œ ์—ฐ โ†’ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์— ๊ฐ•ํ•จ
  • ์ˆ˜ํ‰ ํ™•์žฅ(Scale-Out)์— ์œ ๋ฆฌ โ†’ ๋ถ„์‚ฐ ํ™˜๊ฒฝ ์ตœ์ ํ™”
  • ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„ โ†’ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์ ํ•ฉ

โŒ ๋‹จ์ 

  • ์ค‘๋ณต ๋ฐ์ดํ„ฐ ํ—ˆ์šฉ โ†’ ์ผ๊ด€์„ฑ ์œ ์ง€ ์–ด๋ ค์›€
  • ํŠธ๋žœ์žญ์…˜์ด ์•ฝํ•˜๊ฑฐ๋‚˜ ์—†์Œ (BASE)
  • ์ •๊ตํ•œ ๊ด€๊ณ„ ํ‘œํ˜„์—๋Š” ๋ถ€์ ํ•ฉ

โš–๏ธ ๊ด€๊ณ„ํ˜• vs ๋น„๊ด€๊ณ„ํ˜• ์š”์•ฝ ๋น„๊ต

ํ•ญ๋ชฉ ๊ด€๊ณ„ํ˜• DB ๋น„๊ด€๊ณ„ํ˜• DB
๊ตฌ์กฐ ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜ ๋ฌธ์„œ, ํ‚ค-๊ฐ’ ๋“ฑ ์œ ์—ฐ
์Šคํ‚ค๋งˆ ๊ณ ์ •๋จ ์œ ๋™์ 
์–ธ์–ด SQL ์ž์ฒด ์ฟผ๋ฆฌ or API
ํŠธ๋žœ์žญ์…˜ ๊ฐ•ํ•จ (ACID) ์•ฝํ•จ or ์—†์Œ (BASE)
ํ™•์žฅ ๋ฐฉ์‹ ์ˆ˜์ง ํ™•์žฅ (Scale-Up) ์ˆ˜ํ‰ ํ™•์žฅ (Scale-Out)
์˜ˆ์‹œ MySQL, PostgreSQL MongoDB, Redis, Cassandra

๐Ÿค” ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์–ด๋–ค DB๋ฅผ ์จ์•ผ ํ• ๊นŒ?

๐Ÿ“Œ ๊ด€๊ณ„ํ˜• DB๊ฐ€ ์ ํ•ฉํ•œ ๊ฒฝ์šฐ

  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ •ํ˜•ํ™”๋˜์–ด ์žˆ์Œ
  • ๋ณต์žกํ•œ ๊ด€๊ณ„์™€ ์ •ํ•ฉ์„ฑ(๋ฌด๊ฒฐ์„ฑ) ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ
  • ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์„œ๋น„์Šค
  • ์˜ˆ: ๊ธˆ์œต ์‹œ์Šคํ…œ, ERP, ์‡ผํ•‘๋ชฐ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ

๐Ÿ“Œ ๋น„๊ด€๊ณ„ํ˜• DB๊ฐ€ ์ ํ•ฉํ•œ ๊ฒฝ์šฐ

  • ์Šคํ‚ค๋งˆ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ๋Š” ํ”„๋กœ์ ํŠธ
  • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ/๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค
  • ์˜ˆ: ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…, ๋กœ๊ทธ ์ˆ˜์ง‘, IoT ์„ผ์„œ ๋ฐ์ดํ„ฐ

โœ๏ธ ์‹ค๋ฌด ์˜ˆ์‹œ

๐Ÿ›’ ์‡ผํ•‘๋ชฐ:
- ์ฃผ๋ฌธ/๊ฒฐ์ œ โ†’ ๊ด€๊ณ„ํ˜• DB (MySQL)
- ์žฅ๋ฐ”๊ตฌ๋‹ˆ/์กฐํšŒ์ˆ˜ ์บ์‹ฑ โ†’ ๋น„๊ด€๊ณ„ํ˜• DB (Redis)

๐Ÿ“ฑ SNS:
- ์‚ฌ์šฉ์ž ๊ณ„์ •/๊ฒŒ์‹œ๊ธ€ โ†’ ๊ด€๊ณ„ํ˜• DB
- ์ข‹์•„์š”, ๋Œ“๊ธ€, ์•Œ๋ฆผ โ†’ ๋น„๊ด€๊ณ„ํ˜• DB (MongoDB)

โœ… ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ

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

ํƒœ๊ทธ: , , , , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ