| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Node.js
- java์ฑํ
- Java
- spring
- node.js mysql ์ฐ๋
- ์ฟ ๋ฒ๋คํฐ์ค
- Personal Access Token
- ์ฝํ
- SpringBoot
- ๋์์ธํจํด
- Jenkins
- GoogleLogin
- docker
- React
- ์๊ณ ๋ฆฌ์ฆ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- dockerhub
- ์ค๋ธ์
- CICD
- ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ
- db์ํคํ ์ณ
- injection๊ณต๊ฒฉ
- db์ ๋ต
- oauth
- MySQL
- @scheduler
- ์๋ฐ
- ๋ ผ๋ธ๋กํน
- spring scheduler
- ์ฝ๋ฉํ ์คํธ
- Today
- Total
<Hello Hosung๐/>
[DB] ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ฅผ ์ํ ๋ค์ํ ์ํคํ ์ณ ๋ณธ๋ฌธ
[DB] ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ฅผ ์ํ ๋ค์ํ ์ํคํ ์ณ
์ข์ถฉ์ฐ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ผ๊ธฐ๐ง 2024. 11. 15. 22:36
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ์ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋์ด๋๊ณ ์ฌ์ฉ์ ์์ฒญ์ด ๋ณต์กํด์ง์๋ก, ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ํคํ ์ฒ๋ ํ์์ ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์ ๊ณ ๋ คํ ์ ์๋ ๋ค์ํ ์ํคํ ์ฒ๋ฅผ ์์ธํ ์ค๋ช ํ๊ณ , ๊ฐ ์ํคํ ์ฒ๊ฐ ์ ํฉํ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ดํด๋ฅผ ๋๊ธฐ ์ํด ๊ทธ๋ฆผ๊ณผ ํจ๊ป ์ค๋ช ํ๋ ๋๊น์ง ์ฝ์ด๋ณด์ธ์! ๐
1. ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ (Single Database Architecture)
๊ฐ์
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ํคํ ์ฒ๋ก, ๋ชจ๋ ๋ฐ์ดํฐ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ ์ด ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ๋จ์ํ ๊ตฌ์กฐ ๋๋ถ์ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
ํน์ง
- ์ฅ์ :
- ๊ตฌํ๊ณผ ๊ด๋ฆฌ๊ฐ ๊ฐ๋จํ์ฌ ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ์ ์ ํฉ.
- ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ฉฐ, ๋ณต์กํ ๋๊ธฐํ๊ฐ ํ์ ์์.
- ๋จ์ :
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ๋ถํ๊ฐ ์ฆ๊ฐํ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ ํ ๊ฐ๋ฅ.
- ๋จ์ผ ์ฅ์ ์ (SPOF, Single Point of Failure)์ด ์์ด ์๋ฒ ์ฅ์ ์ ์ ์ฒด ์์คํ ์ค๋จ.
์ฌ์ฉ ์ฌ๋ก
- ์ด๊ธฐ ๋จ๊ณ์ ์คํํธ์ ํ๋ก์ ํธ.
- ์๊ท๋ชจ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ๋ธ๋ก๊ทธ, ๊ฐ์ธ ํฌํธํด๋ฆฌ์ค ์ฌ์ดํธ.
๊ตฌ์กฐ
์ค๋ช : ๋ชจ๋ ์์ฒญ(์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ)์ด ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ค๋ฉ๋๋ค.
2. ๋ง์คํฐ-์ฌ๋ ์ด๋ธ ์ํคํ ์ฒ (Master-Slave Architecture)
๊ฐ์
์ด ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ญํ ์ ๋๋์ด ํจ์จ์ ๋์ ๋๋ค. ๋ง์คํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฐ๊ธฐ ์์ (INSERT, UPDATE, DELETE)์ ์ฒ๋ฆฌํ๊ณ , ์ฌ๋ ์ด๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฝ๊ธฐ ์์ (SELECT)์ ์ฒ๋ฆฌํฉ๋๋ค. ์ฌ๋ ์ด๋ธ๋ ๋ง์คํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ์ฌ ์ต์ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
ํน์ง
- ์ฅ์ :
- ์ฝ๊ธฐ ์์ ์ ์ฌ๋ ์ด๋ธ๋ก ๋ถ์ฐํ์ฌ ๋ง์คํฐ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์์.
- ๋๋์ ์ฝ๊ธฐ ์์ฒญ์ด ๋ฐ์ํ๋ ์์คํ ์์ ํจ์จ์ .
- ๋จ์ :
- ๋ณต์ ์ง์ฐ(Lag)์ผ๋ก ์ธํด ์ฝ๊ธฐ ์์ ์ ๋ฐ์ดํฐ๊ฐ ์ต์ ์ด ์๋ ์ ์์.
- ์ฐ๊ธฐ ์์ฒญ์ด ๋ง์ ์์คํ ์์๋ ํ๊ณ๊ฐ ์์.
์ฌ์ฉ ์ฌ๋ก
- ๋๋์ ์ฝ๊ธฐ ์์ฒญ์ด ํ์ํ ๋ด์ค ์น์ฌ์ดํธ.
- ์ฌ์ฉ์ ์กฐํ๊ฐ ๋ง์ ์ ์์๊ฑฐ๋ ํ๋ซํผ.
๊ตฌ์กฐ
์ค๋ช : ๋ง์คํฐ DB๋ ์ฐ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ์ฌ๋ ์ด๋ธ DB๋ ๋ณต์ ๋ ๋ฐ์ดํฐ๋ฅผ ํตํด ์ฝ๊ธฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
3. ๋ง์คํฐ-๋ง์คํฐ ์ํคํ ์ฒ (Master-Master Architecture)
๊ฐ์
๋ง์คํฐ-๋ง์คํฐ ์ํคํ ์ฒ๋ ๋ ๊ฐ ์ด์์ ๋ง์คํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉฐ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ๋์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด ๊ตฌ์กฐ๋ ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ์ฅ์ ๋ณต๊ตฌ๊ฐ ์ค์ํ ์์คํ ์ ์ ํฉํฉ๋๋ค.
ํน์ง
- ์ฅ์ :
- ์ฐ๊ธฐ์ ์ฝ๊ธฐ๋ฅผ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ถ์ฐํ ์ ์์ด ์ฑ๋ฅ ํฅ์.
- ํ๋์ ๋ง์คํฐ๊ฐ ์ฅ์ ๋ฅผ ๊ฒช์ด๋ ๋ค๋ฅธ ๋ง์คํฐ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌ.
- ๋จ์ :
- ๋ฐ์ดํฐ ์ถฉ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ณต์กํ ๋ฉ์ปค๋์ฆ ํ์.
- ์ค์ ๊ณผ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์.
์ฌ์ฉ ์ฌ๋ก
- ๊ธ๋ก๋ฒ ์๋น์ค๋ก ๋ฐ์ดํฐ ์ ๊ทผ์ฑ์ด ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ .
- ์ฅ์ ๋ณต๊ตฌ์ ์ค๋จ ์๋ ์๋น์ค๊ฐ ํ์ํ ๋ํ ์์คํ .
๊ตฌ์กฐ
์ค๋ช : ๋ ๋ง์คํฐ DB๊ฐ ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๋ฉฐ ๋๊ธฐํํฉ๋๋ค.
4. NoSQL ๊ธฐ๋ฐ ์ํคํ ์ฒ
๊ฐ์
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ํต์ ์ธ ๊ด๊ณํ DB์ ๋ฌ๋ฆฌ, ๋ฌธ์(Document), ํค-๊ฐ(Key-Value), ๊ทธ๋ํ(Graph) ๋ฑ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ ํฉํ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํน์ง
- ์ฅ์ :
- ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์ ์ฐํ์ฌ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ์ ์ ํฉ.
- ๋๊ท๋ชจ ํธ๋ํฝ๊ณผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ด ๋ฐ์ด๋จ.
- ๋จ์ :
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ.
- SQL๊ณผ ๋ค๋ฅธ ์ฟผ๋ฆฌ ์ธ์ด๋ก ์ธํด ํ์ต ๊ณก์ ์ด ํ์.
์ฌ์ฉ ์ฌ๋ก
- ์์ ๋คํธ์ํฌ์ ์ฌ์ฉ์ ํ๋ ๋ก๊ทธ ์ ์ฅ.
- ์ค์๊ฐ IoT ๋ฐ์ดํฐ ์ฒ๋ฆฌ.
๊ตฌ์กฐ
์ค๋ช : ๋ฐ์ดํฐ๊ฐ ์ ์ฐํ ํํ๋ก ์ ์ฅ๋๋ฉฐ, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค๋ฅด๊ฒ ์ ์ฅ์๋ฅผ ์ ์ํฉ๋๋ค.
๋ง๋ฌด๋ฆฌ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ๋ ์์คํ ์ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฐ๋ผ์ ์๊ตฌ ์ฌํญ๊ณผ ๋ฐ์ดํฐ ํน์ฑ์ ๋ถ์ํ ํ ์ ์ ํ ์ํคํ ์ฒ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ฌ๋ฌ๋ถ์ ์์คํ ์๋ ์ด๋ค ๊ตฌ์กฐ๊ฐ ์ ํฉํ ๊น์? ํ๋ก์ ํธ์ ์ฑ๊ฒฉ๊ณผ ๋ชฉํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ต์ ์ ์ ํ์ ํด๋ณด์ธ์! ๐
๊ถ๊ธํ ์ ์ด๋ ์ฌ๋ฌ๋ถ์ ๊ฒฝํ์ ๋๊ธ๋ก ๊ณต์ ํด ์ฃผ์ธ์!
'๐ CS Information' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [CS ์ง์] JWT(Json Web Token) ์ด๋ (1) | 2024.11.16 |
|---|---|
| [CS ์ง์]Blocking/Non-Blocking, Sync/Async ๊ฐ๋ (0) | 2024.08.16 |
| [CS ์ง์]SQL Injection (0) | 2024.08.15 |
| [CS ์ง์]XSS(ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ) (0) | 2024.08.15 |