๐MySQLTUTORIAL ๊ณต์ ๋ฌธ์
๐MySQL ๊ณต์ ๋ฌธ์
MySQL์์ ์ ๊ณตํ๋ Storage Engine์๋ ํฌ๊ฒ ๋ค์์ด ์๋ค.
- MyISAM
- InnoDB
- MERGE
- MEMORY (HEAP)
- ARCHIVE
- CSV
- FEDERATED
์ฐ๋ฆฌ๊ฐ MySQL์ ์ฌ์ฉํ ๋์๋ InnoDB๊ฐ ํญ์ ๋ํดํธ๋ก ์ค์ ๋๊ธฐ ๋๋ฌธ์ ์์ง์ ๋ํด ๊ณ ๋ฏผ์ ํด๋ณธ ๊ฒฝ์ฐ๋ ๋ง์ง ์์ ๊ฒ์ด๋ค. (๋๋ ๊ทธ๋ฌ๋ค.) ์ด ํฌ์คํ
์์๋ MySQLTUTORIAL
์์ ์ ๊ณตํ๋ ๊ฐ๊ธฐ ์์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ๋ฆฌํ๊ณ , ์์ผ๋ก๋ DB ์์ง์ ์ ํํ ๋ ์ํฉ์ ๋ง์ถฐ ๊ฒฐ์ ํ ์ ์๋๋ก ํ๋ค.
MyISAM
- transaction safty๋ฅผ ๋ณด์ฅํด ์ฃผ์ง ์๋๋ค. ์ฆ, ์ฌ๋ฌ ๊ณณ์์ ๋์์ ์ ์ํ์ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, table-level locking์ ํ๋ฏ๋ก ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ์ฑ๋ฅ์ด ์ ํ๋๋ค.
ISAM
์ ๊ณ์นํ ์์ง์ผ๋ก, ์ ์ฅ๊ณต๊ฐ์ ์ต์ํํ์ฌ ์ฌ์ฉํ๊ณ ์๋์ ์ผ๋ก ๋น ๋ฅธ ์๋๋ฅผ ์๋ํ๋ค. ์ ์ฅ๊ณต๊ฐ์ ์ต๋ํ ์ค์ด๊ธฐ ์ํด read-only
๋ก ์ค์ ํ ์๋ ์๋ค.
- ์๋ฌ ์ฒดํน / ์๊ฐ ๋ณต๊ตฌ ๋ชจ๋์ด ์์ผ๋ฉฐ DB๋ถํ
์ ์คํ๋๋ค.
- ์ต๋ 256TB์ DB๋ฅผ handleํ ์ ์๋ค.
InnoDB
- ACID-compliant๋ฅผ ์ง์ํ๋ค. ์ฆ, transaction safty๋ฅผ ์๋ฒฝํ๊ฒ ๋ณด์ฅํ๋ค.
- FK, commit, rollback, roll-forward ๋ช
๋ น์ ์ง์ํ๋ค.
- ์๋ฌ ์ฒดํน / ์๊ฐ ๋ณต๊ตฌ ๋ชจ๋์ด ์์ผ๋ฉฐ DB๋ถํ
์ ์คํ๋๋๋ก ์ค์ ํ ์ ์๋ค.
- ์ต๋ 64TB์ DB๋ฅผ handleํ ์ ์๋ค.
MERGE
- ์ฌ๋ฌ MyISAM ํ
์ด๋ธ์ ํ ํ
์ด๋ธ๋ก ๋ชจ์ ์์คํ
์ด๋ค.
MRG_MyISAM
์ด๋ผ๊ณ ๋ ํ๋ค.
- ์ธ๋ฑ์ค๊ฐ ์๊ณ , MERGE ์์คํ
์ ์ด๋ฃจ๋ MyISAMํ
์ด๋ธ ํ๋ํ๋๋ฅผ ์ธ๋ฑ์ค๋ก ๊ฐ์ฃผํ๋ค.
- ํ
์ด๋ธ์ ์กฐ์ธํ ๋ ํ๊ธฐ์ ์ธ ์๋๋ฅผ ๋ณด์ฅํ๋ค.
- ์
๋ ฅํ ์ ์๋ ๋ช
๋ น์ด๋
SELECT
DELETE
UPDATE
INSERT
๋ฐ์ ์๋ค.
Memory
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ณ , hash๋ฅผ ํตํด ์ธ๋ฑ์ฑ๋๋ค. ๊ทธ๋์ MyISAM๋ณด๋ค๋ ๋น ๋ฅด๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋งํผ DB์๋ฒ์์ ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ ์ฌ๊ฐ ํด์ ๋๋ฉด ์ ์ฅ๋ ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๋ค.
HEAP
์ด๋ผ๊ณ ๋ ํ๋ค.
Archive
- ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์์นด์ด๋ธ ์ฉ๋๋ก, ํจ์จ์ ์ธ ์์ถ์ ํตํด ์ ์ฅํ ์ ์๋ค. ์ฃผ๋ก ๋ก๊ทธ๋ฅผ ์ ์ฅํ๋ ๋ฐ์ ์ฐ์ธ๋ค.
- INSERT๋ ๋ ๋ฐ๋ก ์์ถํ๊ณ ์ฝ์ ๋์๋
zlib
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์์ถ์ ํผ๋ค.
INSERT
SELECT
๋ ๊ฐ์ ๋ช
๋ น์ด๋ง ์ ๊ณตํ๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ ๊ณตํ์ง ์์ ์ธ์ ๋ FULL TABLE SEARCH๋ฅผ ํด์ผ ํ๋ค. REPLACE
๋ ์ ๊ณตํ๊ธฐ๋ ํ๋ค.
- ๋ฐ๋ผ์ ํด์ฌ๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
CSV
- .csvํ์ผ ๋ง๋ค. ์ด ํ์์ผ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ํํธ์จ์ด์ ์ฝ๊ฒ ์ํตํ ์ ์๋ค.
- NULL์ ์ง์ํ์ง ์๊ณ , ์ธ์ ๋ FULL TABLE SCAN์ ํ๋ค.
FEDERATED
- ๋ก์ปฌ์๋ ์๋ฌด๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ณ , ์๊ฒฉ Federated ํ
์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.