๐พBackEnd17 MySQL - ์ธ๋ฑ์ค ์ธ๋ฑ์ค๋ฅผ ์ ์ฌ์ฉํด์ผ ๋๋์ง ์๊ธฐ ์ํด์๋ ๋์คํฌ ์ฝ๊ธฐ ๋ฐฉ์์ ๋ํด ๊ณต๋ถ๋ฅผ ํด์ผ๋๋ค. ์ด ํฌ์คํธ๋ ์ธ๋ฑ์ค์ ๊ด๋ จ๋ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์ ๋์คํฌ ์ฝ๊ธฐ ๋ฐฉ์์ ๋ํด ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๊ณ ๋์ด๊ฐ๊ฒ ๋ค. 2๊ฐ์ ์ฝ๊ธฐ ๋ฐฉ์์ ์ดํดํ๋ฉด ์ข์๋ฐ ๋๋คI/O์ ์์ฐจI/0 ๋ฐฉ์์ด๋ค. ๋๋คI/O๋ฐฉ์๊ณผ ์์ฐจI/O ๋ฐฉ์์ ๊ณตํต์ ์ธ ํ๋์ด ์๋๋ฐ ํ๋ํฐ๋ฅผ ๋๋ ค์ ์ฝ์ด์ผ ํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ์์น๋ก ๋์คํฌ ํค๋๋ฅผ ์ด๋์ํจ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ์ฐจ์ด๊ฐ ๋๋ ๋ถ๋ถ์ ์์ฐจI/O๋ 1๋ฒ์ ์์คํ ์ฝ์ ํธ์ถํ๊ณ ๋๋คI/O๋ 3๋ฒ์ ํธ์ถ์ ํ์๋ค. ์ด๋ ๊ฒ ์ดํด๋ณด๋ฉด ์์ฐจI/O๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์จ์ด ์ข๊ฒ ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋คI/O๋ฅผ ์ฌ์ฉํ๊ณ ์๋ MySQL์ ํ์ค์ ํน์ฑ์ ์์ฐจI/O๋ก ๋ณ๊ฒฝํ๊ธฐ๋ ์ด๋ ต๋ค. ๊ทธ๋์ ๋๋คI/O๋ฅผ ์ฌ์ฉ์ ํ๋ฉด์ ์ ๊ทผํ๋.. 2023. 2. 28. MySQL - ๊ฒฉ๋ฆฌ ์์ค MYSQL ๊ฒฉ๋ฆฌ ์์ค ๊ฒฉ๋ฆฌ ์์ค ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์ฒ๋ฆฌ๋ ๋ ํน์ ํธ๋์ญ์ ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์กฐํํ๋ ํ ์ด๋ธ์ ๋ณผ ์ ์๊ฒ ์ฒ๋ฆฌ๋ฅผ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. 1. Read Uncommitted Read Uncommitted ๊ฒฉ๋ฆฌ ์์ค์ ๊ฐ ํธ๋์ญ์ ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ด commit , Rollback ์ฌ๋ถ์ ์๊ด์์ด ๋ค๋ฅธ ํธ๋์ญ์ ์ ๋ณด์ธ๋ค. (Dirty Read) → ์ฌ์ฉ์ A๊ฐ insert๋ฅผ ํ๊ณ ์ฌ์ฉ์ B๊ฐ commit ์ด ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ select๋ก ์ ๊ทผ์ ํ๋ค. → ๋ง์ฝ์ Insert ํ๋ ๊ฒฝ์ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ๋กค๋ฐฑ์ ํ๊ฒ ๋๋ค๋ฉด ์ฌ์ฉ์B๋ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผ์ ํ๊ณ ์์๊น? — ๋กค๋ฐฑ์ด ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผ → ์ด์ฒ๋ผ Read Uncommitted๋ ์ ํฉ์ฑ์ ๋ง์ ๋ฌธ์ ๊ฐ .. 2023. 2. 28. MYSQL - LOCK Lock ๋ฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์์ฑ์ ๋ณด์ฅํ๋ค. ์ฆ. ๋ฝ์ ๋์์ฑ์ ์ ์ดํ ๋ ๋ฝ์ ๋ฒ์๋ฅผ ์ต์ํ๋ฅผ ํ๋๊ฒ ์ค์ํ๋ค. ์๋ํ๋ฉด ๋ฝ์ ๋ฒ์๊ฐ ๊ธธ์ด์ง๋ฉด ๋์ง์ค์ธ ์ปค๋ฅ์ ์ด ๋ง์์ง๊ณ ๋์ค์๋ ์ปค๋ฅ์ ํ์ด ๊ณ ๊ฐ๋ก ์ด์ด์ง ์ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก MySQL์์๋ ํธ๋์ญ์ ์ปค๋ฐ , ๋ก๋ฐฑ์์ ์ ๋ฝ์ด ํ๋ฆฐ๋ค. ํธ๋์ญ์ ์ด ๊ณง ๋ฝ์ ๋ฒ์๊ฐ ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. MySQL์์ ๋ฝ์ ํฌ๊ฒ InnoDB ์์ง , MySQL ์์ง ๋ ๋ฒจ๋ก ๋๋ ์ ์๋ค. ๐ ๋น๊ด์ ๋์์ฑ ์ ์ด(PCC, Pessimistic Concurrency Control) ๋น๊ด์ ๋ฝ์ด๋ผ๊ณ ๋ ํ๋ฉฐ ํธ๋์ญ์ ์ด ์ถฉ๋ํ๋ ๊ฐ์ ํ์ ์ ๊ธ์ ๊ฑฐ๋ ๋ฐฉ์ ์ผ๋ฐ์ ์ผ๋ก Shared Lock, Exclusive Lock์ ํตํด ์ด๋ฅผ ๊ตฌํํ๋ค. ๐ ๋๊ด์ ๋์ ์ํ ์ ์ด(OCC, Opti.. 2023. 2. 28. [SpringBoot] Slack์ผ๋ก ์๋ฆผ ๋ณด๋ด๊ธฐ ์๊ฐ ์์ฆ Slack์ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋์ด์ Spring boot๋ฅผ ํตํด์ Slack์ ์๋ฆผ์ ๋ณด๋ด๊ธฐ๋ฅผ ์๋ํ๋ค. 1. ์ํฌ์คํ์ด์ค ๋ฐ ์ฑ๋ - ์ผ๋จ ๊ธฐ์กด์ ์๋ ์ฑ๋์ ์ฌ์ฉ์ ํ๋๋ฐ ๋ง์ฝ์ ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ฉด ์๋ก์ด ์ฑ๋์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ถ์ฒํ๋ค. 2. ์๋ธ ์ฑ๋ -> ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ - ์๋ธ ์ฑ๋์ ํ๋ ์ ํ์ ํ๊ณ ์ฑํด๋ฆญ์ ํ์ฌ ์ฑ๋ ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ๋ฅผ ์ ํํ๋ค. 3. ํตํฉ -> ์ฑ -> ์ฑ์ถ๊ฐ 4. ๊ฒ์ -> webhook ๊ฒ์ ๊ฒ์์ ํ ๋ webhook์ ๊ฒ์ํ์ฌ Imcoming-webook์ ์ค์นํ๋ค. 5. URL ํ์ธ Slack api ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ Add Incoming WebHooks Integration์ ๋๋ฅด๋ฉด ๋ฐ์ ํ๋ฉด์ด ๋์ค๋๋ฐ ์ฌ๊ธฐ์ URL์ ๋ณต์ฌํ๋ค. 5-2. webhook ํ ์ค.. 2023. 2. 15. ์ด์ 1 2 3 4 5 ๋ค์