๐๐ปโ๏ธ Study/โ๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ( Database )(6)
-
Transaction Isolation (ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ์ฑ)
์ ๋ฒ ๊ธ์์ ํธ๋์ญ์ ์ ACID ํน์ฑ์ ๋ํด ์ ๊น ์ธ๊ธํ๋ ์ ์ด ์๋๋ฐ์. ์ค๋์ ํธ๋์ญ์ ์ ACID ์ค I(Isolation)์ธ ๊ฒฉ๋ฆฌ์ฑ์ ๊ฒฉ๋ฆฌ ์์ค์ ๋ํ ๊ธ์ ํฌ์คํ ํ๊ณ ์ ํฉ๋๋ค. Docker์ MySQL์ ์ด์ฉํ ํธ๋์ญ์ rollback / commit ์ค์ต์ ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์ : ) [Docker/MySQL] ํธ๋์ญ์ (Transaction) ํธ๋ ์ญ์ ์ด๋(Transaction) ?! ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ / ํ๊บผ๋ฒ์ ์ํ๋์ด์ผํ ์ผ๋ จ์ ์์ ์ฐ์ฐ์ ์๋ฏธํ๋ค. ์ฌ๋ฌ ์ค์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ yunaaaas.tistory.com Isolation Level (๊ฒฉ๋ฆฌ ์์ค) ์ด๋?! ๋ฉํฐ ์ฐ๋ ๋ / ํธ๋์ญ์ ์ด ๋์์ ๋์ผํ ํ ์ด๋ธ / ๋ ์ฝ๋์ ์ ..
2021.01.10 -
[Docker/MySQL] ํธ๋์ญ์ (Transaction)
ํธ๋ ์ญ์ ์ด๋(Transaction) ?! ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ / ํ๊บผ๋ฒ์ ์ํ๋์ด์ผํ ์ผ๋ จ์ ์์ ์ฐ์ฐ์ ์๋ฏธํ๋ค. ์ฌ๋ฌ ์ค์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ ๋ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ , ์ฟผ๋ฆฌ ์ ์ฒด๋ฅผ ์ทจ์(rollback) ํ๊ฑฐ๋ ํ์ (commit)ํ๋ ์ฐ์ฐ(์์์ฑ์ ํด๋น)์ ํ๋ฉฐ ๋ณดํต RDBMS์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ RDBMS์ ๊ฐํ ๊ธฐ๋ฅ์ด๋ผ๊ณ ๋งํ ์ ์๋ค. ํธ๋์ญ์ ์ ACID ํน์ฑ ์์์ฑ(Atomicity) ์ผ๊ด์ฑ(Consistency) ๊ฒฉ๋ฆฌ์ฑ(Isolation) ๋ด๊ตฌ์ฑ(Durability) MySQL(InnoDB)์ ํธ๋์ญ์ MySQL์ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์ง์ ' InnoDB'์ด๋ค. MySQL์ InnoDB ์์ง์ ๊ธฐ๋ณธ ์ค์ ์ด ํธ๋์ญ์ ์ด ๋ฏธ์ง์ ์ํ์ด..
2021.01.03 -
[Docker/MySQL] JDBC - PreparedStatement ์ค์ต
์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ฒ ๊ธ์ ์ด์ด PreparedStatement ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. Docker์ MySQL์ ์ด์ฉํ JDBC ๊ธฐ๋ณธ ์ค์ต ๊ณผ์ ์ ์๋ ๊ธ์์ ์ค๋ช ํ์ฌ ์๋ตํ์์ต๋๋ค. JDBC ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ๊ณผ Statement ์ค์ต์ ๋ํด ๊ถ๊ธํ์๋ค๋ฉด ์๋๊ธ์ ๋จผ์ ์ฝ๊ณ ์ค์๋ฉด ๋์์ด ๋ฉ๋๋ค : ) [Docker/MySQL] JDBC - Statement ์ค์ต ์ด๋ฒ ํฌ์คํ ์์๋ Docker์ Ubuntu๋ฅผ ๋ง๋ค์ด, Tomcat8์ ์ด์ฉํ์ฌ JDBC ์ Statement ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. JDBC ์ค์ต์ ์ํ ํ๊ฒ ํ์๋ ค๋ฉด MySQL๊ณผ Launchpad(test-db)๊ฐ ํ์ํ๋ฏ๋ก ์๋์ ๊ธ์ ์ฐธ๊ณ ํ.. yunaaaas.tistory.com Statement ์ PreparedStateme..
2020.12.31 -
[Docker/MySQL] JDBC - Statement ์ค์ต
์ด๋ฒ ํฌ์คํ ์์๋ Docker์ Ubuntu๋ฅผ ๋ง๋ค์ด, Tomcat8์ ์ด์ฉํ์ฌ JDBC ์ Statement ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. JDBC ์ค์ต์ ์ํ ํ๊ฒ ํ์๋ ค๋ฉด MySQL๊ณผ Launchpad(test-db)๊ฐ ํ์ํ๋ฏ๋ก ์๋์ ๊ธ์ ์ฐธ๊ณ ํ์ ์ ์ค์ตํ์๊ณ ์ค์๋ฉด ๋์์ด ๋์ค๊ฑฐ ๊ฐ์์! Docker๊ธฐ๋ฐ์ MySQL ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ ์ค๋์ ํ๊ต์์ ๋ฐฐ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ค์ต ๋ด์ฉ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! Docker๋ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ๋์ปค๋ฅผ ํ์ฉํ Mysql ์ค์นํ๋ ๊ฐ๋จํ ๋์ปค ๋ช ๋ น์ด์ Mysql ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ฌ์ฉ yunaaaas.tistory.com MySQL Launchpad(test-db) ๋ค์ด๋ก๋ ๋ฐ ์ค์น ์ด๋ฒ์๋ https://launchpad.net/test-db..
2020.12.31 -
MySQL Launchpad(test-db) ๋ค์ด๋ก๋ ๋ฐ ์ค์น
์ด๋ฒ์๋ https://launchpad.net/test-db ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฉํ๊ธฐ ์ํด MySQL์ Launchpad(test-db)๋ฅผ ๋ค์ด๋ก๋ ๋ฐ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ ค๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. Docker์ MySQL์ ์ค์นํ๊ณ ์ ํ๋ค๋ฉด ์๋ ๊ธ์ ๋จผ์ ์ฝ๊ณ ์์ฐจ์ ์ผ๋ก ๋ฐ๋ผ ํด๋ณด์๋ฉด ๋ ๊ฑฐ ๊ฐ์ต๋๋ค : ) Docker๊ธฐ๋ฐ์ MySQL ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ ์ค๋์ ํ๊ต์์ ๋ฐฐ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ค์ต ๋ด์ฉ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! Docker๋ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ๋์ปค๋ฅผ ํ์ฉํ Mysql ์ค์นํ๋ ๊ฐ๋จํ ๋์ปค ๋ช ๋ น์ด์ Mysql ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ฌ์ฉ yunaaaas.tistory.com Docker์ MySQL ์ปจํ ์ด๋๋ ์ค์น๋์๋ค๋ ๊ฐ์ ํ์ ์์ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐MySQL ์ปจํ ์ด๋..
2020.12.29 -
Docker๊ธฐ๋ฐ์ MySQL ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์ค๋์ ํ๊ต์์ ๋ฐฐ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ค์ต ๋ด์ฉ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! Docker๋ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ๋์ปค๋ฅผ ํ์ฉํ Mysql ์ค์นํ๋ ๊ฐ๋จํ ๋์ปค ๋ช ๋ น์ด์ Mysql ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์๋ ค๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐๐ป ์ ๋ ธํธ๋ถ์ Mac OS์ฌ์, Mac ์ ์ด์ฉํ Docker ๊ธฐ๋ฐ์ MySQL ์ฌ์ฉ๋ฒ ์ ๋๋ค : ) ๐ Docker์ MySQL ์ค์นํ๊ธฐ DockerHub์ MySQL์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ค์น ์์ด ๋ฐ๋ก mysql์ ์ฌ์ฉํ ์ ์์ต๋๋ค! ๋ง์ฝ, MySQL ์ด๋ฏธ์ง๋ฅผ ์ค์นํ๋ ค๋ฉด?! docker pull mysql:8.0.17 docker pull mysql ์์๋ ์ต์ ๋ฒ์ 'latest'๋ฅผ ๊ฐ์ ธ์ต๋๋ค! โ๏ธ MySQL ์ปจํ ์ด๋ ์์ฑํ๊ธฐ docker run -d -p ..
2020.12.29