J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[DB] RDBMS์˜ SQL๊ณผ NoSQL ์ฐจ์ด
Computer Science/๐Ÿ’พ Database

[DB] RDBMS์˜ SQL๊ณผ NoSQL ์ฐจ์ด

728x90

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS, SQL Database)

  • ๊ณ ์ •๋œ ํ–‰(row)๊ณผ ์—ด(column)๋กœ ๊ตฌ์„ฑ๋œ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
  • ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๊ฐ€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์กฐํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด(SQL)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃธ
  • ๊ฐ ์—ด์€ ํ•˜๋‚˜์˜ ์†์„ฑ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ , ํ–‰์—๋Š” ๊ฐ ์—ด์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ
  • ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ์„ ์‚ฌ์ „์— ์ •์˜ํ•œ ํ›„ ๊ทธ ํ˜•์‹์„ ์œ ์ง€ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ์กฐ์ž‘
  • ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ

์žฅ์ 

  • ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์Šคํ‚ค๋งˆ, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ
  • ๊ด€๊ณ„๋Š” ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์—†์ด ํ•œ๋ฒˆ๋งŒ ์ €์žฅ

๋‹จ์ 

  • ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์–ด๋ ค์›Œ ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง
  • ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ์–ด์„œ Join ๋ฌธ์ด ๋งŽ์€ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์Œ
  • ๋Œ€์ฒด๋กœ ์ˆ˜์ง์  ํ™•์žฅ๋งŒ ๊ฐ€๋Šฅํ•จ

 

 

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

  • Key-Value, ๋ฌธ์„œ ๋“ฑ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
  • ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•์‹์— ๋Œ€ํ•œ ์ œํ•œ์ด ์—†์Œ
  • ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์Œ

์žฅ์ 

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

๋‹จ์ 

  • ์œ ์—ฐ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฒฐ์ •์„ ๋ฏธ๋ฃจ๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ
  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ ๋  ๊ฒฝ์šฐ ๋ชจ๋“  ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•ด ์ˆ˜์ •ํ•ด์ฃผ์–ด์•ผ ํ•จ

 

 

NoSQL Database ์œ ํ˜•

  • Key-Value ํƒ€์ž… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ์†์„ฑ๊ณผ ๊ฐ’์— ๋Œ€ํ•ด Key-Value ์Œ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋กœ ์ €์žฅ
    • Ex) Redis, Dynamo ๋“ฑ
  • ๋ฌธ์„œํ˜•(Document) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์ด ์•„๋‹Œ JSON๊ณผ ์œ ์‚ฌํ•œ ํ˜•์‹์œผ๋กœ ๋ฌธ์„œํ™”ํ•˜์—ฌ ์ €์žฅ
    • ๊ฐ๊ฐ์˜ ๋ฌธ์„œ๋Š” ํ•˜๋‚˜์˜ ์†์„ฑ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ปฌ๋ ‰์…˜์ด๋ผ๊ณ  ํ•˜๋Š” ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌ
    • Ex) MongoDB ๋“ฑ
  • Wide-Column Store ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ด(column)์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ๊ฐ ์—ด์—๋Š” key-value ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๊ณ , ์ปฌ๋Ÿผ ํŒจ๋ฐ€๋ฆฌ(column families)๋ผ๊ณ  ํ•˜๋Š” ์—ด์˜ ์ง‘ํ•ฉ์ฒด ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ
    • ํ•˜๋‚˜์˜ ํ–‰์— ๋งŽ์€ ์—ด์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์–ด์„œ ์œ ์—ฐ์„ฑ์ด ๋†’์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ํ•„์š”ํ•œ ์—ด์„ ์œ ์—ฐํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด ๊ทœ๋ชจ๊ฐ€ ํฐ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์ฃผ๋กœ ์‚ฌ์šฉ
    • Ex) Cassandra, HBase ๋“ฑ
  • ๊ทธ๋ž˜ํ”„(Graph) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ทธ๋ž˜ํ”„์™€ ๋น„์Šทํ•œ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ๋…ธ๋“œ(nodes)์— ์†์„ฑ๋ณ„(entities)๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๊ฐ ๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋Š” ์„ (edge)์œผ๋กœ ํ‘œํ˜„
    • Ex) Neo4J, InfiniteGraph

 

 

SQL Database VS NoSQL Database

  • ๋ฐ์ดํ„ฐ ์ €์žฅ(Storage)
    • SQL DB๋Š” SQL์„ ํ™œ์šฉํ•ด ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •ํ•ด์ง„ ํ˜•์‹์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ €์žฅ
    • NoSQL DB๋Š” key-value, document, wide-column, graph ๋“ฑ์˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ 
  • ์Šคํ‚ค๋งˆ(Schema)
    • SQL DB๋Š” ๋ฐ์ดํ„ฐ ์†์„ฑ๋ณ„๋กœ ์—ด(column)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ •ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๊ณ ์ •๋œ ํ˜•์‹์˜ ์Šคํ‚ค๋งˆ๊ฐ€ ํ•„์š”
    • NoSQL DB๋Š” ๋™์ ์œผ๋กœ ์Šคํ‚ค๋งˆ์˜ ํ˜•ํƒœ๋ฅผ ๊ด€๋ฆฌ
  • ์ฟผ๋ฆฌ(Query)
    • SQL DB๋Š” SQL๊ณผ ๊ฐ™์ด ๊ตฌ์กฐํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ…Œ์ด๋ธ”์˜ ํ˜•์‹๊ณผ ํ…Œ์ด๋ธ”๊ฐ„์˜ ๊ด€๊ณ„์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ
    • NoSQL DB๋Š” ๊ตฌ์กฐํ™” ๋˜์ง€ ์•Š์€ ์ฟผ๋ฆฌ ์–ธ์–ด๋กœ๋„ ๋ฐ์ดํ„ฐ ์š”์ฒญ์ด ๊ฐ€๋Šฅ
  • ํ™•์žฅ์„ฑ(Scalability)
    • SQL DB์€ ์ฃผ๋กœ ์ˆ˜์ง์  ํ™•์žฅ(๋†’์€ ์„ฑ๋Šฅ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ CPU ์‚ฌ์šฉ)๋งŒ ์šฉ์ด
    • NoSQL DB๋Š” ์ˆ˜์ง์  ํ™•์žฅ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆ˜ํ‰์  ํ™•์žฅ(์„œ๋ฒ„ ์ฆ์„ค, ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ด์šฉ)์—๋„ ์œ ๋ฆฌ

 

 

SQL ๊ธฐ๋ฐ˜์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ผ€์ด์Šค

  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋ช…ํ™•ํ•˜๋ฉฐ ๋ณ€๊ฒฝ ๋  ์—ฌ์ง€๊ฐ€ ์—†์œผ๋ฉฐ ๋ช…ํ™•ํ•œ ์Šคํ‚ค๋งˆ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ
  • ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ
    • ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด(๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ) ๋ณ€๊ฒฝ์ด ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ

 

NoSQL ๊ธฐ๋ฐ˜์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ผ€์ด์Šค

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

 

 

โญ๏ธ ์ฐธ๊ณ 

  • https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/
  • https://khj93.tistory.com/entry/Database-RDBMS%EC%99%80-NOSQL-%EC%B0%A8%EC%9D%B4%EC%A0%90
  • https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
728x90
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Computer Science > ๐Ÿ’พ Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DB] SQL ์กฐ์ธ(Join) ๊ฐœ๋…, ์ข…๋ฅ˜  (0) 2023.03.24
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์šฉ์–ด, ํ‚ค(Key)์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜  (0) 2023.03.23
[DB] ํŠธ๋žœ์žญ์…˜(Transaction) ๊ฐœ๋…, ํŠน์ง•, ์—ฐ์‚ฐ, ์ƒํƒœ  (0) 2023.03.22
[DB] ์ธ๋ฑ์Šค(Index) ๊ฐœ๋…, ์žฅ๋‹จ์ , ์ „๋žต, ๊ตฌ์กฐ  (0) 2023.03.20
[DB] SQL SELECT ์ฟผ๋ฆฌ ๋ฌธ๋ฒ• ์ˆœ์„œ์™€ ์‹คํ–‰ ์ˆœ์„œ  (3) 2021.08.26
    'Computer Science/๐Ÿ’พ Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์šฉ์–ด, ํ‚ค(Key)์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜
    • [DB] ํŠธ๋žœ์žญ์…˜(Transaction) ๊ฐœ๋…, ํŠน์ง•, ์—ฐ์‚ฐ, ์ƒํƒœ
    • [DB] ์ธ๋ฑ์Šค(Index) ๊ฐœ๋…, ์žฅ๋‹จ์ , ์ „๋žต, ๊ตฌ์กฐ
    • [DB] SQL SELECT ์ฟผ๋ฆฌ ๋ฌธ๋ฒ• ์ˆœ์„œ์™€ ์‹คํ–‰ ์ˆœ์„œ
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”