๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“˜ DataBase/Redis

[๋น…๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ NoSQL & Redis] Chapter 1 - NOSQL ๊ฐœ๋…

by GroovyArea 2023. 7. 23.

Chapter1 - NOSQL ๊ฐœ๋…

NOSQL

  • Not Only SQL
    • ๊ธฐ์กด SQL ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, SQL ์ด ํ•  ์ˆ˜ ์—†๋Š” ์˜์—ญ์˜ ๊ธฐ์ˆ ๋„ ์ œ๊ณตํ•˜๋Š” ๋Œ€์ฒด, ๋ณด์™„ ๊ธฐ์ˆ 

์žฅ์ 

  • ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์— ์ ํ•ฉํ•˜๋‹ค.
    • RDBMS ์— ๋น„ํ•ด ๋น„์šฉ ๋ฐ ์„ฑ๋Šฅ ์ง€์—ฐ ๋ฌธ์ œ์— ์ ํ•ฉ
    • ๊ตฌ์ถ• ๋‹จ๊ณ„์— ๋น„์šฉ ๋ฐœ์ƒ์ด ๋œํ•˜๋‹ค.
  • ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
    • RDBMS ๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์„ ์ˆ˜ ๊ฐœ๋…๋“ค์ด ๋งŽ๋‹ค.
    • ๋น„์ •ํ˜• ๊ตฌ์กฐ์ธ ์ปฌ๋ ‰์…˜, ํ…Œ์ด๋ธ”, ๋…ธ๋“œ๋Š” ๊ตฌ์ฒด์ ์ด๊ณ  ๊นŒ๋‹ค๋กญ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์„ค๊ณ„ํ•˜๊ธฐ ์‰ฝ๋‹ค.
  • ๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ํšจ๊ณผ์ 
    • RDBMS ๋ณด๋‹ค ๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ํšจ๊ณผ์ ์ด๋‹ค.
    • ๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ.

 

NOSQL ์ข…๋ฅ˜์™€ ์„ ์ • ๊ธฐ์ค€

  • ์ˆœ์ฐจ์ ์œผ๋กœ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉฐ ์„ ์ • ๊ธฐ์ค€์„ ์„ธ๋ถ„ํ™”ํ•œ๋‹ค.

1. ์ดˆ๋‹น 5๋งŒ๊ฑด ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?

  • RDBMS ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅ.

2. ํŠธ๋žœ์žญ์…˜ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

  • ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋ฉด, Haddop, Eco-System ๋“ฑ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅ.

3. ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด ์š”๊ตฌ๋˜๋Š”๊ฐ€?

  • ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ RDBMS ๊ฐ€ ์ ํ•ฉํ•˜๋‹ค. ํ•˜์ง€๋งŒ, ๋งค๋ฒˆ ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ -> ์„ฑ๋Šฅ ์ง€์—ฐ ๋ฌธ์ œ ๋ฐœ์ƒ
  • ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋ฉด, Key-Value, Column-Family ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒ ๊ฐ€๋Šฅ

4. ์ˆ˜ํ‰์  Data-Sets ์ธ๊ฐ€?

  • 2์ฐจ์› ์ˆ˜ํ‰์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปฌ๋Ÿผ๊ณผ ๊ตฌ์„ฑ๋˜๋Š” ์—ด๊ณผ ๋‹ค์ˆ˜์˜ ํ–‰์ด ๊ต์ฐจ๋˜๋Š” ๊ตฌ์กฐ
  • ์ด์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌํ•  ๊ฒฝ์šฐ, Document DB ์„ ํƒ

5. ๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ์ธ๊ฐ€?

  • ๊ณ„์ธต Depth ๊ฐ€ 10~20 ๋ ˆ๋ฒจ ์ด์ƒ์ผ ๊ฒฝ์šฐ Graph DB ์„ ํƒ

 

Key-Value DB ํ™œ์šฉ

์žฅ์ 

  • Redis ๋Š” ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ตฌ์กฐ์ด๋‹ค.
    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” 1์ฐจ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์šฐ์„  ์ €์žฅ -> 2์ฐจ์ ์œผ๋กœ ๋””์Šคํฌ์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์— ์ €์žฅ๋˜๊ณ , DBMS ์— ํ• ๋‹น ๋ฐ ์ž๋™ ๊ด€๋ฆฌ๋˜๋Š” ์‹œ์Šคํ…œ
    • Redis ๋Š” ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์ €์žฅ๋˜๊ณ , ์‚ฌ์šฉ์ž๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์ˆ˜๋™ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ.
    • ์ถ”๊ฐ€ ๊ด€๋ฆฌ๋ฅผ ์•ˆ ํ•  ๊ฒฝ์šฐ, ๋ฉ”๋ชจ๋ฆฌ ์œ ์‹ค,
    • ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ, Main DB ๋กœ๋Š” ๋ถ€์ ํ•ฉ.
  • ํ•˜๋‚˜์˜ Key ์™€ Data ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ ๋œ๋‹ค.
    • Redis DB ์˜ ์ €์žฅ ๊ตฌ์กฐ๋ฅผ ํ…Œ์ด๋ธ”์ด๋ผ ํ•œ๋‹ค.
    • ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ์‹์€ RDBMS ์™€ ์™„์ „ํžˆ ๋‹ค๋ฆ„.
    • ๋ฐ์ดํ„ฐ ์ผ๋ถ€๋ฅผ ์ž ์‹œ ๋ณด๊ด€ ๋˜๋Š” ๊ฐ€๊ณต ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ๋ณด๊ด€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ฐ€๊ณต ์ฒ˜๋ฆฌ๊ฐ€ ์š”๊ตฌ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ์—์„œ ์ ํ•ฉํ•˜๋‹ค.
    • Redis, Memcached ๋Š” ์ฃผ๋กœ ๋ณด์กฐ DB ๋กœ ์‚ฌ์šฉ
    • ๋””์Šคํฌ IO ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ€๊ณต์ฒ˜๋ฆฌ, ํ†ต๊ณ„ ๋ถ„์„, ๋ฐ์ดํ„ฐ ์บ์‹ฑ, ๋ฉ”์‹œ์ง€ ํ ๋“ฑ์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

ํ™œ์šฉ ์˜์—ญ

  1. ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ์˜์—ญ
  2. IOT ์˜์—ญ
  3. ๊ณ„์ธต ์ •๋ณด์ˆ˜์ง‘ ์˜์—ญ
  4. ๊ฐœ์ธํ™” ์ •๋ณด๊ด€๋ฆฌ ์˜์—ญ
  5. ์ „์ž ์ƒ๊ฑฐ๋ž˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์—ญ
๋ฐ˜์‘ํ˜•