๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

by 5566 2023. 10. 1.

1. ํŠธ๋žœ์žญ์…˜์˜ ๊ฐœ๋…

ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์˜ ์ž‘์—…์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ์‚ฐ๋“ค๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ๋“ค์€ ๋ณดํ†ต ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์™„์ „ํžˆ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜์€ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ๋“ค์„ ํ•œ๊บผ๋ฒˆ์— ๋ฌถ์–ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…๋“ค์€ ๋ชจ๋‘ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ๋ชจ๋‘ ์‹คํŒจํ•˜๋Š” ์›์ž์„ฑ(Atomicity)์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ž‘์—… ์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ด์œ ๋กœ ์ž‘์—…์„ ์ค‘๋‹จ์‹œํ‚ค๋ฉด ์ด์ „ ์ƒํƒœ๋กœ ๋ณต์›๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ์˜ˆ์‹œ๋กœ ์€ํ–‰ ์†ก๊ธˆ์„ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์†ก๊ธˆ ์ž‘์—…์€ ๋ณด๋‚ด๋Š” ์ชฝ์—์„œ ์†ก๊ธˆ์•ก์„ ๊ฐ์†Œ์‹œํ‚ค๊ณ , ๋ฐ›๋Š” ์ชฝ์—์„œ๋Š” ์ž…๊ธˆ์•ก์„ ์ฆ๊ฐ€์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‘ ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์œผ๋ฉด, ์†ก๊ธˆ์ด ์‹คํŒจํ•˜๋ฉด ์ž…๊ธˆ๋„ ์›๋ž˜ ์ƒํƒœ๋กœ ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์†ก๊ธˆ๊ณผ ์ž…๊ธˆ์€ ํ•จ๊ป˜ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด์ „ ์ƒํƒœ๋กœ ๋กค๋ฐฑ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์œผ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ•ญ๋ชฉ์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2. ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ

ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •ํ™•ํ•˜๊ณ  ์•ˆ์ „ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

2.1 ์›์ž์„ฑ (Atomicity)

ํŠธ๋žœ์žญ์…˜์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํŠน์„ฑ ์ค‘ ํ•˜๋‚˜๋Š” ์›์ž์„ฑ์ž…๋‹ˆ๋‹ค. ์›์ž์„ฑ์€ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ๋ชจ๋‘ ์‹คํŒจํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ์–ด๋– ํ•œ ์—ฐ์‚ฐ์ด๋ผ๋„ ์‹คํŒจํ•˜๋ฉด, ํŠธ๋žœ์žญ์…˜์€ ์ทจ์†Œ๋˜๊ณ  ์ด์ „ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋ชจ๋“  ์—ฐ์‚ฐ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋  ๊ฒฝ์šฐ์—๋งŒ, ํŠธ๋žœ์žญ์…˜์€ ์ปค๋ฐ‹๋˜์–ด ์˜๊ตฌ์ ์ด๊ณ  ์ผ๊ด€๋œ ์ƒํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

2.2 ์ผ๊ด€์„ฑ (Consistency)

ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ์€ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ฌ ๋•Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ •์˜๋œ ์ œ์•ฝ ์กฐ๊ฑด์„ ํ•ญ์ƒ ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด์„œ, ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋œ ํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์–ด๋– ํ•œ ๋ฌด๊ฒฐ์„ฑ ๊ทœ์น™๋„ ์œ„๋ฐ˜ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋– ํ•œ ์กฐ์น˜๋„ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2.3 ๊ฒฉ๋ฆฌ์„ฑ (Isolation)

Isolation (or Isolation Level)์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ, ๊ฐ ํŠธ๋žœ์žญ์…˜์ด ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š๊ณ  ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๋ณ‘ํ–‰ ์ œ์–ด(Concurrency Control) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ๊ฒฉ๋ฆฌ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

2.4 ์ง€์†์„ฑ (Durability)

์ง€์†์„ฑ์€ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋œ ์ดํ›„์—๋„ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์œ ์ง€๋˜์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์‹œ์Šคํ…œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์ด ๋‹ค์‹œ ์‹œ์ž‘๋˜์–ด๋„ ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋Š” ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋Š” ๋กœ๊ทธ ํŒŒ์ผ ๋“ฑ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์˜๊ตฌ ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์„ฑ๋“ค์€ ACID (์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ฒฉ๋ฆฌ์„ฑ, ์ง€์†์„ฑ) ์†์„ฑ์ด๋ผ๊ณ ๋„ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ•ญ๋ชฉ์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ACID ์†์„ฑ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

3. ํŠธ๋žœ์žญ์…˜์˜ ACID ์†์„ฑ

ํŠธ๋žœ์žญ์…˜์˜ ACID ์†์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์•ˆ์ „ํ•˜๊ณ  ์ผ๊ด€๋œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ์†์„ฑ๋“ค์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค:

3.1 ์›์ž์„ฑ (Atomicity)

์›์ž์„ฑ์€ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ๋ชจ๋‘ ์‹คํŒจํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์„ ์ด๋ฃจ๋Š” ๋ชจ๋“  ์ž‘์—…์€ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ, ์–ด๋–ค ํ•˜์œ„ ์—ฐ์‚ฐ์ด ์‹คํŒจํ•˜๋”๋ผ๋„ ํŠธ๋žœ์žญ์…˜์€ ๋กค๋ฐฑ๋˜์–ด ์ด์ „ ์ƒํƒœ๋กœ ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.2 ์ผ๊ด€์„ฑ (Consistency)

ํŠธ๋žœ์žญ์…˜์˜ ์ผ๊ด€์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ฌ ๋•Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ •์˜๋œ ์ œ์•ฝ ์กฐ๊ฑด์„ ํ•ญ์ƒ ๋งŒ์กฑํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธˆ์•ก์ด ์Œ์ˆ˜๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋“ฑ์˜ ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ํ›„ ์ด๋Ÿฌํ•œ ์ œ์•ฝ ์กฐ๊ฑด์ด ๊ณ„์† ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜์€ ์–ด๋– ํ•œ ์กฐ์น˜๋„ ์ทจํ•ด์•ผ ํ•˜๋ฉฐ, ์ผ๋ถ€ ์—ฐ์‚ฐ์ด ์‹คํŒจํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜์€ ๋กค๋ฐฑ๋˜์–ด ์ด์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

3.3 ๊ฒฉ๋ฆฌ์„ฑ (Isolation)

๊ฒฉ๋ฆฌ์„ฑ์€ ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ์ƒํ˜ธ ๊ฐ„์„ญ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์†์„ฑ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ, ๊ฐ ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ์„ฑ์€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ๊ฐ„์„ญ์„ ๋ฐฉ์ง€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ , ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ณ‘ํ–‰ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€(Isolation Level)์„ ํ†ตํ•ด ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ๊ฒฉ๋ฆฌ ์ •๋„๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.4 ์ง€์†์„ฑ (Durability)

์ง€์†์„ฑ์€ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋œ ์ดํ›„์—๋„ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ ์žฅ์• ๋‚˜ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๊ฐ€ ์œ ์ง€๋˜์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ์ด๋Ÿฌํ•œ ์ง€์†์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ํŒŒ์ผ ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ACID ์†์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ํŠธ๋žœ์žญ์…˜์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋˜๊ณ  ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜์€ ์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ฒฉ๋ฆฌ์„ฑ, ์ง€์†์„ฑ์„ ํ•จ๊ป˜ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

4. ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€

ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€(Isolation Level)์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ, ๊ฐ ํŠธ๋žœ์žญ์…˜์ด ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š๊ณ  ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๋™์‹œ์„ฑ ์ œ์–ด์˜ ๋‹จ๊ณ„๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ํŠธ๋žœ์žญ์…˜ ๊ฐ„์— ์–ด๋–ค ์ˆ˜์ค€์˜ ๊ฒฉ๋ฆฌ๊ฐ€ ๋ณด์žฅ๋˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„ค ๊ฐ€์ง€์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

4.1 READ UNCOMMITTED (๋ฏธํ™•์ธ ์ฝ๊ธฐ)

READ UNCOMMITTED ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ์ด ์ˆ˜์ค€์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ณ€๊ฒฝ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ์•„์ง ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ์ฝ๊ธฐ์— ๋Œ€ํ•œ ์ œ์•ฝ์„ ๊ฑฐ์˜ ๋‘์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— DIRTY READ (๋ถˆ์™„์ „ํ•œ ์ฝ๊ธฐ) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4.2 READ COMMITTED (ํ™•์ธ ์ฝ๊ธฐ)

READ COMMITTED ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์ˆ˜์ค€์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ณ€๊ฒฝ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹๋œ ๋ฐ์ดํ„ฐ๋งŒ ์ฝ๊ฒŒ ๋˜๋ฏ€๋กœ DIRTY READ ๋ฌธ์ œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ, NON-REPEATABLE READ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ•œ ํŠธ๋žœ์žญ์…˜์—์„œ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•  ๋•Œ, ๊ฒฐ๊ณผ๊ฐ€ ์ผ๊ด€์„ฑ ์—†์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4.3 REPEATABLE READ (๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์ฝ๊ธฐ)

REPEATABLE READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ํ•œ ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•จ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜์€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณ€๊ฒฝ ์ž‘์—…์— ๋Œ€ํ•œ ์ฝ๊ธฐ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ DIRTY READ์™€ NON-REPEATABLE READ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, PHANTOM READ ๋ฌธ์ œ๋Š” ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PHANTOM READ๋ž€, ๋™์ผํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ƒˆ๋กœ์šด ํ–‰์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

4.4 SERIALIZABLE (์ง๋ ฌํ™” ๊ฐ€๋Šฅ)

SERIALIZABLE ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ์ด ์ˆ˜์ค€์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜ ๊ฐ„์— ์™„์ „ํ•œ ๊ฒฉ๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋ฉฐ, DIRTY READ, NON-REPEATABLE READ, PHANTOM READ ๋“ฑ ์–ด๋– ํ•œ ๋ฌธ์ œ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜์€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์ด ์™„์ „ํžˆ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. SERIALIZABLE ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๋™์‹œ์„ฑ์„ ํฌ์ƒํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ฐ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ํŠธ๋žœ์žญ์…˜์˜ ๋™์‹œ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์‚ฌ์ด์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋‚ฎ์€ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๋™์‹œ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋†’์€ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜์ง€๋งŒ ๋™์‹œ์„ฑ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์„ฑ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์‚ฌ์ด์—์„œ ์ ์ ˆํ•œ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

5. ํŠธ๋žœ์žญ์…˜์˜ ๊ด€๋ฆฌ์™€ ๋ณ‘ํ–‰ ์ œ์–ด

ํŠธ๋žœ์žญ์…˜์˜ ๊ด€๋ฆฌ์™€ ๋ณ‘ํ–‰ ์ œ์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ํŠธ๋žœ์žญ์…˜์„ ์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์˜ ์ผ๊ด€์„ฑ๊ณผ ๊ฒฉ๋ฆฌ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž‘์—…๋“ค์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๊ณผ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

5.1 ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ

ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์‹œ์ž‘, ์ข…๋ฃŒ, ์ปค๋ฐ‹, ๋กค๋ฐฑ ๋“ฑ์˜ ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ์‹œ์ž‘๋˜์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ์ปค๋ฐ‹๋˜์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋žœ์žญ์…˜์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์ทจ์†Œ๋˜์–ด์•ผ ํ•  ๊ฒฝ์šฐ์—๋Š” ๋กค๋ฐฑ๋˜์–ด ์ด์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰๊ณผ ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ๊ฒฉ๋ฆฌ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

5.2 ๋ณ‘ํ–‰ ์ œ์–ด

๋ณ‘ํ–‰ ์ œ์–ด๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ–‰ ์ œ์–ด๋Š” ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ๊ฒฝํ•ฉ ์ƒํ™ฉ์ธ ๋ณ‘ํ–‰ ๋™์‹œ์„ฑ ์ œ์–ด(Concurrency Control)์™€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ๋ณ€๊ฒฝ์— ์˜ํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•˜๋Š” ์ผ๊ด€์„ฑ ์œ ์ง€(Mutual Consistency)๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

5.2.1 ๋ณ‘ํ–‰ ๋™์‹œ์„ฑ ์ œ์–ด

๋ณต์ˆ˜ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๋ณ‘ํ–‰ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ณ‘ํ–‰ ๋™์‹œ์„ฑ ์ œ์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ๊ฐ„์˜ ์—ฐ์‚ฐ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๊ณ , ๊ทธ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ž ๊ธˆ๊ณผ ํ•ด์ œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด DIRTY READ, NON-REPEATABLE READ, PHANTOM READ ๋“ฑ์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋™์‹œ์„ฑ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5.2.2 ์ผ๊ด€์„ฑ ์œ ์ง€

๋ณ‘ํ–‰ ์ œ์–ด๋Š” ์ผ๊ด€์„ฑ ์œ ์ง€๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ๋ณ€๊ฒฝ์— ์˜ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์ด ์ฝ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ์ฝ๋Š” ํŠธ๋žœ์žญ์…˜์€ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์˜ ์ž ๊ธˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋™์‹œ์„ฑ ์ œ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜์˜ ๊ด€๋ฆฌ์™€ ๋ณ‘ํ–‰ ์ œ์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ, ์ปค๋ฐ‹๊ณผ ๋กค๋ฐฑ, ๋™์‹œ์„ฑ ์ œ์–ด์™€ ์ผ๊ด€์„ฑ ์œ ์ง€ ๋“ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ์•ˆ์ „ํ•˜๊ณ  ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€