๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ๊ธฐ์ด ๊ฐ๋ - ๋ํ ๋ฆฌ์ผ
๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ปดํจํฐ ์ ๊ณต์๊ฐ ์๋๋๋ผ๋ ์ฐ๋ฆฌ์ ์ผ์์ํ์์ ์์ฃผ ์ ํ๋ ์ฉ์ด ์ค ํ๋ ์ผ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, ์ธํฐ๋ท ์ผํ๋ชฐ์์ ์ํ์ ์ฃผ๋ฌธํ๊ฑฐ๋, ํ๊ต์์ ์ฑ์ ์ ์กฐํํ๊ฑฐ๋, ์ํ์์ ๊ณ์ข๋ฅผ ๊ด๋ฆฌํ ๋ ๋ฑ ๋ค์ํ ์ํฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฐ์ธ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ ต๊ฒ ์๊ฐํ ํ์์์ด ๋ฐ์ดํฐ๋ค์ ์ ์ฅํ๊ณ ์กฐํํ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์ผํ๋ชฐ์ ๊ฒฝ์ฐ ์ํ ์ ๋ณด, ๊ณ ๊ฐ ์ ๋ณด, ์ฃผ๋ฌธ ์ ๋ณด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ์ ธ์ ์กฐํํ๊ฑฐ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์์ฑ
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐํํ๋ค๋ ๊ด์ ์์ ์ด์ฐ ๋ณด๋ฉด ํ์ผ๋ค์ ํด๋์ ์ ์ฅํ์ฌ ์ ๋ฆฌํ๊ณ ํ์ผ์ ๊ฒ์ํด์ ์กฐํํ๋ ์๋์ฐ ํ์ผ ํ์๊ธฐ์ ๋น์ทํด ๋ณด์ผ์ ์๋ค.
ํ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฌํ ๋จ์ํ ๋ฐ์ดํฐ ์ ์ฅ์ ๊ฐ๋ ์ ๋์ด์ ์์ ํธํ ๊ฒฉ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ฐ์ ์ปดํจํฐ ์ธ์ด(SQL)๋ก ์ธ๋ฐํ ์ ์ด๊ฐ ๊ฐ๋ฅํ๊ณ , ์ด๋ป๊ฒ ์ ์ดํ๋๋์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์ฒ์ฐจ ๋ง๋ณ์ด๋ค. ๋ํ ๋ฐ์ดํฐ๋ค๋ผ๋ฆฌ ์ค๋ณต๋ ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ ์ด๋ฅผ ํตํฉํ์ฌ ๊ตฌ์กฐ์ ์ด๋ฉฐ ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ๊ฑฐ๊ธฐ๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ปดํจํฐ ์ธ์ด๋ก ์ ์ด๊ฐ ๊ฐ๋ฅํ๊ณ ์ฑ์ด๋ ์น์ ํตํด ์ ์ธ๊ณ๋ก ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด์ฒ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์ผ์ ์กฐ์ง์ ์ผ๋ก ํตํฉํ์ฌ ์๋ฃ ํญ๋ชฉ์ ์ค๋ณต์ ์ต๋ํ ์์ ๊ณ ์๋ฃ๋ฅผ ๊ตฌ์กฐํํ์ฌ ๊ธฐ์ต์์ผ ๋์ ์๋ฃ์ ์งํฉ์ฒด๋ผ๊ณ ํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ํน์ง
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋จ์์ด ์๋ฌด ๋ฐ์ดํฐ๋ ๋ง๊ตฌ์ก์ด๋ก ์ ์ฅํด ๋์ง ์๊ณ ๊ตฌ์กฐ์ ์ธ ํํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋๋ฆ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๊ท์น์ด ์กด์ฌํ๋ค.
ํตํฉ๋ ๋ฐ์ดํฐ (Integrated Data)
์ฌ๋ฌ๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ ์ ์ฅํ๋๋ฐ ์ค๋ณต๋ ์ ๋ณด๊ฐ ์๋ค๋ ์ด๋ฅผ ๊ทธ๋๋ก ์ ์ฅํ๋ฉด ์ฉ๋ ๋ญ๋น๊ฐ ๋ฐ์ํ๋ ๋นํจ์จ์ ์ธ ํ์์ด ๋ฐ์ํ๋ค. ๊ทธ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฌํ ์ค๋ณต๋ ์ ๋ณด์ ๋ํด์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ ์๋ฃ์ ์ค๋ณต์ ์ต์ํํ ๋ฐ์ดํฐ์ ๋ชจ์์ผ๋ก ๊ตฌ์ฑํ๋ค.
์ ์ฅ๋ ๋ฐ์ดํฐ (Stored Data)
์ฐ๋ฆฌ๊ฐ ์ฌ์ง์ด๋ ๋์์ ํ์ผ์ ํ๋๋์คํฌ๋ SSD์ ์ ์ฅํ๋ ๊ฒ์ฒ๋ผ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ๋งค์ฒด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
์ด์ ๋ฐ์ดํฐ (Operational Data)
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฃผ๋ก ์กฐ์ง์ ๋ชฉ์ ์ ์ํด ์กด์ฌํ๊ณ ํ์ฉ๋๋ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ ์ฃผ์ ์ด์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ์ ๊ฒฝ์ฐ ํ๋งค๋์ด๋ ์ฌ๊ณ ๋ ๋ฑ์ด ์ด์ ๋ฐ์ดํฐ์ด๋ค. ๋จ์ํ๊ฑฐ๋ ์์์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ์ด ํ์ํ๋ค๋ฉด ๊ตณ์ด ๋ฌด๊ฑฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๊ณ ๊ทธ๋ฅ ํด๋์ ์ ์ฅํด ๋ฒ๋ฆฌ๋ฉด ๋๋ค.
๊ณต์ ๋ฐ์ดํฐ (Shared Data)
์ฌ๋ฌ ์ฌ๋๋ค์ด ๊ณต์ ํ๊ณ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค. ์๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ฅ ๊ทผ๋ณธ์ ์ธ ์ด์ ์ด๊ธฐ๋ ํ๋ค. ํ๋์ ์ปดํจํฐ๋ ์์คํ ์ ์ํ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ ์ฌ๋ฌ ์์คํ ๋ค์ด ๊ณต์ฉ์ผ๋ก ์์ธ์คํ์ฌ ์ด์ฉํ๋ค. ์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ์ ๊ฒฝ์ฐ ํ๋งค์์ ๊ตฌ๋งค์๊ฐ ๊ฐ์ ์ํ ์ ๋ณด๋ฅผ ๋ณด๋๊ฑธ ๋ค ์ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ฅ ํน์ง
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฌํ ํน์ํ ํน์ง์ ๊ฐ์ง ๋ฐ์ดํฐ๋ค์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ค์๊ฐ ์ ๊ทผ์ฑ (Real-Time Accessibility)
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ์ฉ์์ ์๊ตฌ์ ์ ์ํ๊ณ ์ ํํ๊ฒ ์๋ต์ด ๊ฐ๋ฅํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ ์จ๋ผ์ธ์ ๊ฒฝ์ฐ ๊ณ ๊ฐ์ด ์ํ๋ ์ํ์ ๊ฒ์ํ๊ฑฐ๋ ์ฃผ๋ฌธํ๋ ๊ฒ์ ๋งํ๋ค.
๊ณ์์ ์ธ ๋ณํ (Continuous Evolution)
ํ์ค ์ธ๊ณ์ ๋ณํ๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด ์๋ก์ด ๋ฐ์ดํฐ์ ์ฝ์ (Insert), ์ญ์ (Delete), ๊ฐฑ์ (Update)๋ก ํญ์ ์ต์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๊ฒ์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ์ ๊ฒฝ์ฐ ์ํ ์ ๋ณด๋ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ์ํฉ์ ๋ฐ๋ผ ๊ณ์ ๋ณ๊ฒฝํ ์ ์๋ค.
๋์ ๊ณต์ฉ (Concurrent Sharing)
๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ์ ์์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ์ ๊ฒฝ์ฐ ์ฌ๋ฌ ๊ณ ๊ฐ์ด ๋์์ ๊ฐ์ ์ํ์ ์กฐํํ๊ฑฐ๋ ๊ตฌ๋งคํ ์ ์๋ค.
๋ด์ฉ์ ์ํ ์ฐธ์กฐ (Content Reference)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋ ์ฌ์ฉ์์ ์๊ตฌ์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๋ด์ฉ์ผ๋ก ๋ฐ์ดํฐ์ ์์น๋ ์ฃผ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๋ค. C์ธ์ด์ ํฌ์ธํฐ๋, URL ์ฃผ์๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ์ด ์ข ๋ฅ
๋ณธ๋ฌธ ์๋จ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ปดํจํฐ ์ธ์ด๋ก ํต์ ํ๋ค๊ณ ๋งํ์๋ค. ๋ง์น ํ๋ก๊ทธ๋๋ฐ๊ณผ ๋น์ทํ๋ค๊ณ ๋ณผ ์ ์๋๋ฐ, ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด(Database Language)๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด ์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒ์ด ์ฌ๋ฌ๋ถ์ด ํ๋ฒ ์ฏค ๋ค์ด๋ณธ SQL(Structured Query Language)์ด๋ค. SQL์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์กฐ์ํ๊ณ ์ ์ดํ ์ ์๋ ํ์ค ์ธ์ด๋ก์, ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ง์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ ์ญ์ ํ๋๋ ์์ฑํ๋๋์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ด 4 ๊ฐ์ง๋ก ๋๋๊ฒ ๋๋ค.
๋ช ๋ น์ด ์ข ๋ฅ | ๋ช ๋ น์ด | ์ค๋ช |
๋ฐ์ดํฐ ์กฐ์์ด (DML : Data Manipulation Language) |
SELECT | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋ ๊ฒ์ํ๊ธฐ ์ํ ๋ช ๋ น์ด๋ฅผ ๋งํ๋ ๊ฒ์ผ๋ก RETRIEVE ๋ผ๊ณ ๋ ํจ |
INSERT UPDATE DELETE |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ค์ด ์๋ ๋ฐ์ดํฐ์ ๋ณํ์ ๊ฐํ๋ ์ข ๋ฅ(๋ฐ์ดํฐ ์ฝ์ , ์์ , ์ญ์ )์ ๋ช ๋ น์ด๋ค์ ๋งํจ. | |
๋ฐ์ดํฐ ์ ์์ด (DDL : Data Definition Language) |
CREATE ALTER DROP RENAME TRUNCATE |
ํ ์ด๋ธ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด๋ค๋ก (์์ฑ, ๋ณ๊ฒฝ, ์ญ์ , ์ด๋ฆ๋ณ๊ฒฝ) ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ค์ ๋งํจ. |
๋ฐ์ดํฐ ์ ์ด์ด (DCL : Data Control Language) |
GRANT REVOKE |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ณ ๊ฐ์ฒด๋ค์ ์ฌ์ฉํ๋๋ก ๊ถํ์ ์ฃผ๊ณ ํ์ํ๋ ๋ช ๋ น์ด๋ค์ ๋งํจ. |
ํธ๋์ญ์
์ ์ด์ด (TCL : Transaction Control Language) |
COMMIT ROLLBACK SAVEPOINT |
๋
ผ๋ฆฌ์ ์ธ ์์
์ ๋จ์๋ฅผ ๋ฌถ์ด์ DML์ ์ํด ์กฐ์๋ ๊ฒฐ๊ณผ๋ฅผ ์์
๋จ์(ํธ๋์ญ์
) ๋ณ๋ก ์ ์ดํ๋ ๋ช
๋ น์ด๋ฅผ ๋งํจ. โ |
ํ์ฌ ๋จ๊ณ์์ ์์ ๊ฐ๋ ์ ๋ชจ๋ ์ดํดํ ํ์๋ ์๋ค. ๋ฐ์ดํฐ๋ฅผ ์ด๋ ํ ๋ฐฉ์์ผ๋ก ๋ค๋ฃฐ๊ฒ์ด๋์ ๋ฐ๋ผ ๋ช ๋ น์ด ์งํฉ์ด ๋๋๋ ์ ๋๋ง ์๋ฉด ๋๊ณ ์ถํ์ ํ๊ต๋ ํ์์์ MySQL ์ฟผ๋ฆฌ๋ฅผ ๋ฐฐ์ฐ๊ฒ ๋๋ค๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ต๋ํ๊ฒ ๋ ๊ฒ์ด๋ค.
DBMS (Database Management System)
DBMS๋ ๋จ์ด ๊ทธ๋๋ก์ ๋ป์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํน์ ์กฐ์ง์ ์ ๋ฌด๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ์ํธ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ค์ ๋ณต์กํ ๋ชจ์์ธ๋ฐ, DBMS๋ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ค์ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ฒ์ํ๊ณ ์์ ํ๊ณ ์ญ์ ํ๊ณ ๋ณดํธํ ์ ์๋๋ก ๋์์ค๋ค. DBMS๋ ๋ค์ํ ์ข ๋ฅ์ ๋ชจ๋ธ์ด ์์ผ๋ฉฐ, ์ฌ์ฉํ๋ ๋ชฉ์ ๊ณผ ํ๊ฒฝ์ ๋ฐ๋ผ ์ ์ ํ๊ฒ ์ ํํด์ผ ํ๋ค.
DBMS์ ์ญ์ฌ (๋ฐ์ ๊ณผ์ )
DBMS๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ค์ํ ๋ชจ๋ธ๊ณผ ๊ธฐ๋ฅ์ ๋ฐ์ ์์ผ์๋ค. ๋ค์์ DBMS์ ์ฃผ์ ๋ฐ์ ๊ณผ์ ์ด๋ค.
๊ตฌ๋ถ | ๋ชจ๋ธ | DBMS |
1์ธ๋ | ํ์ผ์์คํ | - ISAM - VSAM |
2์ธ๋ | ๊ณ์ธตํ (Hierachical) HDBMS | - IMS - System2000 |
3์ธ๋ | ๋คํธ์ํฌํ (Network) NDBMS | - IDS - TOTAL - IDMS |
4์ธ๋ | ๊ด๊ณํ (Relational) RDBMS | - Oracle - My-SQL - DB2 - SQL Server - Sybase |
5์ธ๋ | ๊ฐ์ฒด์งํฅ (Object Oriented) ODBMS | - Object Store - UniSQL |
HDBMS (Hierarchical DBMS)
1960๋ ๋์ ๊ฐ๋ฐ๋ ์ต์ด์ DBMS๋ก์, ๋ฐ์ดํฐ๋ฅผ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ํํํ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ถ์์ ์ง์์ ๊ด๊ณ๋ฅผ ๋ถ๋ชจ ๋ ธ๋์ ์์ ๋ ธ๋๋ก ๋ํ๋ผ ์ ์๋ค. HDBMS๋ ๋ฐ์ดํฐ ์ ๊ทผ ์๋๊ฐ ๋น ๋ฅด๊ณ ๋จ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ์ฅ์ ์ด ์์ง๋ง, ๋ฐ์ดํฐ์ ์ค๋ณต์ด ๋ง๊ณ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ์ด๋ ต๊ณ ๊ด๊ณ ํํ์ด ์ ํ์ ์ธ ๋จ์ ์ด ์๋ค.
NDBMS (Network DBMS)
1970๋ ๋์ ๊ฐ๋ฐ๋ DBMS๋ก์, ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ํ ๊ตฌ์กฐ๋ก ํํํ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ถ์์ ์ง์์ ๊ด๊ณ๋ฅผ ๋ ธ๋์ ๋งํฌ๋ก ๋ํ๋ผ ์ ์๋ค. NDBMS๋ HDBMS๋ณด๋ค ๊ด๊ณ ํํ์ด ์ ์ฐํ๊ณ ๋ค๋๋ค ๊ด๊ณ๋ฅผ ์ง์ํ๋ ์ฅ์ ์ด ์์ง๋ง, ๊ตฌ์ฑ๊ณผ ์ค๊ณ๊ฐ ๋ณต์กํ๊ณ ๋ฐ์ดํฐ ์ข ์์ฑ์ ํด๊ฒฐํ์ง ๋ชปํ๋ ๋จ์ ์ด ์๋ค.
RDBMS (Relational DBMS)
1970๋ ๋์ ๊ฐ๋ฐ๋ DBMS๋ก์, ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ ํํ๋ก ํํํ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ถ์์ ์ง์์ ๊ด๊ณ๋ฅผ ํ ์ด๋ธ๊ณผ ํ ์ด๋ธ ๊ฐ์ ์ธ๋ํค๋ก ๋ํ๋ผ ์ ์๋ค. RDBMS๋ ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ต์ํํ๊ณ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ์ฝ๊ณ SQL ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์กฐ์ํ ์ ์๋ ์ฅ์ ์ด ์๋ค. ๋ํ ACID ์์น์ ์ค์ํ์ฌ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ค. ๊ทธ๋์ RDBMS๋ ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ DBMS๋ก์ ์ฐ๋ฆฌ๊ฐ ์ตํ ์์๋ MySQL, Oracle, SQLite ๋ฑ์ด ์๋ค.
ODBMS (Object-Oriented DBMS)
1980๋ ๋์ ๊ฐ๋ฐ๋ DBMS๋ก์, ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด์ ํํ๋ก ํํํ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ถ์์ ์ง์์ ๊ด๊ณ๋ฅผ ๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ์ ์ฐ๊ฒฐ๋ก ๋ํ๋ผ ์ ์๋ค. ODBMS๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํธํ์ฑ์ด ๋๊ณ ๋ณต์กํ ๋ฐ์ดํฐ ํ์ ์ ์ง์ํ๋ ์ฅ์ ์ด ์์ง๋ง, ์ฑ๋ฅ์ด ๋ฎ๊ณ ํ์คํ๊ฐ ๋ถ์กฑํ๊ณ SQL๊ณผ ํธํ๋์ง ์๋ ๋จ์ ์ด ์์ด ๊ฑฐ์ ์ฌ์ฅ๋๊ณ ๋ค์ ํ์์ธ NOSQL ๋ก ๋์ด๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
NO SQL (Not Only SQL)
2000๋ ๋์ ๊ฐ๋ฐ๋ DBMS๋ก์, ํ ์ด๋ธ ํํ์ ๊ด๊ณํ ๋ชจ๋ธ์ด ์๋ ์ฌ๋ฌ๊ฐ์ง์ ๋ชจ๋ธ๋ก ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์(Document)๋ ํค-๊ฐ(Key-Value) ์์ด๋ ๊ทธ๋ํ(Graph) ๋ฑ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ผ ์ ์๋ค. ๊ทธ๋์ NOSQL์ ์ด๋ ํ๊ฐ์ง ํํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์นญํ์ง ์๊ณ , RDBMS์ ํ ์ด๋ธ ํํ๊ฐ ์๋ ํํ๋ฅผ ๋ DB๋ฅผ ์ด์นญํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
NOSQL์ RDBMS๋ณด๋ค ํ์ฅ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ด ๋๊ณ ์ ์ฐํ ์คํค๋ง๋ฅผ ๊ฐ์ง๋ ์ฅ์ ์ด ์์ง๋ง, ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ํญ์ ๋ณด์ฅ๋์ง ์๊ณ ๊ธฐ์กด SQL๊ณผ ํธํ๋์ง ์๋ ๋จ์ ์ด ์๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ ์๋ก์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ณต๋ถํ๋ฏ์ด NO SQL๋ ์ถ๊ฐ์ ์ธ ํ์ต์ด ํ์ํ๋ค. ํ์ง๋ง NOSQL์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ ๋ถ์ฐ ์ฒ๋ฆฌ์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ด์ค๋ถ, ์ค๋ ์ฑ๊ณผ ๊ฐ์ SNS์์ ์ฐ์ธ๋ค. (ํ์ด์ค๋ถ์ ์์ฒด์ ์ผ๋ก ๊ฐ๋ฐํ Cassandra DB๋ฅผ ์ฌ์ฉํ๋ค)
NOSQL์ ์ ๋ช ํ ์ข ๋ฅ๋ก๋ MongoDB, HBase, Cassandra, Redis ๋ฑ์ด ์๋ค.
๋ค๋ง DBMS์ 1~3์ธ๋๋ 4์ธ๋ (๊ด๊ณํ) DBMS๋ก ๋น ๋ฅธ ์ ํ์ด ์ด๋ฃจ์ด ์ก์ง๋ง, ๊ด๊ณํ DBMS์์ ๊ฐ์ฒด์งํฅ DBMS๋ก๋ ์ ํ์ด ๋์ง ์๊ณ ์๋ ์ค์ ์ด๋ค. ์๋ํ๋ฉด ๊ด๊ณํ DBMS์ ๊ฐ์ฒด์งํฅ DBMS๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ์ฅํ๊ณ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋ ๋ชจ๋ธ ๊ฐ์ ํธํ์ฑ์ด ๋จ์ด์ง๊ณ , ์ฑ๋ฅ์ด ์ ํ๋๊ณ , ์ ์ฉ ๋ฒ์๊ฐ ์ ํ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ์์ฃผ ์๋๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ๋ ํน์ํ ์๋น์ค๊ฐ ์๋๋ผ๋ฉด, ๊ด๊ณํ DBMS (RDBMS)๊ฐ ๊ณ์ ํ ์ํ๋ฅผ ์ ์งํ๋ ์ค์ด๋ค.
RDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค) ์ข ๋ฅ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณผ๋ชฉ์ ๋ฐฐ์ฐ๊ธฐ ์์ํด ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก ์ ๋ํด ์ต๋ํ๊ณ ๋ค์์ ์ค์ ์ํํธ์จ์ด๋ฅผ ๋ค๋ฃจ๊ฒ ๋๋๋ฐ ์ฃผ๋ก RDBMS๋ฅผ ๋ค๋ฃจ๊ฒ ๋๋ค. ๊ทธ๋์ ๊ด๊ณํ DB ์ข ๋ฅ์ ๋ํด ์ ๊น ์์๋๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณด๋ ์๊ฐ์ด ๋์ด์ง๊ฒ ๋ ๊ฒ์ด๋ ํ๋ฒ ๋๋ฌ๋ณด๋๊ฑธ ์ถ์ฒํ๋ ๋ฐ๋ค.
Oracle (์ค๋ผํด)
- ์ ์ธ๊ณ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ํ์ฉ๋๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ (RDBMS)
- ์ค๋ผํด์ฌ์์ ์๋น์คํ๊ณ ์์ผ๋ฉฐ Unix, Linux, Windows ๋ฑ์ ๋๋ถ๋ถ์ OS๋ฅผ ์ง์
- Oracle Real Application Clusters (RAC)์ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ์์ด์ ์์์ ํ์ฅ์ฑ๊ณผ ์ฅ์ ์ ๋ํ ๋์ฒ๊ฐ ์ ์ฐํด ํ๋ค๋ ์ฅ์ ์ด ์๋ค.
- IBM์ DB2์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๊ฒฌ๊ธฐ์ , ๋๊ธฐ์ ๋ฑ ๋ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ์ ์ต์ ํ๋์ด ์๋ค.
โ
MSSQL / SQL Server (Microsoft)
- ๋ง์ดํฌ๋ก์ํํธ (Microsoft)์ฌ์ ๋ํ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- MSSQL ํน์ SQL Server ๋ก ๋๊ฐ์ง๋ก ๋ถ๋ฆฌ์ด๋ค
- 1989๋ ์ ์ต์ด๋ก ๋ฐํ๋์์ผ๋ฉฐ, ์ญ์ MS์ ํ๊ตฐ์ด๊ธฐ ๋๋ฌธ์ window server์์๋ง ๊ตฌ๋์ด ๋๊ณ C#๊ณผ๋ ๊ฐ์ฅ ๋์ ํธํ์ฑ์ ์๋ํ๋ DBMS ์ด๋ค.
MySQL (์ค๋ผํด)
- ์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์์ ๊ฐ๋ฐํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- ์ ๋์ค๋ ๋ฆฌ๋ ์ค, ์๋์ฐ ์ด์ ์ฒด์ ๋ฑ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ฌด์๋ณด๋ค ์คํ์์ค์ ์ฅ์ ์ผ๋ก ๋ง์ ๊ธฐ์ ์์ ํ ํ์ด์ง๋ ์ผํ๋ชฐ ๋ฑ ์ผ๋ฐ์ ์ธ ์น ๊ฐ๋ฐ์ ๋๋ฆฌ ์ด์ฉ๋๊ณ ์๋ค.
- 2008๋ SUN์ ์ธ์๋์์ผ๋ฉฐ, 2009๋ Oracle์์ SUN์ ์ธ์ํจ์ ๋ฐ๋ผ ์์ฐ์ค๋ฝ๊ฒ Oracle์ ์์ ๊ฐ ๋์๋ค.
- ๊ทธ๋์์ธ์ง ๋ฉ์ธ ์ ํ์ธ ์ค๋ผํด DB์ ๋นํด ์ฌ์ฉ์ ํธ์๋ฅผ ์ํ ๊ธฐ๋ฅ, ์ฌ์ฉ์ ์ค์ ๋๋ ์ฌํด์ ๋๋นํ ๊ธฐ๋ฅ, ์ฑ๋ฅํฅ์๋ฑ ๊ธฐ๋ฅ์ ์ธ ํ๊ณ๊ฐ ์๋ค
- ๊ทธ๋๋ ๋์คํ๋ ์คํ์์ค์ด๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋ง์ ๊ธฐ์ ์์ ํ์ฉํ๊ณ ์๋ค.
โ
MariaDB (MariaDB ์ฌ๋จ)
- ๋ง๋ฆฌ์ DB๋ 2009๋ ์ ๋ฐํ๋์์ผ๋ฉฐ ๋น๊ต์ ์ญ์ฌ๊ฐ ์งง์ ์ต์ DBMS์ด๋ค.
- MySQL๊ณผ ์๋ฒฝํ๊ฒ ํธํ๋๋ฉฐ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด๋ ์ฌ์ฉ๋ฐฉ๋ฒ๊น์ง ๋์ผํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์ ๋๋ DBA ๊ฐ ์ฝ๊ฒ ์ ํ ์ ์๋ค
- MySQL์ ๋นํด ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ์์๋ 70%๋ ํฅ์์ด ๋์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํ์ฉํ๋ ๊ธฐ์ ๋ค์ด ๋ง์ด ๋์ด๋๋ ์ถ์ธ์ด๋ค.
โ[ MariaDB์ ํ์ ๋ฐฐ๊ฒฝ ]
MariaDB๋ ํ๋ง๋๋ก MySQL ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์ด๋ผ ๋ณด๋ฉด ๋๋ค.โ MariaDB์ ํ์๋ฐฐ๊ฒฝ์ MySQL์ด ์ค๋ผํด์ ์ธ์๋๋ฉด์ ์์์ด ๋์๋๋ฐ, ์ค๋ผํด์์ ์๋ฌด๋๋ ๋ฌด๋ฃ๋ฒ์ ์ธ MySQL๋ณด๋ค ์ฃผ๋ ฅ ์ํ์ธ Oracle์ ํ์์ผ ํ๋ ์ ์ฅ์์ ์คํ์์ค์ธ MySQL์ ๊ธฐ๋ฅ์ ๊ฐ์์์ผ๋ฒ๋ ธ๋ค. ์ด์ MySQL์ ๊ฐ๋ฐํ ๋ง์ดํด ๋ชฌํฐ ์์ด๋๋์ด์ค (Michael Monty Widenius)๋ ์ค๋ผํด๊ณผ์ ์๊ฒฌ ์ถฉ๋๋ก ํ์ฌ๋ฅผ ๋์ ์๋กญ๊ฒ MariaDB๋ฅผ ๊ฐ๋ฐํ๋ค๊ณ ํ๋ค.
DB2 (IBM)
- ๋ํํ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง IBM์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
- 1983๋ ์ ๋ฐํ๋์์ผ๋ฉฐ, ์ฌ์ฉ์๋ค์ด ์๋ก ๊ด๊ณ๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์์ ์ ๊ทผํ ์ ์๋ค.
- DB2์ ํน์ง์ ๊ฐ ์ํฌ๋ก๋(์ ๋ฌด)์ ํน์ฑ์ ๋ง๊ฒ ์์คํ ์ด ์ต์ ํ๋ ์ ์์ผ๋ฉฐ, ์๊ฐ ์ต์ ํ , ์๊ฐ ์น์ , ์๊ฐ ๊ตฌ์ฑ , ์ํฌ๋ก๋ ๊ด๋ฆฌ, ํ์ฅ๋ ์๋ํ ๊ธฐ๋ฅ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ค.
- ๋ํ ๋ฐ์ดํฐ ์์ถ ๊ธฐ์ ์ด ์ข๊ธฐ ๋๋ฌธ์ ๋ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ ์ต์ ํ ๋ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ๋๋ฌธ์ ๋ง์ ์ค๊ฒฌ๊ธฐ์ , ๋๊ธฐ์ ๊ถ์์ DB2๋ฅผ ํ์ฉํ๊ณ ์๋ค.
โ
Sybase (Sybase)
- ์ฌ์ด๋ฒ ์ด์ค ์ฌ์์ ๊ฐ๋ฐ, 1984๋ ์ ๊ณต๊ฐํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- ํ์ฌ (2010๋ )๋ SAP์์ ์ธ์๋์๋ค.
- 2011๋ ์๋ ์ฌ์ด๋ฒ ์ด์ค IQ 15.3์ด ์ถ์ ๋์ด ์ปฌ๋ผ ๋จ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ก I/O ์๋๋ฅผ 90%๊น์ง ํฅ์์์ผฐ์ผ๋ฉฐ, ๋ฐ์ดํฐ ์์ถ ์ ์ฅ, ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ํ์ฉ๋๋ฅผ ๋์ด๊ฒ ๋์๋ค.
- ์ค๋ผํด์ ๋นํด ๋น๊ต์ ์ ๋ ดํ๊ธฐ ๋๋ฌธ์ ๋ง์ ๊ธฐ์ ์์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ ์์คํ ์ด์ง๋ง, ์์ง๊น์ง ๊ตญ๋ด์์๋ ์ค๋ผํด์ ๋นํด ๋ฐ๋ฆฌ๋ ์ถ์ธ์ด๋ค.
# ์ฐธ๊ณ ์๋ฃ
ํด๋ผ์ฐ๋ ์ปดํจํ ๊ณผ AI ์๋น์ค
https://blog.naver.com/acornedu/221040291485
https://www.crocus.co.kr/1327
https://black7375.tistory.com/19
https://sqlversity.wordpress.com/2013/02/21/hierarchical-dbms/
https://prepinsta.com/dbms/object-oriented-database-model/