DBMS(Database Management System) ๋?
๋ฐ์ดํฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์ํํธ์จ์ด์ ๋๋ค.
DBMS๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์์ , ๊ฒ์, ์ญ์ ๋ฑ ๋ค์ํ ์์ ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ, ๋ณด์, ์ผ๊ด์ฑ์ ์ ์งํ๋๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
๋๊ตฐ๊ฐ " ์ฌ์ฉ ๊ฐ๋ฅํ DBMS๋ฅผ ๋งํด์ฃผ์ธ์." ๋ผ๊ณ ๋ฌผ์ด๋ณธ๋ค๋ฉด, ์๋์ ๊ฐ์ ๋ค์ํ DBMS ์์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
DBMS ์ข ๋ฅ
์ข ๋ฅ | ์ ์ | ์์ |
RDBMS (๊ด๊ณํ DBMS) | ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ๋ก ๊ตฌ์กฐํํ๋ฉฐ, SQL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. | Oracle, MySQL, PostgreSQL, SQL Server |
NoSQL DBMS | ๋น์ ํ ๋ฐ์ดํฐ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ค๊ณ๋ DBMS | MongoDB, Cassandra, Redis. |
๊ธฐํ DBMS | ๊ฒฝ๋ ๋๋ ํน์ ๋ชฉ์ DBMS | SQLite, IBM Db2 |
DBMS๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS), NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๊ฐ์ฒด์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ์ฌ๋ฌ ์ ํ์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
1. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)
RDBMS๋ ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ(ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ๊ตฌ์กฐ)๋ก ๊ด๋ฆฌํ๋ฉฐ, SQL(Structured Query Language)์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ์กฐ์ํฉ๋๋ค. ์ด ๋ฐฉ์์ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ช ํํ๊ฒ ์ ์ํ ์ ์์ด, ๋๋ถ๋ถ์ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
์ฃผ์ RDBMS ์์:
- Oracle Database:
- Oracle์ ๋๊ท๋ชจ ๊ธฐ์ ์ฉ ์์คํ ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ DBMS์ ๋๋ค. ์์ ์ฑ, ๋ณด์, ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ , ํธ๋์ญ์ ๊ด๋ฆฌ์ ๋ณต๊ตฌ ๊ธฐ๋ฅ๋ ๊ฐ๋ ฅํฉ๋๋ค.
- ํน์ง: ๋ค์ค ์ฌ์ฉ์ ์ง์, ACID ํธ๋์ญ์ , ๊ณ ๊ฐ์ฉ์ฑ ๋ฐ ํ์ฅ์ฑ.
- MySQL:
- MySQL์ ์คํ ์์ค DBMS๋ก, ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ค์ ๊ท๋ชจ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด RDBMS๋ก, ํนํ LAMP ์คํ(Linux, Apache, MySQL, PHP/Perl/Python)์์ ์ธ๊ธฐ๊ฐ ๋ง์ต๋๋ค.
- ํน์ง: ๋ฌด๋ฃ ์ฌ์ฉ ๊ฐ๋ฅ, ๋๊ท๋ชจ ์น์ฌ์ดํธ์์ ๋๋ฆฌ ์ฌ์ฉ, ๋ค์ํ ์คํ ๋ฆฌ์ง ์์ง ์ง์.
- PostgreSQL:
- PostgreSQL์ ์คํ ์์ค RDBMS๋ก, ๊ณ ๊ธ SQL ๊ธฐ๋ฅ๊ณผ NoSQL ๊ธฐ๋ฅ์ ์ง์ํ๋ ํ์ด๋ธ๋ฆฌ๋ DBMS์ ๋๋ค. ๊ณ ์ฑ๋ฅ, ํ์ฅ์ฑ, ACID ํธ๋์ญ์ ์ง์์ผ๋ก ๊ธฐ์ ์์คํ ์์ ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ง: ๊ณ ๊ธ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ, ํธ๋์ญ์ ๊ด๋ฆฌ, JSON ๋ฐ XML ์ฒ๋ฆฌ.
- Microsoft SQL Server:
- SQL Server๋ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ๊ฐ๋ฐํ RDBMS๋ก, Windows ํ๊ฒฝ์์ ์ต์ ํ๋์ด ์์ต๋๋ค. ๊ธฐ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋ฐ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ง: ์ง๊ด์ ์ธ ๊ด๋ฆฌ ๋๊ตฌ, SSIS, SSRS ๊ฐ์ BI ๊ธฐ๋ฅ ๋ด์ฅ.
2. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ํต์ ์ธ ํ ์ด๋ธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๊ฐ ์๋, ์ ์ฐํ ์คํค๋ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ๋น ๋ฐ์ดํฐ, ๋ถ์ฐ ์ฒ๋ฆฌ์ ์ ํฉํ๋ฉฐ, ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๊ณ ์ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค.
์ฃผ์ NoSQL DBMS ์์:
- MongoDB:
- MongoDB๋ ๋ฌธ์ ์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก, ๋ฐ์ดํฐ๋ฅผ JSON ํ์์ ๋ฌธ์๋ก ์ ์ฅํฉ๋๋ค. ์คํค๋ง๊ฐ ์ ์ฐํ๊ณ , ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ง: JSON ๊ธฐ๋ฐ ๋ฌธ์ ์ ์ฅ, ์ ์ฐํ ์คํค๋ง, ์ํ์ ํ์ฅ์ฑ.
- Cassandra:
- Apache Cassandra๋ ๋๊ท๋ชจ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก, ํนํ ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ๋ ๋ถ์ฐ ๋ ธ๋์ ์ ์ฅ๋๋ฉฐ, ์ค๋ณต์ฑ๊ณผ ์ฅ์ ๋ณต๊ตฌ์ ๊ฐํฉ๋๋ค.
- ํน์ง: ๊ณ ๊ฐ์ฉ์ฑ, ๋๊ท๋ชจ ๋ถ์ฐ ์ ์ฅ, NoSQL ๊ธฐ๋ฐ์ ์ปฌ๋ผ ํจ๋ฐ๋ฆฌ ๋ชจ๋ธ.
- Redis:
- Redis๋ ์ธ๋ฉ๋ชจ๋ฆฌ ํค-๊ฐ ๋ฐ์ดํฐ ์ ์ฅ์๋ก, ๋งค์ฐ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฃผ๋ก ์บ์๋ ์ค์๊ฐ ๋ถ์์ ์ฌ์ฉ๋๋ฉฐ, ๋ฐ์ดํฐ์ ์๊ตฌ ์ ์ฅ์ด ํ์ ์๋ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
- ํน์ง: ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์ ์ฅ, ๊ณ ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ํธ๋์ญ์ ์ง์.
3. ๊ธฐํ DBMS
- SQLite:
- SQLite๋ ๋งค์ฐ ๊ฐ๋ฒผ์ด ์๋ฒ ๋๋ํ DBMS๋ก, ์๋ฒ๊ฐ ํ์ ์๊ณ ํ์ผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค. ์ฃผ๋ก ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ํ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ง: ์๋ฒ๋ฆฌ์ค, ๊ฒฝ๋, ํ์ผ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค.
- IBM Db2:
- Db2๋ IBM์ ๋ํ์ ์ธ RDBMS๋ก, ๋ํ ์์คํ ๋ฐ ๋ฉ์ธํ๋ ์์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํธ๋์ญ์ ๊ด๋ฆฌ, ๋์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ํน์ง: ๊ธฐ์ ์ฉ, ๊ณ ์ฑ๋ฅ, ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ ๊ฐ๋ฅ.
์ฌ์ฉ ๊ฐ๋ฅํ DBMS ๊ธฐ์ฌ ์์
๋ง์ฝ DBMS์ ๋ํ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ์ ๊ธฐ์ฌํ๋ ์ํฉ์ด๋ผ๋ฉด, ์ด๋ ๊ฒ ์์ฑํ ์ ์์ต๋๋ค:
- Oracle Database
- MySQL
- PostgreSQL
- Microsoft SQL Server
- MongoDB
- Cassandra
- Redis
- SQLite
- IBM Db2