2023. 9. 1. 01:53ใ3. Node.js
๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋?
" ๋ฐ์ดํฐ๋ฅผ ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ ํํ๋ก ๊ตฌ์ฑ(..) "
https://www.ibm.com/kr-ko/topics/relational-databases
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? | IBM
์ด ํต์ฌ ์๋ด์์์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฐฉ์์ ๋ฌผ๋ก , ๊ธฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ๊ณผ ์ด์ ์ฐจ์ด์ ์ ์์๋ด ๋๋ค.
www.ibm.com
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค (RDB)
๊ธฐ์กด์ ๋ฐฐ์ด ๋ชฝ๊ณ db๋ ์ธ ๋ฉ๋ชจ๋ฆฌ(In-Memory) ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋, NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ MongoDB๋ฅผ ์ฌ์ฉํ์ฌ “ํด์ผ ํ ์ผ” ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ์ด๋ฐ ์ ์ฅ ๋ฐฉ์์ ์ ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๊ธฐ์๋ ์ ํฉํ์ง ์๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ์ ์ ๊ทํ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ฉด์ ์ ํํ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB, Relational DataBase)๊ฐ ํ์ํ๊ฒ ๋ ๊ณ๊ธฐ๋ผ ๋ณผ ์ ์๋ค.
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB, Relational DataBase)๋ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ‘ํ ์ด๋ธ’์ด๋ผ๋ ํํํ์ ๊ตฌ์กฐ์ ์ ์ฅํฉ๋๋ค. ์ฌ๊ธฐ์, ๊ฐ ‘ํ ์ด๋ธ’์ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฉฐ, ‘ํ ์ด๋ธ’๊ฐ์ ์ฐ๊ด ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ, ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ถ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ก ์ฐ๊ฒฐํ์ฌ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ์ด๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ฐ ํ ์ด๋ธ์ ๊ณ ์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ํ(row)๊ณผ ๋ฐ์ดํฐ์ ์์ฑ์ ๋ํ๋ด๋ ์ด(column)์ ๊ฐ์ง๋๋ค.
- ์ด ํ ์ด๋ธ๋ค์ ์๋ก ์ฐ๊ฒฐ๋ ์ ์์ผ๋ฉฐ, ์ด ์ฐ๊ฒฐ์ ํตํด ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB)์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(NoSQL)์ ๊ฐ๋
MongoDB๋ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(NoSQL)์ ํด๋นํฉ๋๋ค. MySQL์ด ๋ฐ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB)์ ํด๋น ( ๊ด๊ณํ DB์์ table์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ ๋ชฝ๊ณ db์์ fileld์ ๋น์ทํ ๊ฐ๋ ์ด๋ค.
์์ ์ ํ์ ๋น์ทํ๋ฉฐ (์์ ์ ํ์ ๋ฐ์ดํฐ๋ ์๋จ์ ํ์์ ๋ง์ถฐ์ ์์ฑ) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ(Table)์ด๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ฐ ํ ์ด๋ธ์ ๊ณ ์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ํ(row)๊ณผ ๋ฐ์ดํฐ์ ์์ฑ์ ๋ํ๋ด๋ ์ด(column)์ ๊ฐ์ง๋๋ค. ( * ์์ ์ ํ์ ์ ์ฌํ๋ค )
ํ ์ด๋ธ๋ค์ ์๋ก ์ฐ๊ด๊ด๊ณ๋ก ์ฐ๊ฒฐ๋ ์ ์์ผ๋ฉฐ, ์ด ์ฐ๊ฒฐ์ ํตํด ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฌํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฅผ ํตํด ๋ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๊ฒ ๋๊ณ ๋น์ฆ๋์ค ๋ก์ง์ ์ ์ฑ ํ ์ ์๋ค.
ํ์ง๋ง ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(NoSQL)๊ฐ ๋์๋ค๋ ๊ฒ์ ์๋๋ค. ์ ์ฐํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์, ์ ์ฅ(Write)๊ณผ ์ฝ๊ธฐ(Read) ์์ ์ด ๋์ฑ ๋น ๋ฅด๋ฉฐ, ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง ์์ด ์ฃผ๋ก ๋ฐ์ดํฐ ์ฝ๊ธฐ์ ์ฐ๊ธฐ์ ์ค์ ์ ๋ ์๋ฒ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋น ๋ฐ์ดํฐ ํ๊ฒฝ์ด๋ ๋จ์ ํ์ด์ง๋ทฐ๊ฐ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
๋ฐ๋ฉด, **๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB)**๋ ๋์ฑ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์ ํํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ด ๋์ฑ ์์ ํ ์๋ฒ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ธฐ์ ์ข๋ค ( * ํนํ ๋ณด์์ด ์ค์ํ ๊ธฐ๊ด์ด๋ ์ํ, ์์ ์ ์ ์ค์์ํ๋ ๊ธฐ๊ด์์ ๋ค์์ฌ์ฉ)

'3. Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-9)] ์ฟ ํค์ ์ธ์ (0) | 2023.09.05 |
|---|---|
| [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-3)] SQL (Structured Query Language) ์ดํด๋ณด๊ธฐ (0) | 2023.09.03 |
| [ Node.js ์ ๋ฌธ์ฃผ์ฐจ2 (2-0)] ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ๊ฐ๋ฅํ joi (0) | 2023.08.31 |
| [ Node.js ์ ๋ฌธ์ฃผ์ฐจ2 (2-0)] REST API, RESTful (0) | 2023.08.27 |
| [ Node.js ์ ๋ฌธ์ฃผ์ฐจ2 (2-0)] Express ๋ฏธ๋ค์จ์ด (0) | 2023.08.27 |