๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(62)
-
Slow Query ํ์ธ๋ฒ (in Mysql, Postgresql)
๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ์ฌ์ฉ์์ ์ ์ฅ์์๋ ์ค์ํ์ง๋ง DB ๋ ๋ฒจ์ ํจ์จ์ ์์๊ด๋ฆฌ๋ฅผ ์ํด์๋ ๊ผญ ํ์ํ ์ผ์ด๋ค. ์ด๋ป๊ฒ ์ฟผ๋ฆฌ์ ์คํ ์๊ฐ๋ค์ ํ์ธํ ์ ์์๊น? ์ง์ ์ผ์ผ์ด ์คํ์์ผ๋ณด๋ฉด์ ์๊ฐ์ ์ฌ์ผ ํ๋? ๋คํํ๋ ์ผ๋ถ DB๋ค์ ๊ทธ๋ค ์๋ฒ์์ ์ํ๋๋ ์ฟผ๋ฆฌ ์ค ์๋ฒ์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ Slow Query(์ฌ๋ก์ฐ ์ฟผ๋ฆฌ)๋ค์ ๋ฐ๋ก ์ ์ฅํด๋๊ณ , ์ด๋ฅผ ๊ฐ๋ฐ์๋ค์ด ํ์ธํ ์ ์๋๋ก ํ๊ณ ์๋ค. ์ด ๊ธ์์๋ ์ฌ๋ก์ฐ ์ฟผ๋ฆฌ์ ํ์ธ์ด ์ฉ์ดํ ๋ DB, Mysql๊ณผ Postgresql์์ ์ด๋ฅผ ์ค์ ํ๊ณ ํ์ธํ๋ ๋ฒ์ ๋ค๋ฃจ๋ ค๊ณ ํ๋ค. Mysql ์ค์ ๋ฒ Mysql์์๋ ์๋ ๋ด์ฉ์ my.cnf์ ์ถ๊ฐํ๋ฉด 1์ด ์ด์ ๊ฑธ๋ฆฌ๋ ์ฟผ๋ฆฌ๋ฅผ ์ฌ๋ก์ฐ ์ฟผ๋ฆฌ๋ก ์์ ํ๊ณ ์ด์ ๋ํ ์์ง์ด ์์๋๋ค. ๋ฌผ๋ก ์ค์ ํ์ผ์ ์์ ํ๊ธฐ ๋๋ฌธ์ ..
2023.12.13 -
Buffer Pinning ๊ธฐ๋ฒ (in Oracle)
์ผ๋ฐ์ ์ผ๋ก Index Scan์ด๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๊ธฐ๋ฒ๋ค(Index Range Scan, Index Unique Scan ๋ฑ)์ Single Block IO๋ฅผ ํ์ฉํ๋ค. (ํด๋น ๋ด์ฉ์ ๋ํ ์ดํด๋๊ฐ ๋ถ์กฑํ๋ค๋ฉด ์ด์ ๊ธ ์ฐธ์กฐ -> ํ ์ด๋ธ ์ค์บ ๋ฐฉ์์ ๋ฐ๋ฅธ DB Block IO ์ ๋ต) ๋ค์ ์ค๋ช ํ๊ฒ ์ง๋ง, ์ฝ์ด์ผ ํ ๋ธ๋ก์ด ๋ฒํผ์ ์กด์ฌํ๋ค๊ณ ํด๋ ํด๋น ๋ธ๋ก์ ์ ๊ทผํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ ํฌ์ธํฐ๋ฅผ ํ๋ํ๋ ๊ณผ์ ์ด ํ์ํ๋ค. ๋ฐ๋ผ์ ์ฝ์ด์ผ ํ ์ธ๋ฑ์ค ๋ ์ฝ๋๊ฐ ๋ง์ ๊ฒฝ์ฐ์, ๊ทธ ์ ๋งํผ ๋ ผ๋ฆฌ์ IO๊ฐ ๋ฐ์ํ๋ค๊ณ ๋ณผ ์ ์๊ณ ๋งค๋ฒ ํฌ์ธํฐ๋ฅผ ์๋กญ๊ฒ ํ๋ํ๋ค๊ณ ์๊ฐํ ์ ์๋ค. ๋ง์ฝ ์ธ๋ฑ์ค ๋ฆฌํ ๋ ธ๋์์ ์ฝ์ด๋ธ ํ ์ด๋ธ ROWID๊ฐ ๋๋ถ๋ถ ๋์ผํ ๋ธ๋ก์ ๊ฐ๋ฆฌํค๊ณ ์๋ค๋ฉด? ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ธ๋ฑ์ค ๋ ์ฝ๋ ์ ๋งํผ ํฌ์ธํฐ ํ๋ ๊ณผ์ ..
2023.12.09 -
ํ ์ด๋ธ ์ค์บ ๋ฐฉ์์ ๋ฐ๋ฅธ DB Block IO ์ ๋ต (Single vs Multi)
Database๊ฐ ์ฟผ๋ฆฌ์์ ์๊ตฌํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ํ ์ด๋ธ์ ์ ๊ทผํ๋ ๋ฐฉ์์๋ ๋ค์ํ ์ข ๋ฅ๊ฐ ์๋ค. ํฌ๊ฒ๋ ์ธ๋ฑ์ค์ ํ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ ๊ฐ๋ฆฌ๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ค์บํ ์ง์ ๋ํด์๋ ์ข ๋ฅ๊ฐ ๋๋๋ค. ์ด๋ ๊ฒ ๋๋ ํ ์ด๋ธ ์ค์บ ๋ฐฉ์์ ๋๋ต ์๋์ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค. Table Full Scan(Sequential Scan) Index Range Scan Index Full Scan Index Unique Scan Index Skip Scan Index Fast Full Scan ์ด ๋ ๊ฐ ์ค์บ ๋ฐฉ์๋ค์ ๋ด๋ถ์ ์ธ ์๋ ๋ฐฉ์์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ Block IO ์ ๋ต์ ๊ฐ๊ฒ ๋๋๋ฐ, ์ด๋ฌํ ๋ด๋ถ ์๋์ ์ฐจ์ด๋ฅผ ์ดํดํ๋ฉด ์ DB๊ฐ ํด๋น ๋ฐฉ์์ ์ฌ์ฉํ๋์ง์ ๋ํ ์ดํด๋๋ฅผ ๋์ผ ์ ์๋ค. ๋ฐ๋ผ์ ํด๋น ๊ธ์..
2023.12.02 -
DB ์ธ๋ฑ์ค ์์ฑ์ ์ฌ์ด๋ ์ดํํธ(with Mysql)
์ค์ ๋ก DB๋ฅผ ๋ค๋ฃจ๊ฒ ๋๋ ์ํฉ์์ ๋น ์ง ์ ์๋ ๊ฒ์ด ๋ฐ๋ก ์ธ๋ฑ์ค์ด๋ค. ์ธ๋ฑ์ค๋ฅผ ํตํ๋ฉด ํน์ ์กฐ๊ฑด์์ ๋ฐ์ดํฐ์ ์กฐํ ์ฑ๋ฅ์ด ๋น์ฝ์ ์ผ๋ก ์ฆ๊ฐํ๋ค๋ ๊ฒ์ ๋๊ตฌ๋ ์๊ณ ์๋ ์ฌ์ค์ด๋ค. ๊ทธ๋ฌ๋ฉด์๋, ์ธ๋ฑ์ค๋ฅผ ๋จ๋ฐํ๋ฉด ์๋๋ค๋ ๊ฒ ๋ํ ๋ค๋ค ์๊ณ ์๋ค. ์ด ๋ ๋ฑ์ฅํ๋ ๋ ผ๋ฆฌ๊ฐ ๋ฐ๋ก ์ธ๋ฑ์ค๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ์ ๋น์ฉ๊ณผ ๋ฐ์ดํฐ ์ฝ์ ์ ์ถ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ์๊ฐ์ ๋น์ฉ์ ๋ํ ๋น์ค์ ๋ฌด์ํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ ์ด๋ ๊ฒ ๊ฒ๋ง ์ฃผ๊ณ ์ค์ ๋ก ๊ทธ ์ ๋๊ฐ ์ด๋ ์ ๋์ธ์ง ์๋ ค์ฃผ๋ ์๋ฃ๋ ๋ง์ด ์์ด์ ์ด์ ๋ํด ์ค์ ๋ก ํ์ธํด๋ณด๋ ค๊ณ ํ๋ค. ํ ์คํธ ํ๊ฒฝ์ Mysql์ด๊ณ , ์๋ฌด๋ฐ ๋ฆด๋ ์ด์ ์ด ์กด์ฌํ์ง ์๋ ๋ ๋ฆฝ๋ ํ ์ด๋ธ์์ ํ ์คํธ๋ฅผ ์งํํ์๋ค. -- ํ ์ด๋ธ ์์ฑ create table item ( id BIGINT NOT NULL..
2023.11.25 -
DB ์คํ๊ณํ ํ์ธ๋ฒ(in PostgreSQL)
์ผ๋ฐ์ ์ธ ์๋ฒ - ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์์ ์๋ฒ ์ธก์ ๋ฐ์ดํฐ์ ์์์ฑ์ ์ํด Database๋ฅผ ํ์ฉํ๋ค. ์ด๋ฌํ ์ํฉ์์ ๋ฐ์ดํฐ์ ํ๋ฆ์ ๊ฐ๋ตํ๊ฒ ํํํ๋ฉด ํด๋ผ์ด์ธํธ - WAS - DB ์ ํํ๊ฐ ๋๋๋ฐ, ์ผ๋ฐ์ ์ธ RDB ๊ธฐ์ค ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ Disk์ ์ ์ฌ๋๊ธฐ ๋๋ฌธ์ ์์คํ ์ฝ์ ์ ๋ฐํ๊ฒ ๋๊ณ ์๋ฒ ํ๊ฒฝ ๋ด ๋ณ๋ชฉ์ด ๊ฐ์ฅ ๋ง์ด ๋ฐ์ํ๋ ์ง์ ์ค ํ๋๊ฐ ๋๋ค. ๊ฒฐ๊ตญ WAS - DB ๊ฐ ์๋ต ์๋์ ๊ฐ์ ์ด ์ ์ฒด ์๋ต ์๋์ ๊ฐ์ ์ผ๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฟผ๋ฆฌ์ ๊ฐ์ ์ ์ด๋ฃจ์ด๋ด๋ ๊ฒ์ ๋ชน์ ์ค์ํ๋ค. ์ฌ๊ธฐ๊น์ง ์ค๊ณ ๋๋ฉด ๊ฐ์ ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์ดํด๊ฐ ๋๋๋ฐ, ์ฟผ๋ฆฌ ์์ ์ ํตํด ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์๋์ง ํ๋จํ๋ ๊ธฐ์ค์ ๋ฌด์์ผ๋ก ์ผ์์ผํ ๊น? ๋ฌผ๋ก ํด๋ผ์ด์ธํธ ์ธก์์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํด ์๋ต ์๋๊ฐ ์ด๋ป๊ฒ ๋ณํํ๋์ง..
2023.11.11 -
Link Layer (in TCP/IP 4 Layers)
2023.04.13 - [Network/Network ์คํฐ๋] - Application Layer (in TCP/IP 4 Layers) 2023.04.29 - [Network/Network ์คํฐ๋] - Transport Layer (in TCP/IP 4 Layers) 2023.05.11 - [Network/Network ์คํฐ๋] - Network Layer (in TCP/IP 4 Layers) Application Layer (in TCP/IP 4 Layers) ํ๋ ์ฌํ์์ ํน์ ์ฌ์ฉ์์ ์ปดํจํฐ๋ฅผ ํตํด ์ง๊ตฌ ๋ฐ๋ํธ์ ์ฌ์ฉ์์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ผ์ด ์ ํ ์ด๋ ต์ง ์์ ์ผ์ด๋ค. ์ด๋ฅผ ๊ฐ๋ฅ์ผ ํด์ฃผ๋ ๊ฒ์ด ๋คํธ์ํฌ์ธ๋ฐ, ๋คํธ์ํฌ๋ ํธ์์ ๋ฐ๋ผ ํฌ๊ฒ one-armed-boy.tistory.com Transpo..
2023.05.31