MySQL Storage Engine Architecture
Last updated
Was this helpful?
Last updated
Was this helpful?
![[MysqlStorgeEngineArchitecture.png]]
๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ์ ์ด MySQ์ ์ฐ๊ฒฐํ๋ ์ธํฐํ์ด์ค๋ค.
JDBC์ ๊ฐ์ ์ปค๋ฅํฐ ๋ฐ Node.js ๊ฐ์ ์ธ์ด๋ฅผ ์ํ ์ปค๋ฅํฐ ๋ค์ด ์๋ค.
์ด ์ปค๋ฅํฐ๋ค์ ๋ค์ํ ์ธ์ด๋ก ์์ฑ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ ์์ฉํ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์ํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ ์๊ฒ ํด์ค๋ค.
์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ , SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉฐ,SQL ๋ฐ MySQL์ด ์ง์ํ๋ ๋ค๋ฅธ ์คํฌ๋ฆฝํ ์ธ์ด๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ค.
์ฌ์ฉ๋ฐฉ๋ฒ
๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ด(SQL ์ฟผ๋ฆฌ)๋ฅผ ์ฒ๋ฆฌํ๋ ํต์ฌ๊ตฌ์ฑ ์์๋ค
NoSQL ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ(Create),์ผ๊ธฐ(Read),๊ฐฑ์ (Update),์ญ์ (Delete) ์์ ์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
DML(๋ฐ์ดํฐ ์กฐ์ ์ธ์ด - INSERT,UPDATE,DELETE,SELECT)๊ณผ DDL(๋ฐ์ดํฐ ์ ์ ์ธ์ด - CREATE,ALTER,DROP)๊ณผ ๊ฐ์ ํ์ค SQL ์์ ์ ์ฒ๋ฆฌํ๋ค.
SQL ์ฟผ๋ฆฌ์ ๊ตฌ๋ฌธ์ ํด์ํ๊ณ ๊ฒ์ฌํ๋ค.
๊ตฌ๋ฌธ ํธ๋ฆฌ(Syntax tree)๋ฅผ ๋ง๋ ๋ค.
์ด ๊ณผ์ ์์ ๋ฌธ๋ฒ ์ค๋ฅ ๊ฒ์ฌ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
์ฟผ๋ฆฌ ํ์์์ ๋ง๋ ํธ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ์ ์ฒ๋ฆฌ๋ฅผ ์์ํ๋ค.
ํ ์ด๋ธ์ด๋ ์ปฌ๋ผ์ ์กด์ฌ ์ฌ๋ถ, ์ ๊ทผ ๊ถํ ๋ฑ ์๋ฏธ๋ก ์ (Semantic) ์ค๋ฅ๋ฅผ ๊ฒ์ฌํ๋ค.
์ฟผ๋ฆฌ ํ์์ ์ ์ฒ๋ฆฌ๊ธฐ๋ ์ปดํ์ผ ๊ณผ์ ๊ณผ ๋งค์ฐ ์ ์ฌํ๋ค.
ํ์ง๋ง SQL์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฒ๋ผ ์ปดํ์ผ ํ์์ ๊ฒ์ฆํ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ ๊ตฌ๋ฌธ ํ๊ฐ๋ฅผ ์งํํ๋ค.
SQL ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ํ๊ณ ๊ฐ์ฅ ํจ์จ์ ์ธ ์คํ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ค.
๋ฐ์ดํฐ ์ ๊ทผ ๊ธฐ๊ฐ์ ์ค์ด๊ธฐ ์ํด ์ผ์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋๋ค. ๊ธ๋ก๋ฒ ์บ์ ๋ฐ ๋ฒํผ์ ์คํ ๋ฆฌ์ง ์์ง๋ณ ์บ์ ๋ฐ ๋ฒํผ๊ฐ ํฌํจ๋๋ค.
์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ๊ตฌ์ฑ ์์๋ค. MySQL์ ๋ค์ํ ์ ํ์ ์์ ์ ์ต์ ํ๋ ์ฌ๋ฌ ์ํ ๋ฆฌ์ง ์์ง์ ์ง์ํ๋ค
MySQL์ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์ง์ผ๋ก, ์ธ๋ ํค ์ง์๊ณผ ํจ๊ป ์ ์ฒด ACID ์ค์ ํธ๋์ญ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๊ณ ์ ์ ์ฅ์ ์ ๊ณตํ์ง๋ง ํธ๋์ญ์ ๊ธฐ๋ฅ์ด ์๋ ์ค๋๋ ์คํ ๋ฆฌ์ง ์์ง์ด๋ค.
๋์ ์ค๋ณต์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ์ํด ์ค๊ณ๋ ์คํ ๋ฆฌ์ง ์์ง์ด๋ค.
์์คํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์คํ ๋ฆฌ์ง ์์ง์ผ๋ก, ๋น ๋ฅด์ง๋ง ์๊ตฌ์ ์ด์ง ์๋ค.
๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ธฐ๋ณธ ํ์ผ ์์คํ ์ด๋ค.
์ค์ ๋ฐ์ดํฐ, ์ธ๋ฑ์ค ์ ๋ณด, ๋ณต์ ๋ฅผ ์ํ ๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ, ํธ๋์ญ์ ์ ์ํ ์ธ๋ ๋ก๊ทธ, ์ฑ๋ฅ ๋ถ์์ ์ํ ์ผ๋ฐ ๋ฐ ๋๋ฆฐ ์ฟผ๋ฆฌ ๋ก๊ทธ ๋ฑ ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.