์ฑํฐ1 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ๐
ํธ๋์ญ์ : ์ธ๊ฐ๋ฐ์ง ์์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด DBMS๊ฐ ๊ฐ์ ธ์ผ ํ๋ ํน์ฑ์ด์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์ํํ๊ธฐ ์ํ ์์ ์ ๊ธฐ๋ณธ๋จ์์ด๋ค.
ํธ๋์ญ์ ์ ํน์ฑ: ACID
1) ์์์ฑ(Atomicity) : ํธ๋์ญ์ ์ ๊ตฌ์ฑํ๋ ์ฐ์ฐ ์ ์ฒด๊ฐ ๋ชจ๋ ์ ์์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ๋ชจ๋ ์ทจ์๋์ด์ผ ํ๋ ์ฑ์ง
2) ์ผ๊ด์ฑ(Consistency): ์์คํ ์ด ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ์์ ํธ๋์ญ์ ์ํ ์ ๊ณผ ํธ๋์ญ์ ์ํ์๋ฃํ์ ์ํ๊ฐ ๊ฐ์์ผํ๋ ์ฑ์ง
3) ๊ฒฉ๋ฆฌ์ฑ=๊ณ ๋ฆฝ์ฑ(Isolation): ๋์์ ์คํ๋๋ ํธ๋์ญ์ ๋ค์ด ์๋ก ์ํฅ์ ๋ฏธ์น์ง ์์์ผ ํ๋ค๋ ์ฑ์ง
4) ์์์ฑ(Durability): ์ฑ๊ณต์ด ์๋ฃ๋ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ ์์์ ์ผ๋ก ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด์ผ ํ๋ ์ฑ์ง.
ํธ๋์ญ์ ์ ์ํ
ํ๋-๋ถ๋ถ์๋ฃ-์๋ฃ-์คํจ-์ฒ ํ์ํ
TCL(transaction control language) : ํธ๋์ญ์ ์ ์ด ์ธ์ด
: ์ปค๋ฐ/๋กค๋ฐฑ/์ฒดํฌํฌ์ธํธ
๋ณํ์ ์ด : ๋ณํ์ ์ด๋ ๋ค์ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์ฌ๋ฌ ํธ๋์ญ์ ์ ์ํํ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ๊ด์ฑ์ ์ ์ง๋ฅผ ์ํด ์ํธ ์์ฉ์ ์ ์ดํ๋ ๊ธฐ๋ฒ์ด๋ค.
๋ณํ์ ์ด ๋ฏธ๋ณด์ฅ์ ๋ฌธ์ ์
1) ๊ฐฑ์ ์์ค : ๋จผ์ ์คํ๋ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ค์ ์คํ๋ ํธ๋์ญ์ ์ด ๋ฎ์ด์ธ๋ ๋ฐ์ํ๋ ์ค๋ฅ
2) ํํฉ ํ์ ์ค๋ฅ: ํธ๋์ญ์ ์ ์ค๊ฐ ์ํ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ฐธ์กฐํ์ฌ ๋ฐ์ํ๋ ์ค๋ฅ
3) ๋ชจ์์ฑ: ๋ ํธ๋์ญ์ ์ด ๋์์ ์คํ๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ์ด ๊ฒฐ์ฌ๋๋ ์ค๋ฅ
4) ์ฐ์๋ณต๊ท: ๋ณต์์ ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ ๊ณต์ ์ ํน์ ํธ๋์ญ์ ์ด ์ฒ๋ฆฌ๋ฅผ ์ทจ์ํ ๊ฒฝ์ฐ ํธ๋์ญ์ ์ด ์ฒ๋ฆฌํ๊ณณ์ ๋ถ๋ถ์ ์ทจ์ํ์ง ๋ชปํ๋ ์ค๋ฅ.
๋ณํ์ ์ด๊ธฐ๋ฒ์ ์ข ๋ฅ: ๋กํน, ํ์ ์คํฌํ ์์
ํ๋ณต ๊ธฐ๋ฒ ์ข ๋ฅ
1) ๋ก๊ทธ ๊ธฐ๋ฐ ํ๋ณต ๊ธฐ๋ฒ
2) ์ฒดํฌ ํฌ์ธํธ ํ๋ณต ๊ธฐ๋ฒ
3) ๊ทธ๋ฆผ์ ํ์ด์ง ํ๋ณต ๊ธฐ๋ฒ
DDL ๋์
๋๋ฉ์ธ: ํ๋์ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ์์๊ฐ๋ค์ ์งํฉ/ ์์ฑ์ ๋ฐ์ดํฐ ํ์ ๊ณผ ํฌ๊ธฐ, ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ์ ๋ณด
์คํค๋ง: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ, ์ ์ฝ์กฐ๊ฑด๋ฑ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ธฐ๋ณธ์ ์ธ๊ตฌ์กฐ (์ธ๋ถ/๊ฐ๋ /๋ด๋ถ)3๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ
ํ ์ด๋ธ: ๋ฐ์ดํฐ ์ ์ฅ๊ณต๊ฐ
๋ทฐ: ํ๋ ์ด์์ด ๋ฌผ๋ฆฌ ํ ์ด๋ธ์์ ์ ๋๋๋ ๊ฐ์์ ํ ์ด๋ธ
์ธ๋ฑ์ค: ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ.
์กฐ์ธ: ๊ฒฐํฉ์ ์๋ฏธํ๋ฉฐ, ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์์์ ์กฐ์ธ์ ๊ต์งํฉ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๋ ๊ฒฐํฉ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ ๊ตฌ์กฐ
1) ์์ฐจ ๋ฐฉ๋ฒ: ๋ ์ฝ๋ค์ ๋ฌผ๋ฆฌ์ ์์๊ฐ ๋ ์ฝ๋๋ค์ ๋ ผ๋ฆฌ์ ์์์ ๊ฐ๊ฒ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ๋ฒ
2) ์ธ๋ฑ์ค ๋ฐฉ๋ฒ: ์ธ๋ฑ์ค๊ฐ ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ฅผ ๋ฐ๋ผ ์ํ๋ ๋ ์ฝ๋์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ
3) ํด์ฑ ๋ฐฉ๋ฒ: ํค ๊ฐ์ ํด์ ํจ์์ ๋์ ์์ผ ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ์๋ก ์ฌ์ฉํ์ฌ ๋ ์ฝ๋์ ์ ๊ทผํ ์ ์๊ฒํ๋ ๋ฐฉ๋ฒ
๋ณต์ต๐
1. c++, ์๋ฐ์์๋ ์ฐธ์ผ ๊ฒฝ์ฐ (true)๋ก, ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ (false)๋ก ํํํ๋ค.
2. c++์์ ๋ฌธ์ ํ๋๋ฅผ ์ ์ฅํ๊ณ ์ ํ ๋ ๋ฐ์ดํฐ ํ์ ์ ์ธ์ (char)๋ผ๊ณ ํ๋ค.
3. (๋ฐ์ดํฐํ์ )๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ค์์น, ์ ์ ์๋ฃํ๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๋ ํ์ ์ด๋ค.
4. c์ธ์ด์์ double์ (์ค์)๊ฐ์ ์ ์ฅํ ๋ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ํ์ ์ด๋ค.
5. (๋ณ์)๋ ์ ์ฅํ๊ณ ์ ํ๋ ์ด๋ ํ ๊ฐ์ด ์์๋ ๊ทธ ๊ฐ์ ์ฃผ๊ธฐ์ต ์ฅ์น์ ๊ธฐ์ตํ๊ธฐ ์ํ ๊ณต๊ฐ์ด๋ค.
๊ธฐ์ถ๋ฌธ์ ๐
1. ํธ๋์ญ์ ์ด ํน์ฑ ์ค ์ผ๊ด์ฑ, ์ง์์ฑ ์ธ 2๊ฐ์ ํน์ฑ์ ์ฐ์์ค.
1) ์์์ฑ : ํ๋๋ผ๋ ์คํจํ ๊ฒฝ์ฐ ์ ์ฒด๊ฐ ์ทจ์๋์ด์ผ ํ๋ ํน์ฑ 2) ๊ณ ๋ฆฝ์ฑ : ํธ๋์ญ์ ์คํ ์ค ์์ฑํ๋ ์ฐ์ฐ์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผ ๋ถ๊ฐํ ํน์ฑ์ด๋ค.
2. ํธ๋์ญ์ ์์์ฑ์ ๋ํ์ฌ ์ค๋ช ํ์์ค.- ํธ๋์ญ์ ์ ๊ตฌ์ฑํ๋ ์ฐ์ฐ ์ ์ฒด๊ฐ ๋ชจ๋ ์ ์์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ๋ชจ๋ ์ทจ์๋์ด์ผ ํ๋ ์ฑ์ง์ด๋ค.- ์์์ฑ์ ํธ๋์ญ์ ์ด ์ฐ์ฐ ์ ์ฒด๊ฐ ์ฑ๊ณต ๋๋ ์คํจ๋์ด์ผ ํ๋ ์ฑ์ง์ด๋ค.
3. ํธ๋์ญ์ Rollback์ ๋ํด ์ค๋ช ํ์์ค.-ํธ๋ ์ญ์ ์ฒ๋ฆฌ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ ์ค๋ฅ ์ด์ ์ ํน์ ์์ (SAVEPOINT , CHECKPOINT) ์ํ๋ก ๋๋กค๋ ค์ฃผ๋ ์ ์ด์ด(๋ช ๋ น์ด) ์ด๋ค
4. ์ฌ์ ํ ์ด๋ธ์ด '์ฌ๋ฒ' ์ปฌ๋ผ์ ๋ํด '์ฌ๋ฒ์ธ๋ฑ์ค'๋ผ๋ ์ธ๋ฑ์ค ๋ช ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ์ ํ๋ค.
์๋ง์ ์ฟผ๋ฆฌ๋ฅผ ์ฐ์์ค.
CREATE INDEX ์ฌ๋ฒ์ธ๋ฑ์ค ON ์ฌ์(์ฌ๋ฒ);
'์๊ฒฉ์ฆ๐ชช > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2020๋ ์ 1ํ ๊ธฐ์ถ ๋ฌธ์ (2) | 2022.05.02 |
---|---|
์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ (๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ, ๊ณตํต ๋ชจ๋ ๊ตฌํ) (1) | 2022.04.30 |
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ_ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ4๐ (2) | 2022.04.02 |
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ_ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ3๐ (1) | 2022.04.02 |
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ_ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ2๐ (0) | 2022.03.31 |