1. ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ํน์ง ?
1. ์ค์๊ฐ ์ ๊ทผ์ฑ (Real-Time Accessibility) - ๋น์ ํ์ ์ธ ์ง์์ ๋ํ์ฌ ์ค์๊ฐ ์ฒ๋ฆฌ์ ์ํ ์๋ต์ด ๊ฐ๋ฅํด์ผ ํจ
2. ์ง์์ ์ธ ๋ณํ (Continuous Evolution) - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ ๋์ . ์ฆ, ์๋ก์ด ๋ฐ์ดํฐ์ ์ฝ์ (Insert), ์ญ์ (Delete), ๊ฐฑ์ (Update)์ผ๋ก ํญ์ ์ต์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํจ
3. ๋์ ๊ณต์ฉ (Concurrent Sharing) - ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ก ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง ์ฌ๋ฌ ์์ฉ์๋ค์ ์ํ ๊ฒ์ด๋ฏ๋ก ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ์ ์์ด์ผ ํจ
4. ๋ด์ฉ์ ์ํ ์ฐธ์กฐ (Content Reference) - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋ ๋ฐ์ดํฐ ๋ ์ฝ๋์ ์ฃผ์๋ ์์น์ ์ํด์๊ฐ ์๋๋ผ ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๋ฐ์ดํฐ ๋ด์ฉ์ผ๋ก ์ฐพ์
2. DDL, DML, DCL ์ด๋ ?
- DDL (Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์ ์, ์์ , ์ญ์ ํ๋ ์ธ์ด ( alter, create, drop)
- DML (Data Manipulation Langauge) : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ์๋ฃ ๊ฒ์, ์ฝ์ , ๊ฐฑ์ , ์ญ์ ๋ฅผ ์ํ ์ธ์ด ( select, insert, update, delete)
- DCL (Data Control Language) : ๋ฐ์ดํฐ์ ๋ํ ๋ฌด๊ฒฐ์ฑ ์ ์ง, ๋ณ์ ์ํ ์ ์ด, ๋ณดํธ์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ธ์ด ( commit, rollback, grant, revoke)
3. SELECT ์ฟผ๋ฆฌ์ ์ํ ์์ ?
FROM, ON, JOIN -> WHERE, GROUP BY, HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
1. FROM - ๊ฐ ํ ์ด๋ธ์ ํ์ธ
2. ON - JOIN ์กฐ๊ฑด์ ํ์ธ
3. JOIN - JOIN์ด ์คํ๋์ด ๋ฐ์ดํฐ๊ฐ SET์ผ๋ก ๋ชจ์์ง๊ฒ ๋๋ค. ์๋ธ์ฟผ๋ฆฌ๋ ํจ๊ป ํฌํจ๋์ด ์์ ํ ์ด๋ธ์ ๋ง๋ค ์ ์๊ฒ ๋์์ค๋ค.
4. WHERE - ๋ฐ์ดํฐ์ ์ ํ์ฑํ๊ฒ ๋๋ฉด WHERE์ ์กฐ๊ฑด์ด ๊ฐ๋ณ ํ์ ์ ์ฉ๋๋ค. WHERE์ ์ ์ ์ฝ ์กฐ๊ฑด์ FROM์ ๋ก ๊ฐ์ ธ์จ ํ ์ด๋ธ์ ์ ์ฉ๋ ์ ์๋ค.
5. GROUP BY - WHERE์ ์กฐ๊ฑด ์ ์ฉ ํ ๋๋จธ์ง ํ์ GROUP BY์ ์ ์ง์ ๋ ์ด์ ๊ณตํต ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํ๋๋ค. ์ฟผ๋ฆฌ์ ์ง๊ณ ๊ธฐ๋ฅ์ด ์๋ ๊ฒฝ์ฐ์๋ง์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ผ ํ๋ค.
6. HAVING - GROUP BY์ ์ด ์ฟผ๋ฆฌ์ ์์ ๊ฒฝ์ฐ HAVING ์ ์ ์ ์ฝ์กฐ๊ฑด์ด ๊ทธ๋ฃนํ๋ ํ์ ์ ์ฉ๋๋ค.
7. SELECT - SELECT์ ํํ๋ ์์ด ๋ง์ง๋ง์ผ๋ก ์ ์ฉ๋๋ค.
8. DISTINCT - ํํ๋ ํ์์ ์ค๋ณต๋ ํ์ ์ญ์
9. ORDER BY - ์ง์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์, ๋ด๋ฆผ์ฐจ์ ์ง์
10. LIMIT - LIMIT์์ ๋ฒ์ด๋๋ ํ๋ค์ ์ ์ธ๋์ด ์ถ๋ ฅ
4. Index ๋ , ์ฅ๋จ์ ์ ?
- Index๋ ํ ์ด๋ธ์ ์ฒ์๋ถํฐ ๋๊น์ง ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ธ FTS(Full Table Scan)๊ณผ๋ ๋ฌ๋ฆฌ ์ธ๋ฑ์ค๋ฅผ ๊ฒ์ํ์ฌ ํด๋น ์๋ฃ์ ํ ์ด๋ธ์ ์์ธ์ค ํ๋ ๋ฐฉ๋ฒ [ DB๋ฅผ ์ฑ ์ ๋น์ ํ์๋ฉด ๋ฐ์ดํฐ๋ ์ฑ ์ ๋ด์ฉ์ด๊ณ , ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋ ์ฝ๋์ ์ฃผ์๋ index ๋ชฉ๋ก์ ์๋ ํ์ด์ง ๋ฒํธ์ผ ๊ฒ ]
- ์ธ๋ฑ์ค๋ ํญ์ ์ ๋ ฌ๋ ์ํ๋ฅผ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ํ๋ ๊ฐ์ ๊ฒ์ํ๋๋ฐ ๋น ๋ฅด์ง๋ง, ์๋ก์ด ๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ , ์์ ํ๋ ๊ฒฝ์ฐ์๋ ์ฟผ๋ฆฌ๋ฌธ ์คํ ์๋๊ฐ ๋๋ ค์ง๋๋ค.
- ์ฆ, ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ์ ์ฅ ์ฑ๋ฅ์ ํฌ์ํ๊ณ ๊ทธ๋์ ๋ฐ์ดํฐ์ ๊ฒ์ ์๋๋ฅผ ๋์ด๋ ๊ธฐ๋ฅ
DBMS๋ Index๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋์ง (Index ์๋ฃ๊ตฌ์กฐ) ?
- B+Tree ์ธ๋ฑ์ค ์๋ฃ๊ตฌ์กฐ
์์ ๋ ธ๋๊ฐ 2๊ฐ ์ด์์ธ B-Tree๋ฅผ ๊ฐ์ ์ํจ ์๋ฃ๊ตฌ์กฐ, BTree ๋ฆฌํ๋ ธ๋๋ค์ LinkedList๋ก ์ฐ๊ฒฐํ์ฌ ์์ฐจ ๊ฒ์์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ํด์ ํ ์ด๋ธ๋ณด๋ค ๋์ O(log2N)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ
- ํด์ ํ ์ด๋ธ
์นผ๋ผ์ ๊ฐ์ผ๋ก ์์ฑ๋ ํด์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ๊ตฌํ, ์๊ฐ๋ณต์ก๋๊ฐ O(1)์ด๋ผ ๊ฒ์์ด ๋งค์ฐ ๋น ๋ฆ, ๋ถ๋ฑํธ์ ๊ฐ์ ์ฐ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ํ ์์ฐจ ๊ฒ์์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์ ํฉํ์ง ์์
'๐ CS [ComputerScience] > ๐ CS ๋ฉด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [8] [OSI 7 Layer] (0) | 2024.02.28 |
---|---|
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [7] [@Transactional / AOP] (0) | 2024.02.27 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [5] [Spring AOP] (1) | 2024.02.01 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [4] [MSA] (0) | 2024.01.30 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [3] (0) | 2024.01.18 |