๐กCS/Database4 [Database] ์ธ๋ฑ์ค (Index) ์ธ๋ฑ์ค๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๊ฒ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ (ํน์ ์ปฌ๋ผ์ ๋ณต์ฌํด์ ์ ๋ ฌํด ๋๋ค!) ex) ์ฐ๋ฆฌ๊ฐ ์ฑ ์์ ์ํ๋ ๋ด์ฉ์ ์ฐพ๋๋ค๊ณ ํ๋ฉด, ์ฑ ์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ฐพ์๋ณด๋ ๊ฒ์ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฑ ์ ์ ์๋ค์ ๋ณดํต ์ฑ ์ ๋งจ ๋ค์ ์์ธ์ ์ถ๊ฐํ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ index๋ ์ฑ ์ ์์ธ๊ณผ ๊ฐ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ฉด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ์ ์ฃผ์๋ฅผ ํฌํจํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์์ฑํ์ฌ ๋น ๋ฅด๊ฒ ์กฐํํ ์ ์๋๋ก ๋๋๋ค. ์ธ๋ฑ์ค์ ๊ด๋ฆฌ DBMS๋ index๋ฅผ ํญ์ ์ต์ ์ ์ ๋ ฌ๋ ์ํ๋ก ์ ์งํด์ผ ์ํ๋ ๊ฐ์ ๋น ๋ฅด๊ฒ ํ์ํ ์ ์๋ค. ๋ฐ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์ ์ฉ๋ ์ปฌ๋ผ์ INSERT, UPDATE, DELETE๊ฐ ์ํ๋๋ค๋ฉด, ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ.. 2023. 6. 16. [Database] ํธ๋์ ์ (Transaction) ํธ๋์ ์ ์ด๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ๋ชจ๋ ์ํ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ๋ค ํธ๋์ ์ ์ ์ฑ์ง (ACID) Atomicity (์์์ฑ) - All or Nothing - ํธ๋์ญ์ ์ "์ ๋ถ ์ฑ๊ณต"ํ๊ฑฐ๋ "์ ๋ถ ์คํจ"ํ๋ ์์์ ์ธ ๋จ์๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค. - ํ๋์ ํธ๋์ญ์ ๋ด์์ ์ํ๋๋ ๋ชจ๋ ์ฐ์ฐ์ ๋ชจ๋ ์ฑ๊ณตํด์ผ๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๊ฐ ๋ณ๊ฒฝ๋๊ณ , ์ด๋ ํ๋๋ผ๋ ์คํจํ๋ ๊ฒฝ์ฐ ์ด์ ์ํ๋ก ๋กค๋ฐฑ(ํธ๋์ ์ ์ ๋ถ ์ทจ์)๋๋ค. Consistency (์ผ๊ด์ฑ) - ํธ๋์ญ์ ์ํ ์ ๊ณผ ์ํ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋์ผํ ๊ท์น๊ณผ ์ ์ฝ์กฐ๊ฑด์ ๋ฐ๋ฅด๋ฉฐ, ๋ฐ์ดํฐ ๊ฐ์ ์ผ์น์ฑ์ด ์ ์งํด์ผ ํ๋ค. ex) ์ํ ์ก๊ธ ๊ธฐ๋ฅ์์ ํธ๋์ ์ ์ํ ์ด์ ์ ์ก๊ธ์์ ์๊ธ์์ ์์ฑ ํฉ์ด.. 2023. 6. 16. [Database] ์ ๊ทํ(Normalization) ์ ๊ทํ๋? Attribute ๊ฐ์ ์ข ์์ฑ์ผ๋ก ์ธํ ์ด์ํ์์ด ๋ฐ์ํ๋ ๋ฆด๋ ์ด์ ์ ๋ถํดํ์ฌ ์ฌ๋์์ธํจ์ผ๋ก์จ ์ด์ํ์์ ์์ ๋ ๊ณผ์ ๋ฐ์ดํฐ์ ์ค๋ณต ๋ฐฉ์ง, ๋ฌด๊ฒฐ์ฑ์ ์ถฉ์กฑํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ ์ ๊ทํ๊ฐ ์๊ฒจ๋ ๋ฐฐ๊ฒฝ ํ ๋ฆด๋ ์ด์ (Relation)์ ์ฌ๋ฌ ์ํฐํฐ์ ์์ฑ์ ํผํฉํ๋ฉด ์ ๋ณด๊ฐ ์ค๋ณต ์ ์ฅ๋๋ฉฐ ์ ์ฅ ๊ณต๊ฐ์ ๋ญ๋นํ๊ฒ ๋๋ค. ๋ ์ค๋ณต๋ ์ ๋ณด๋ก ์ธํด '์ด์ ํ์'์ด ๋ฐ์ํ๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๊ทํ ๊ณผ์ ์ ๊ฑฐ์น๋ ๊ฒ์ด๋ค. ์ ๊ทํ์ 3๊ฐ์ง ์์น - ์ ๋ณด์ ๋ฌด์์ค : ๋ถํด๋ ๋ฆด๋ ์ด์ ์ด ํํํ๋ ์ ๋ณด๋ ๋ถํด๋๊ธฐ ์ ์ ์ ๋ณด๋ฅผ ๋ชจ๋ ํฌํจํด์ผ ํ๋ค. - ์ต์ ๋ฐ์ดํฐ ์ค๋ณต : ์ด์ ํ์์ ์ ๊ฑฐ, ๋ฐ์ดํฐ ์ค๋ณต์ ์ต์ํ - ๋ถ๋ฆฌ์ ์์น : ํ๋์ ๋ ๋ฆฝ๋ ๊ด๊ณ์ฑ์ ํ๋์ ๋ ๋ฆฝ๋ ๋ฆด๋ ์ด์ ์ผ๋ก ๋ถ๋ฆฌํด.. 2023. 6. 16. ์ปค๋ฅ์ ํ(Connection Pool)์ด๋? DBCP (Database Connection Pool)์ด๋? ๋ฌธ์ ์ํฉ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด๋์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์, ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ Connection์ด ์์ฑ๋๋ค๋ฉด ์๋ง์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ์ ๋ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ๋ฏธ๋ฆฌ ์ผ์ ๊ฐ์์ Connection์ ๋ง๋ค์ด Pool์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์์ ์์ฒญ์ด ๋ฐ์ํ๋ฉด Connection์ ์ ๊ณตํ๊ณ ์ฌ์ฉ์์์ ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋๋ค๋ฉด Pool์ ๋ค์ ๋ฐํํ์ฌ ๋ณด๊ดํ๋ ๊ฒ Connection Pool - ์ฌ๋ฌ DB Connection์ ํ๋์ Pool์ ๋ชจ์ ๊ด๋ฆฌ - DB Connection ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ ํ Pool์ ๋ณด๊ดํ๊ณ ํ์ํ ๋ ๋ถ๋ฌ์์ ์ฌ์ฉ - ๋น๋ ค์ค ์ ์๋ Connection์ด ์๋ค๋ฉด Connection ๊ฐ์ฒด๊ฐ ๋ฐํ๋ ๋๊น์ง ํด๋ผ.. 2023. 4. 5. ์ด์ 1 ๋ค์